当前位置: 首页 > wzjs >正文

网站开发前台开发国际新闻消息

网站开发前台开发,国际新闻消息,平湖模板网站建设公司,长沙旅游攻略必玩的景点前置文章: windows通用网线连接ubuntu实现ssh登录、桌面控制、文件共享Ubuntu挂载HDD迁移存储PostgreSQL数据 背景: 启动实体Ubuntu机器后后很大的概率PostgreSQL不会成功启动,查看日志: Ubuntu启动时间: rootPine…

前置文章:

  • windows通用网线连接ubuntu实现ssh登录、桌面控制、文件共享
  • Ubuntu挂载HDD迁移存储PostgreSQL数据

背景:

启动实体Ubuntu机器后后很大的概率PostgreSQL不会成功启动,查看日志:
Ubuntu启动时间:

root@Pine-Tree:~# uptime -s
2025-04-19 09:52:24

查看PostgreSQL运行状态


root@Pine-Tree:~# sudo systemctl status postgresql@15-main
× postgresql@15-main.service - PostgreSQL Cluster 15-mainLoaded: loaded (/lib/systemd/system/postgresql@.service; enabled; vendor preset: enabled)Active: failed (Result: protocol) since Sat 2025-04-19 09:52:26 CST; 15min agoProcess: 700 ExecStart=/usr/bin/pg_ctlcluster --skip-systemctl-redirect 15-main start (code=exited, status=1/FAILURE)CPU: 41ms419 09:52:26 Pine-Tree systemd[1]: Starting PostgreSQL Cluster 15-main...
419 09:52:26 Pine-Tree postgresql@15-main[700]: Error: /mnt/pgdata/main is not accessible or does not exist
419 09:52:26 Pine-Tree systemd[1]: postgresql@15-main.service: Can't open PID file /run/postgresql/15-main.pid (yet?) after start: Operation not permitted
4月 19 09:52:26 Pine-Tree systemd[1]: postgresql@15-main.service: Failed with result 'protocol'.
419 09:52:26 Pine-Tree systemd[1]: Failed to start PostgreSQL Cluster 15-main.

可知在系统启动2秒后就开始尝试启动PostgreSQL了,但是挂载目录/mnt/pgdata/main还无法访问,导致PostgreSQL启动失败。
查询相关资料发现冷启动HDD通过USB3.0连接从开机到系统检测完毕大概需要3-20秒 。

解决思路:

使用systemctl edit调整启动策略

方案一、设置PostgreSQL延迟5秒启动

创建文件夹用于systemctl edit配置
sudo mkdir -p /etc/systemd/system/postgresql@15-main.service.d
新增片段覆盖文件
sudo nano /etc/systemd/system/postgresql@15-main.service.d/override.conf
在打开的编辑器中添加以下内容
[Service]
ExecStartPre=/bin/sleep 5
保存并退出,然后重新加载systemd配置
sudo systemctl daemon-reload
重新启动验证
reboot
确认PostgreSQL运行状况

启动成功:

root@Pine-Tree:~# sudo systemctl status postgresql@15-main
● postgresql@15-main.service - PostgreSQL Cluster 15-mainLoaded: loaded (/lib/systemd/system/postgresql@.service; enabled; vendor preset: enabled)Drop-In: /etc/systemd/system/postgresql@15-main.service.d└─override.confActive: active (running) since Sat 2025-04-19 11:20:15 CST; 2min 14s agoProcess: 814 ExecStartPre=/bin/sleep 5 (code=exited, status=0/SUCCESS)Process: 1440 ExecStart=/usr/bin/pg_ctlcluster --skip-systemctl-redirect 15-main start (code=exited, status=0/SUCCESS)Main PID: 1446 (postgres)

Ubuntu启动时间:

root@Pine-Tree:~# uptime -s
2025-04-19 11:19:56

确认PostgreSQL启动时间,可知延迟启动生效

root@Pine-Tree:~# ps -eo pid,lstart,cmd | grep postgres | grep -v grep1446 Sat Apr 19 11:20:05 2025 /usr/lib/postgresql/15/bin/postgres -D /mnt/pgdata/main -c config_file=/etc/postgresql/15/main/postgresql.conf1483 Sat Apr 19 11:20:08 2025 postgres: 15/main: checkpointer 1484 Sat Apr 19 11:20:08 2025 postgres: 15/main: background writer 1486 Sat Apr 19 11:20:10 2025 postgres: 15/main: walwriter 1487 Sat Apr 19 11:20:10 2025 postgres: 15/main: autovacuum launcher 1488 Sat Apr 19 11:20:10 2025 postgres: 15/main: logical replication launcher 1838 Sat Apr 19 11:22:32 2025 postgres: 15/main: postgres dbname 192.168.125.2(6139) idle

方案二、PostgreSQL开机自启动失败后重试2次(间隔10秒)

修改override.conf
sudo nano /etc/systemd/system/postgresql@15-main.service.d/override.conf

配置调整为:

[Service]
Restart=on-failure
RestartSec=10s
StartLimitBurst=2
保存并退出,然后重新加载systemd配置
sudo systemctl daemon-reload
重新启动验证
reboot
确认PostgreSQL运行状况

启动成功:

root@Pine-Tree:~# sudo systemctl status postgresql@15-main
● postgresql@15-main.service - PostgreSQL Cluster 15-mainLoaded: loaded (/lib/systemd/system/postgresql@.service; enabled; vendor preset: enabled)Drop-In: /etc/systemd/system/postgresql@15-main.service.d└─override.confActive: active (running) since Sat 2025-04-19 12:30:06 CST; 7min agoProcess: 1479 ExecStart=/usr/bin/pg_ctlcluster --skip-systemctl-redirect 15-main start (code=exited, status=0/SUCCESS)Main PID: 1487 (postgres)

Ubuntu启动时间:

root@Pine-Tree:~# uptime -s
2025-04-19 12:29:47

查看PostgreSQL历史启动记录,可知12:29:50s首次启动PostgreSQL失败,10秒过后启动成功:

 root@Pine-Tree:~# sudo journalctl -u postgresql@15-main --no-pager -n 50-- Boot 0ba0937613c14ba8b47c6bb17de28bcd --
419 12:29:50 Pine-Tree systemd[1]: Starting PostgreSQL Cluster 15-main...
419 12:29:50 Pine-Tree postgresql@15-main[794]: Error: /mnt/pgdata/main is not accessible or does not exist
419 12:29:50 Pine-Tree systemd[1]: postgresql@15-main.service: Can't open PID file /run/postgresql/15-main.pid (yet?) after start: Operation not permitted
4月 19 12:29:50 Pine-Tree systemd[1]: postgresql@15-main.service: Failed with result 'protocol'.
419 12:29:50 Pine-Tree systemd[1]: Failed to start PostgreSQL Cluster 15-main.
419 12:30:00 Pine-Tree systemd[1]: postgresql@15-main.service: Scheduled restart job, restart counter is at 1.
419 12:30:00 Pine-Tree systemd[1]: Stopped PostgreSQL Cluster 15-main.
419 12:30:00 Pine-Tree systemd[1]: Starting PostgreSQL Cluster 15-main...
419 12:30:06 Pine-Tree systemd[1]: Started PostgreSQL Cluster 15-main.

方案三、设置PostgreSQL延迟5秒启动同时设置启动失败后重试2次(间隔10秒 )

修改override.conf后重新验证

sudo nano /etc/systemd/system/postgresql@15-main.service.d/override.conf

配置调整为:

[Service]
ExecStartPre=/bin/sleep 5
Restart=on-failure
RestartSec=10s
StartLimitBurst=2
保存并退出,然后重新加载systemd配置

大部分情况下,延迟5秒即可保证启动成功,不会走到重试逻辑

sudo systemctl daemon-reload

问题汇总

sudo systemctl edit postgresql@15-main编辑后保存失败,提示文件不存在

root@Pine-Tree:~# sudo systemctl edit postgresql@15-main
Editing "/etc/systemd/system/postgresql@15-main.service.d/override.conf" canceled: temporary file is empty.

解决措施:
创建文件夹用于systemctl edit配置

sudo mkdir -p /etc/systemd/system/postgresql@15-main.service.d

新增片段覆盖文件,然后编辑

sudo nano /etc/systemd/system/postgresql@15-main.service.d/override.conf
http://www.dtcms.com/wzjs/426731.html

相关文章:

  • 注册商标设计郑州seo服务公司
  • 广州网站建设.com网络营销的渠道有哪些
  • 怎么做网站站内优化媒体:多地新增感染趋势回落
  • 提供网站建设设计外包网站关键词快速优化
  • 苏州建站公司兴田德润简介呢武汉百度开户电话
  • 什么网站可以做任务领赏金西安疫情最新情况
  • seo网站关键词百度新闻首页
  • 网页设计素材网站集百度seo排名优化公司
  • 沈阳网站制作培训谷歌seo网站推广怎么做
  • php购物网站设计代码关键词推广效果
  • 做非物质文化遗产网站的风险seo网站关键词排名提升
  • 网站后台登录怎么做的网站模板图片
  • 新手怎么做网站推广优化设计
  • 云建网站外贸seo推广公司
  • 做网站的主要作用seo人工智能
  • 网络营销推广的岗位职责有哪些石家庄seo外包的公司
  • 白品网站建设百度公司的企业文化
  • 杭州酒店网站设计公司推荐万能浏览器
  • 做决定网站seo推广排名
  • mac做网站改html文件什么搜索引擎搜索最全
  • 上海专业做网站价格nba最新消息
  • 好看欧美视频网站模板下载 迅雷下载地址百度咨询电话 人工
  • 东莞网站开发找谁深圳排名seo
  • 网站建设kaodezhu网络推广方案的基本思路
  • 公司网站名词解释阿里云服务器
  • 计算机应用教程 网站的建设与维护百度搜索关键词排名查询
  • 做网站运营有前景吗兰州网络seo
  • 建网站需要学习什么肥城市区seo关键词排名
  • 房产建设网站摘抄一篇新闻
  • 青岛专业网站制作磁力搜索器下载