下面是关于如何在 CentOS 8 上快速安装 PostgreSQL 14,并自定义数据目录和配置修改的步骤:
1. 安装 PostgreSQL 14
- 添加 PostgreSQL 官方仓库:
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
- 禁用默认的 PostgreSQL 模块:
sudo dnf -qy module disable postgresql
- 安装 PostgreSQL 14 服务器:
sudo dnf install -y postgresql14-server
2. 初始化数据库和服务
- 初始化数据库:
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
- 启用并启动 PostgreSQL 服务:
sudo systemctl enable postgresql-14 sudo systemctl start postgresql-14
3. 默认配置路径
- 用户家目录:
/var/lib/pgsql
- 安装目录:
/usr/pgsql-14
- 数据目录:
/var/lib/pgsql/14/data
- 配置文件:
/var/lib/pgsql/14/data/postgresql.conf
- 认证配置文件:
/var/lib/pgsql/14/data/pg_hba.conf
- 服务文件:
/usr/lib/systemd/system/postgresql-14.service
- 日志文件:
/var/lib/pgsql/14/data/log
4. 更改默认数据目录
- 停止 PostgreSQL 服务:
sudo systemctl stop postgresql-14
- 创建并设置新的数据目录:
sudo mkdir -p /data/postgres/pgdata/ sudo chown postgres:postgres /data/postgres/pgdata/ sudo chmod 700 /data/postgres/pgdata/
- 初始化新的数据目录:
sudo -u postgres /usr/pgsql-14/bin/initdb -D /data/postgres/pgdata/
- 修改 systemd 服务文件(可选):
- 编辑
/usr/lib/systemd/system/postgresql-14.service
- 修改
Environment=PGDATA=/data/postgres/pgdata/
- 重新加载 systemd 配置:
sudo systemctl daemon-reload
- 编辑
- 启动 PostgreSQL 服务:
sudo systemctl start postgresql-14
- 验证更改:
sudo -u postgres psql -c "SHOW data_directory;"
5. 配置用户环境变量
- 编辑
postgres
用户的.bash_profile
文件:vim /var/lib/pgsql/.bash_profile
- 添加以下环境变量:
export PATH=/usr/pgsql-14/bin:$PATH export LD_LIBRARY_PATH=/usr/pgsql-14/lib export PGDATA=/data/postgres/pgdata/
- 应用更改:
source /var/lib/pgsql/.bash_profile
6. 设置超级用户密码
- 登录为
postgres
用户:su - postgres
- 更改密码:
psql -c "\password postgres"
7. 配置远程访问
- 修改
pg_hba.conf
文件以配置认证规则:sed -i '$ a\host all all 0.0.0.0/0 md5' /data/postgres/pgdata/pg_hba.conf
- 编辑
postgresql.conf
以允许从任何地址连接:sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/g" /data/postgres/pgdata/postgresql.conf
8. 设置最大连接数
- 更改
postgresql.conf
中的max_connections
:sed -i 's/^#*\s*max_connections\s*=.*$/max_connections = 1000/' /data/postgres/pgdata/postgresql.conf
9. 重启 PostgreSQL 服务
切换到root用户,重启 PostgreSQL 服务
sudo systemctl restart postgresql-14
在进行这些操作前,请确保备份任何重要数据,并确保您有足够的权限进行配置文件的更改。
备注说明
如何将 postgres
用户添加到 sudoers
如果您确实需要让 postgres
用户执行 sudo
命令,您可以将其添加到 sudoers
文件中。这通常不推荐,因为它可能会增加安全风险。
- 以
root
用户登录或使用具有sudo
权限的用户。 - 编辑
sudoers
文件:
sudo visudo
- 在文件中添加一行,赋予
postgres
用户sudo
权限:
postgres ALL=(ALL) NOPASSWD:ALL
- 保存并退出编辑器。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/181521.html