暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PG--服务启停

于志君 2024-11-04
157

服务启动和停止的方法分别有两种

  1. 直接运行postgres进程启动----->直接向运行的postgres主进程发送signal信号停止数据库。
  2. 使用pg_ctl命令启动和停止数据库。

直接运行postgres进程启动的命令

postgres -D /var/lib/pgsql/12/data &

使用pg_ctl命令启动数据库

pg_ctl -D /var/lib/pgsql/12/data start

关闭数据库模式,与oracle的关机模式进行对应,方便理解。

Smart shutdown 相当于 oracle的 shutdown normal

Fast shutdown 相当于 oracle的shutdown immediate

immediate shutdown 相当于 oracle的shutdown abort

使用pg_ctl命令,用不同 -m参数指定不同的关机模式

pg_ctl stop -D /var/lib/pgsql/12/data -m smart

pg_ctl stop -D /var/lib/pgsql/12/data -m fast

pg_ctl stop -D /var/lib/pgsql/12/data -m immediate

postgres 加上参数 --single 可以以单用户模式启动,这时postgres不会进入后台服务模式,而是进入交互模式,使用ctr+D 退出交互模式。

有一些场景是需要进入单用户模式操作的,比如修复系统表。

Pg_ctl工具功能使用介绍:

  1. 可以初始化数据库实例。

pg_ctl init[db] [-s] [-D datadir] [-o options]

-s 只打印错误和警告信息,不打印提示信息。

-o options:直接传递给initdb命令的参数,具体可见initdb命令的帮助信息。

2.启动数据库

pg_ctl start [-w] [-t seconds] [-s] [-D datadir] [-l

filename] [-o options] [-p path] [-c]

-w 等待启动完成

-t 等待启动完成的等待秒数,默认60s

-s 只打印错误和警告信息,不打印提示信息。

-l 把服务器日志输出附件在filename文件上,如果该文件不存在,则会自动创建。

-o options:直接传递给postgres 命令的参数,具体可见postgres命令的帮助信息。

-p path 指定postgres可执行文件的位置,默认是与pg_ctl相同的目录,不必使用该选项。

-c 允许数据库实例在发生某些异常时产生一个coredump文件,以便进行问题定位和故障分析。

停止数据库

pg_ctl stop [-W] [-t seconds] [-s] [-D datadir] [-m

s[mart] | f[ast] | i[mmediate] ]

-W:不等的数据库停止,就返回命令。

-m 指定停止模式。

重启数据库

pg_ctl restart [-w] [-t seconds] [-s] [-D datadir] [-c]

[-m s[mart] | f[ast] | i[mmediate] ] [-o options]

重新读取配置文件

pg_ctl reload [-s] [-D datadir]

查询实例状态

pg_ctl status [-D datadir]

给指定的进程发送信号

pg_ctl kill [signal_name] [process_id]

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论