PostgreSQL 文档检索
PG 18 · 按类别浏览,或输入名称与关键词
分类索引819
host要连接的主机名。 如果主机名看起来像绝对路径名,则指定的是 Unix 域通信,而非 TCP/IP 通信;此值是存放套接字文件的目录名。(在 Unix 上,绝对路径名以斜杠开头。在 Windows 上,也会识别以驱动器号开头的路径。)如果主机名以 @ 开头,则将其视为抽象命名空间中的 Unix 域套接字(目前在 Linux 和 Windows 上支持)。当未指定 host 或其值…连接参数 · 连接目标
hostaddr要连接主机的数值 IP 地址,应使用标准 IPv4 格式,例如 172.28.40.9。机器支持 IPv6 时,也可以使用 IPv6 地址。只要此参数为非空字符串,就始终使用 TCP/IP 通信。未指定此参数时,会解析 host 以取得对应 IP 地址;如果 host 本身是 IP 地址,则直接使用。
连接目标
要连接主机的数值 IP 地址,应使用标准 IPv4 格式,例如 …连接参数 · 连接目标
initdbinitdb — 创建一个新的 PostgreSQL 数据库集簇
服务端程序
initdb [ option ...] [ --pgdata | -D ] directory
手册中的可执行程序 initdb
程序版本 10.23
参考清单 服务端程序
选项定义组 21
手册中的选项
此选项指定 pg_hba.conf 中本地用户使用的默认认证方法( host 和 local…命令行工具 · 服务端程序
initdb --allow-group-access-g--allow-group-access
允许与集簇拥有者同组的用户读取由initdb创建的所有集簇文件。该选项在Windows上会被忽略,因为它不支持 POSIX 风格的组权限。initdb › 选项
initdb --auth-host=authmethod--auth-host=authmethod
该选项指定pg_hba.conf中本地用户通过 TCP/IP 连接时(host 行)使用的认证方法。initdb › 选项
initdb --auth-local=authmethod--auth-local=authmethod
该选项指定pg_hba.conf中本地用户通过 Unix 域套接字连接时(local 行)使用的认证方法。initdb › 选项
initdb --auth=authmethod-A authmethod--auth=authmethod
该选项指定pg_hba.conf中本地用户默认使用的认证方法(host 和 local 行)。有效值概览见第 20.1 节。 initdb会使用指定的认证方法预填充pg_hba.conf 条目,既用于非复制连接,也用于复制连接。 除非信任系统上的所有本地用户,否则不要使用trust。为了便于安装,默认使用trust。initdb › 选项
initdb --builtin-locale=locale--builtin-locale=locale
当使用 builtin 提供程序时,指定区域设置名称。区域设置支持见第 23.1 节。initdb › 选项
initdb --data-checksums-k--data-checksums
对数据页启用校验和,以帮助检测原本会悄无声息发生的、由 I/O 系统导致的损坏。该项默认启用;使用--no-data-checksums可禁用校验和。 启用校验和可能会带来小幅性能损失。如果启用,就会为所有数据库中的所有对象计算校验和。所有校验和失败都会在 pg_stat_database视图中报告。详见第 28.2 节。initdb › 选项
initdb --debug-d--debug
打印引导后端的调试输出,以及少量普通用户通常不感兴趣的其他消息。引导后端是 initdb用来创建系统目录表的程序。该选项会产生大量极其乏味的输出。initdb › 选项
initdb --discard-caches--discard-caches
使用debug_discard_caches=1选项运行引导后端。这会花费很长时间,只对深度调试有用。initdb › 选项
initdb --encoding=encoding-E encoding--encoding=encoding
选择模板数据库的编码。这也将成为以后创建的任何数据库的默认编码,除非在创建时覆盖它。PostgreSQL服务器支持的字符集见第 23.3.1 节。 默认情况下,模板数据库的编码从区域设置派生。如果指定了--no-locale(或者等价地,区域设置为 C 或 POSIX),那么 ICU 提供程序的默认值为 UTF8,而…initdb › 选项
initdb --help-?--help
显示有关initdb命令行参数的帮助并退出。initdb › 选项
initdb --icu-locale=locale--icu-locale=locale
当使用 ICU 提供程序时,指定 ICU 区域设置。区域设置支持见第 23.1 节。initdb › 选项
initdb --icu-rules=rules--icu-rules=rules
指定附加的排序规则,以定制默认排序规则的行为。该选项仅支持 ICU。initdb › 选项
initdb --lc-time=locale--lc-collate=locale--lc-ctype=locale--lc-messages=locale--lc-monetary=locale--lc-numeric=locale--lc-time=locale
类似于--locale,但只在指定的类别中设置区域设置。initdb › 选项
initdb --locale-provider={builtin|libc|icu}--locale-provider={builtin|libc|icu}
该选项设置新集簇中创建的数据库所使用的区域设置提供程序。后续创建新数据库时,可以在CREATE DATABASE命令中覆盖它。默认值为 libc(见第 23.1.4 节)。initdb › 选项
initdb --locale=locale--locale=locale
设置数据库集簇的默认区域设置。如果未指定该选项,区域设置将继承自 initdb运行时所在的环境。区域设置支持见第 23.1 节。 如果--locale-provider为builtin,则必须指定--locale或--builtin-locale,并将其设置为C、C.UTF-8或 PG_UNICODE_FAST。initdb › 选项
initdb --no-clean-n--no-clean
默认情况下,如果initdb发现某个错误使其无法完整创建数据库集簇,就会删除它在发现无法完成任务之前可能已创建的所有文件。该选项会禁止这种清理,因此对调试有用。initdb › 选项
initdb --no-data-checksums--no-data-checksums
不启用数据校验和。initdb › 选项
initdb --no-instructions--no-instructions
默认情况下,initdb会在其输出末尾写出如何启动集簇的说明。该选项会省略这些说明。它主要供那些对initdb进行平台特定封装的工具使用,因为在这种情况下那些说明很可能并不正确。initdb › 选项
initdb --no-locale--no-locale
等价于--locale=C。initdb › 选项
initdb --no-sync-N--no-sync
默认情况下,initdb会等待所有文件都安全写入磁盘。该选项使 initdb在不等待的情况下返回,速度更快,但这意味着如果后续操作系统崩溃,数据目录可能会损坏。通常,该选项适用于测试,但不应用于创建生产环境安装。initdb › 选项
initdb --no-sync-data-files--no-sync-data-files
默认情况下,initdb会将所有数据库文件安全地写入磁盘。该选项指示initdb跳过同步各个数据库目录中的所有文件、这些数据库目录本身以及表空间目录,也就是base子目录中的所有内容和任何其他表空间目录。其他文件,例如pg_wal和pg_xact中的文件,仍会被同步,除非也指定了--no-sync。 请注意,如果--no-sync-da…initdb › 选项
initdb --pgdata=directory-D directory--pgdata=directory
该选项指定数据库集簇应存放的目录。这是initdb所需的唯一信息,但也可以通过设置PGDATA环境变量来省去显式写出它;这通常更方便,因为数据库服务器(postgres)之后也可以通过同一变量找到数据目录。initdb › 选项
initdb --pwfile=filename--pwfile=filename
使initdb从文件中读取引导超级用户的密码。文件的第一行会被当作密码。initdb › 选项
initdb --pwprompt-W--pwprompt
使initdb提示输入要赋给引导超级用户的密码。如果不打算使用密码认证,这一点并不重要。否则,在设置密码之前将无法使用密码认证。initdb › 选项
initdb --set name=value-c name=value--set name=value
在initdb期间,强制将服务器参数name 设为value,并把该设置写入生成的 postgresql.conf文件,以便在今后的服务器运行中生效。该选项可指定多次,以设置多个参数。它主要用于默认参数下服务器根本无法启动的环境。initdb › 选项
initdb --show-s--show
显示内部设置并退出,不执行其他操作。可用于调试initdb的安装。initdb › 选项
initdb --sync-method=method--sync-method=method
设为fsync(默认值)时,initdb会递归打开并同步数据目录中的所有文件。查找文件时会跟随 WAL 目录和每个已配置表空间的符号链接。 在 Linux 上,也可以改用syncfs,请求操作系统同步包含数据目录、WAL 文件以及每个表空间的整个文件系统。使用syncfs时需注意的事项见recovery_init_sync_method…initdb › 选项
initdb --sync-only-S--sync-only
将所有数据库文件安全地写入磁盘并退出。这不会执行任何常规的 initdb操作。通常,该选项可用于在将fsync从off改为on后,确保能够可靠恢复。initdb › 选项
initdb --text-search-config=config-T config--text-search-config=config
设置默认文本检索配置。更多信息见default_text_search_config。initdb › 选项
initdb --username=username-U username--username=username
设置引导超级用户的用户名。默认值是运行initdb的操作系统用户名。initdb › 选项
initdb --version-V--version
打印initdb版本并退出。initdb › 选项
initdb --wal-segsize=size--wal-segsize=size
设置WAL 段大小,单位为兆字节。这是 WAL 日志中每个单独文件的大小。默认大小为 16 兆字节。该值必须是 1 到 1024(兆字节)之间的 2 的幂。此选项只能在初始化期间设置,以后不能更改。 调整该大小可能有助于控制 WAL 日志传送或归档的粒度。此外,在 WAL 量很大的数据库中,每个目录中的 WAL 文件数量可能会成为性能和管理…initdb › 选项
initdb --waldir=directory-X directory--waldir=directory
该选项指定预写式日志(WAL)应存放的目录。initdb › 选项
initdb -L directory-L directory
指定initdb初始化数据库集簇时应到哪里查找其输入文件。通常不需要这样做。若需要显式指定其位置,系统会提示。initdb › 选项
keepalives控制是否使用客户端 TCP 保活。默认值为 1,即启用;不需要保活时可改为 0,即禁用。通过 Unix 域套接字连接时,此参数被忽略。
超时与保活
keepalives
客户端库 libpq 10.23
手册定义 手册已记载
源码中的环境变量回退 选项表中未声明
编译时回退表达式 NULL
默认值解析与服务文件优先级
以下环境变量可用于选择连接参数的默认值,供 PQconne…连接参数 · 超时与保活
keepalives_count控制允许丢失多少个 TCP 保活探测,之后才将客户端到服务器的连接视为失效。零表示使用系统默认值。通过 Unix 域套接字连接或禁用保活时,此参数被忽略。仅在提供 TCP_KEEPCNT 或等价套接字选项的系统上支持;其他系统中无效。
超时与保活
keepalives_count
客户端库 libpq 10.23
手册定义 手册已记载
源码中的环境变量回退 选项表中未声明
编…连接参数 · 超时与保活
keepalives_idle控制连接空闲多少秒后,TCP 应向服务器发送保活消息。零表示使用系统默认值。通过 Unix 域套接字连接或禁用保活时,此参数被忽略。仅在提供 TCP_KEEPIDLE 或等价套接字选项的系统以及 Windows 上支持;其他系统中无效。
超时与保活
keepalives_idle
客户端库 libpq 10.23
手册定义 手册已记载
源码中的环境变量回退 选项表中未声明
编…连接参数 · 超时与保活
更多结果
输入名称或关键词,从 PostgreSQL 手册与扩展目录中直接找到定义。
pg17: 限定版本 ex: 只搜扩展 ↑↓ 选择 ↵ 打开