admin管理员组

文章数量:1666730

概要:

初始化、启动、停止或控制PostgreSQL服务器

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

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

  • pg_ctl stop [-W] [-t seconds] [-s] [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ]

  • 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 promote [-s] [-D datadir]

  • pg_ctl kill signal_name process_id

  • pg_ctl register [-N servicename] [-U username] [-P password] [-D datadir] [-S a[uto] | d[emand] ] [-w] [-t seconds] [-s] [-o options]

  • pg_ctl unregister [-N servicename]

参数选项:

  • -c
    –core-file
    通过解除对核心文件的任何软资源限制,尝试允许服务器崩溃在可能的平台上生成核心文件。通过允许从发生故障的服务器进程获取堆栈跟踪,这在调试或诊断问题时非常有用。
    (提高服务器的软限制[ulimit -c],尝试允许数据库实例在有异常时产生一个coredump文件,以便于问题定位和故障分析)

  • -D datadir
    –pgdata datadir
    指定数据库配置文件的文件系统位置。如果省略,则使用环境变量PGD​​ATA。

  • -l filename
    –log filename
    将服务器日志输出附加到filename。如果该文件不存在,则创建该文件。该的umask设置为077,那么访问日志文件默认情况下,不允许给其他用户。

  • -m mode
    –mode mode
    指定关闭模式。mode可以是智能,快速或立即,或这三者中的一个的第一个字母。如果省略,则使用fast。

  • -o options
    指定要直接传递给postgres命令的选项; 附加多个选项调用。
    选项通常应该用单引号或双引号括起来,以确保它们作为一组传递。

  • -o initdb-options
    指定要直接传递给initdb命令的选项。
    选项通常应该用单引号或双引号括起来,以确保它们作为一组传递。

  • -p path
    指定postgres可执行文件的位置。默认情况下,postgres可执行文件来自与pg_ctl相同的目录,或者失败,即硬连线安装目录。没有必要使用此选项,除非您正在做一些不寻常的事情并获得找不到postgres可执行文件的错误。
    在init模式下,此选项类似地指定initdb可执行文件的位置。

  • -s
    –silent
    仅打印错误,不打印任何信息性消息。

  • -t
    –timeout
    等待启动或关闭完成时等待的最大秒数。默认为PGCTLTIMEOUT环境变量的值,如果未设置,则默认为60秒。

  • -V
    –version
    打印pg_ctl版本并退出。

  • -w
    等待启动或关闭完成。等待是关闭的默认选项,但不是启动。等待启动时​​,pg_ctl会反复尝试连接到服务器。等待关闭时,pg_ctl等待服务器删除其PID文件。此选项允许在启动时输入SSL密码。pg_ctl根据启动或关闭成功返回退出代码。

  • -W
    不要等待启动或关闭才能完成。这是启动和重启模式的默认设置。

例子:

启动服务器

  • 启动服务器:

    pg_ctl start
    
  • 等待服务器接受连接然后启动服务器

    pg_ctl -w start
    
  • 使用5433端口启动服务器,并在不运行的情况下运行fsync

    pg_ctl -o "-F -p 5433" start
    

停止服务器

  • 停止服务器
    pg_ctl stop
    
  • -m选项指定如何关闭数据库
    pg_ctl stop -m fast
    

重新启动服务器

  • 重新启动服务器

    pg_ctl restart
    
  • 等待数据库关闭再重新启动

    pg_ctl -w restart
    
  • 使用5433端口并禁用fsync进行重启

    pg_ctl -o "-F -p 5433" restart
    

显示服务器状态
pg_ctl status

本文标签: 参数工具postgresqlpgctl