关于postgresql的一个奇怪的问题

WO浣熊OW 2014-03-07 05:35:51
我的服务器是RHEL 6.3,安装着PostgreSQL。

我写了几个脚本:启动postgres服务的脚本;
转储脚本(psql -f 文件名 数据库名);
调用这两个脚本的Main脚本

现在我执行Main脚本,先执行启动postgres服务的脚本,紧接着执行转储脚本

可是Main脚本的执行返回结果有error,说是在执行转储脚本时postgres服务没有启动,所以转储失败。

查看postgres服务的状态(pg_ctl status),发现postgres服务是启动的状态,可是为什么在执行转储脚本时提示postgres服务是关闭的状态呢?

难道是postgres服务启动时间较长,在执行转储脚本时它还没完全启动起来,可是我在启动postgres服务脚本中有服务是否启动成功的判断,若是没有启动成功,那么返回结果也应该会有服务没启动的error,没有发生该error说明服务启动成功。

可是为什么在执行转储时提示postgres服务是停止的状态呢?

请哪位高人知道原因,帮帮小妹吧~~~
...全文
84 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
WO浣熊OW 2014-03-10
  • 打赏
  • 举报
回复
谢谢您的指导~~ 分解成两个步骤试试嘛,转储脚本失败就一定是postgres服务没有启动原因吗 ->>是啊,转储脚本执行后返回error信息,说是postgres服务没有启动。 启动postgres服务的脚本没有失败返回,就一定说明postgres服务真正起来了吗 ->>执行启动postgres服务的脚本后,我使用pg_ctl status查看服务状态,证明服务被启动成功。 如果启动postgres服务的脚本执行后,等待一会儿,再执行转储脚本,那么转储脚本会执行成功。也就是说这两个脚本执行的时间间隔变长一些,就不会有问题。 这是什么原因呢?
kenny_hwei 2014-03-08
  • 打赏
  • 举报
回复
分解成两个步骤试试嘛,转储脚本失败就一定是postgres服务没有启动原因吗 启动postgres服务的脚本没有失败返回,就一定说明postgres服务真正起来了吗
WO浣熊OW 2014-03-07
  • 打赏
  • 举报
回复

23,127

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧