PostgreSQL pg_ctl 工具

2023年 8月 15日 81.3k 0

pg_ctl 是 PostgreSQL数据库自带的实用工具,具有以下功能:

  1. 初始化PostgreSQL数据库实例
  2. 启动,停止,重启PostgreSQL数据库服务
  3. 查看PostgreSQL数据库服务的状态
  4. 让数据库重新读取配置文件
  5. 将备库提升为主库
  6. 给指定的进程发送信号

Usage:
pg_ctl init[db] [-D DATADIR] [-s] [-o OPTIONS]
pg_ctl start [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s] [-o OPTIONS] [-p PATH] [-c]
pg_ctl stop [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]
pg_ctl restart [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s] [-o OPTIONS] [-c]
pg_ctl reload [-D DATADIR] [-s]
pg_ctl status [-D DATADIR]
pg_ctl promote [-D DATADIR] [-W] [-t SECS] [-s]
pg_ctl kill SIGNALNAME PID

1. 初始化PostgreSQL数据库实例

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

实际调用initdb命令进行数据库实例的初始化。

示例:
pg_ctl init -s -D /data/pg

-s 只打印错误和告警信息,不打印提示性信息
-D datadir,指定数据库实例的数据目录
-o options,直接传递给initdb命令的参数

2. 启动PostgreSQL数据库

pg_ctl start [-w] [-t seconds] [-s] [-D datadir] [-l filename] [-o options] [-p path] [-c]

示例:
pg_ctl start -w -D /data/pg

start,启动数据库实例
-w,等待启动完成
-t,等待启动完成等待的秒数,默认60秒
-s,只打印错误和告警信息,不打印提示性信息
-D datadir,指定数据库实例的数据目录
-l,把服务器日志输出附加在filename文件上
-o options,指定传递给postgres程序的选项
-p path,指定postgres程序位置,默认与pg_ctl同一个目录
-c,提高服务器的软限制(ulimit -c),允许数据库实例异常时产生一个coredump文件,以便于问题的排查与分析

3. 停止PostgreSQL数据库

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

示例:
pg_ctl stop -D /data/pg -m f

-W,不等待数据库停下来就返回
-m,指定停止的模式,可选值s(smart),f(fast),i(immediate)。

4. 重启PostgreSQL数据库

pg_ctl restart [-w] [-t seconds] [-s] [-D datadir] [-c] [-m s|f|i ] [-o options]

示例:
pg_ctl restart -D /data/pg

5. 重新读取配置文件

pg_ctl reload [-s] [-D datadir]

示例:
pg_ctl reload -D /data/pg

在配置文件中改变参数后,需要使用上述命令使参数生效。

6. 查看数据库实例状态

pg_ctl status [-D datadir]

7. 将备库提升为主库

pg_ctl promote  [-D DATADIR] [-W] [-t SECS] [-s]

示例:
pg_ctl promote -D /data/pg

8. 给进程发送信号

pg_ctl kill [signal_name] [process_id]

示例:
pg_ctl kill INT 3900

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论