ToB企服应用市场:ToB评测及商务社交产业平台
标题:
PostgreSQL自带的下令行工具21- initdb
[打印本页]
作者:
莱莱
时间:
2024-8-9 15:34
标题:
PostgreSQL自带的下令行工具21- initdb
PostgreSQL自带的下令行工具21- initdb
基础信息
OS版本:Red Hat Enterprise Linux Server release 7.9 (Maipo)
DB版本:16.2
pg软件目录:/home/pg16/soft
pg数据目录:/home/pg16/data
端口:5777
复制代码
initdb 是 PostgreSQL 中的一个工具,用于创建一个新的 PostgreSQL 数据库集群。数据库集群是一组数据库和一些与这些数据库相干的初始化信息,包括设置文件(如 postgresql.conf 和 pg_hba.conf)以及事件日记等。实际上,initdb 主要负责初始化数据库体系的文件体系情况。
通过help检察帮助文档。
[pg16@test ~]$ initdb --help
initdb initializes a PostgreSQL database cluster.
Usage:
initdb [OPTION]... [DATADIR]
Options:
-A, --auth=METHOD default authentication method for local connections
--auth-host=METHOD default authentication method for local TCP/IP connections
--auth-local=METHOD default authentication method for local-socket connections
[-D, --pgdata=]DATADIR location for this database cluster
-E, --encoding=ENCODING set default encoding for new databases
-g, --allow-group-access allow group read/execute on data directory
--icu-locale=LOCALE set ICU locale ID for new databases
--icu-rules=RULES set additional ICU collation rules for new databases
-k, --data-checksums use data page checksums
--locale=LOCALE set default locale for new databases
--lc-collate=, --lc-ctype=, --lc-messages=LOCALE
--lc-monetary=, --lc-numeric=, --lc-time=LOCALE
set default locale in the respective category for
new databases (default taken from environment)
--no-locale equivalent to --locale=C
--locale-provider={libc|icu}
set default locale provider for new databases
--pwfile=FILE read password for the new superuser from file
-T, --text-search-config=CFG
default text search configuration
-U, --username=NAME database superuser name
-W, --pwprompt prompt for a password for the new superuser
-X, --waldir=WALDIR location for the write-ahead log directory
--wal-segsize=SIZE size of WAL segments, in megabytes
Less commonly used options:
-c, --set NAME=VALUE override default setting for server parameter
-d, --debug generate lots of debugging output
--discard-caches set debug_discard_caches=1
-L DIRECTORY where to find the input files
-n, --no-clean do not clean up after errors
-N, --no-sync do not wait for changes to be written safely to disk
--no-instructions do not print instructions for next steps
-s, --show show internal settings
-S, --sync-only only sync database files to disk, then exit
Other options:
-V, --version output version information, then exit
-?, --help show this help, then exit
If the data directory is not specified, the environment variable PGDATA
is used.
Report bugs to <pgsql-bugs@lists.postgresql.org>.
PostgreSQL home page: <https://www.postgresql.org/>
复制代码
基本使用
initdb 的基本用法涉及指定要创建新数据库集群的目录。以下是一个简朴的下令行示例:
initdb -D /path/to/data_directory
复制代码
这里的 -D /path/to/data_directory 指定了新数据库集群的数据目录。如果不使用 -D 选项,则 initdb 会使用情况变量 PGDATA 指定的目录,如果 PGDATA 也没有设置,initdb 就会报错。
如之前的初始化过程
[pg16@test ~]$ initdb -D /home/pg16/data -U postgres -k
The files belonging to this database system will be owned by user "pg16".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".
Data page checksums are enabled.
creating directory /home/pg16/data ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... America/Los_Angeles
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok
initdb: warning: enabling "trust" authentication for local connections
initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
Success. You can now start the database server using:
pg_ctl -D /home/pg16/data -l logfile start
复制代码
主要选项
-D – 指定数据库集群的数据目录。
-E – 设置默认字符编码方式。例如,使用 -E UTF8 来设置 UTF-8 编码。
--locale – 用于设置数据库的区域设置,这将影响字符的排序规则和种别行为。
--lc-collate, --lc-ctype, --lc-messages, --lc-monetary, --lc-numeric, --lc-time – 这些选项允许你单独设置数据库在差异方面的区域设置,如排序规则、字符分类、消息语言、货币格式、数字格式和日期时间格式。
留意事项
运行 initdb
:只有在
首次设置 PostgreSQL 安装
时才必要手动运行 initdb。大多数时候,当你通过包管理器安装 PostgreSQL 时(例如 apt、yum、brew 等),这一步调会主动为你完成。
权限
:initdb 必须以 PostgreSQL 服务器将要运行的用户身份来执行,通常这个用户称为 postgres。如果以其他用户身份运行,那么数据库服务器可能无法访问 initdb 创建的文件和目录。
安全性
:在初始化数据库时思量安全设置非常紧张。特殊是,设置文件 pg_hba.conf 控制客户端认证和连接,应该在初始化之后进行相应的调整以确保数据库的访问安全。
之后操作
:一旦使用 initdb 初始化了数据目录,你就可以启动数据库服务器了,通常使用 pg_ctl start 或直接运行 postgres 可执行文件,具体取决于你的体系设置和偏好。
initdb 是 PostgreSQL 安装和设置过程中的关键步调,正确使用它对于确保数据库集群正确、安全地运行至关紧张。
服膺:心存敬畏,行有所止。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4