在 CentOS 上安装 PostgreSQL 的步骤如下:
- 更新系统:
sudo yum update
- 安装 PostgreSQL 的源:
CentOS 默认的仓库可能不包含最新版本的 PostgreSQL。可以通过 PostgreSQL 官方提供的源进行安装:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %rhel)-x86_64/pgdg-redhat-repo-latest.noarch.rpm
- 禁用默认的 PostgreSQL 模块(如果存在):
sudo yum -y module disable postgresql
- 安装 PostgreSQL:
假设你想安装 PostgreSQL 14(可以根据需要更改版本号):
sudo yum install -y postgresql14 postgresql14-server
- 初始化数据库:
sudo /usr/pgsql-14/bin/postgresql14-setup initdb
- 启动 PostgreSQL 服务:
sudo systemctl start postgresql-14
- 设置 PostgreSQL 开机自启:
sudo systemctl enable postgresql-14
- 配置防火墙(可选):
如果你希望从外部访问 PostgreSQL,可能需要在防火墙中允许该端口(默认为 5432):
sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --reload
- 修改认证方式
- 检查
pg_hba.conf
配置
确保 pg_hba.conf
文件中有正确的配置,允许远程连接。文件通常位于 /var/lib/pgsql/14/data/pg_hba.conf
。确保有类似以下的条目:
# 允许所有用户从任何 IP 连接到所有数据库
host all all 0.0.0.0/0 md5
- 检查 PostgreSQL 配置文件
确保 postgresql.conf
文件中设置了正确的 listen_addresses
。它通常位于 /var/lib/pgsql/14/data/postgresql.conf
。找到以下行并确认:
listen_addresses = '*'
10. 设置密码
PostgreSQL 14 的默认用户名是 postgres
。默认情况下,安装时并不会设置密码,所以如果你在安装过程中没有设置密码,可能会遇到连接问题。
如果需要设置或更改 postgres
用户的密码,可以使用以下步骤:
- 以
postgres
用户身份登录:
sudo -u postgres psql
- 在
psql
提示符下,使用以下命令设置密码:
\password postgres
- 输入新密码并确认。
完成后,使用新的密码连接 PostgreSQL。确保在 pg_hba.conf
文件中将认证方法设置为 md5
或 password
,以支持密码验证。如果有其他问题,随时问我!
11. 重启 PostgreSQL 服务:
sudo systemctl restart postgresql-14
完成这些步骤后,你就可以使用 PostgreSQL 了!可以通过 psql
命令行工具连接数据库。