(可选)初始化并启动PostgreSQL
以postgres用户身份初始化并启动PostgreSQL数据库,并设置用户密码以及配置远程管理。如果已经存在PostgreSQL主从部署的环境,请跳过本章节。
- 切换到postgres用户。
su - postgres
- 在postgres用户下,初始化数据库并启动数据库。
rm -rf /data/pg-13.2/data/* /usr/local/pgsql-13.2/bin/initdb -D /data/pg-13.2/data /usr/local/pgsql-13.2/bin/pg_ctl -D /data/pg-13.2/data -l logfile start
- 设置数据库postgres用户的密码。本文以密码123456为例进行说明,出于安全考虑,请在生产环境中使用更复杂安全的密码。
- 登录数据库。
/usr/local/pgsql-13.2/bin/psql -U postgres
- 设置数据库postgres用户的密码。
alter user postgres with password '123456';
- 退出数据库。
\q
- 登录数据库。
- 配置远程管理。
为了允许所有用户从任何IP地址通过密码验证远程管理数据库,需要修改pg_hba.conf和postgresql.conf文件。
- 修改pg_hba.conf配置文件,以允许所有用户对所有数据库的远程管理。
- 打开文件。
vi /data/pg-13.2/data/pg_hba.conf
- 按“i”进入编辑模式,在文件最后新增如下内容。
host all all 0.0.0.0/0 password
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开文件。
- 修改postgresql.conf配置文件,以启用远程连接和复制等功能。
- 打开postgresql.conf配置文件。
vi /data/pg-13.2/data/postgresql.conf
- 按“i”进入编辑模式,在文件最后添加如下配置参数。
listen_addresses = '*' #该参数用于指定PostgreSQL服务侦听的IP地址。设置为*表示服务器侦听所有可用的IP地址,包括IPv4和IPv6地址,允许从任何连接到服务器的客户端IP地址接收连接。 port = 5432 #该参数用于指定PostgreSQL服务侦听的端口号。默认情况下,PostgreSQL使用5432端口。 wal_level = replica wal_keep_size = 1000 max_slot_wal_keep_size = 10 wal_sender_timeout = 120s max_wal_senders = 10 min_wal_size = 800MB archive_mode = on archive_command = 'cp %p /data/pg-13.2/archive/%f' hot_standby = on max_standby_streaming_delay = 30s wal_receiver_status_interval = 10s hot_standby_feedback = on max_connections = 200 #该参数用于设置数据库服务器允许的最大并发连接数。 wal_log_hints = on
请从PostgreSQL官网搜索并查看PostgreSQL配置文件中的其余参数的说明:
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开postgresql.conf配置文件。
- 重启数据库,以使上述配置生效。
/usr/local/pgsql-13.2/bin/pg_ctl -D /data/pg-13.2/data -l logfile restart
- 修改pg_hba.conf配置文件,以允许所有用户对所有数据库的远程管理。
父主题: 部署环境