CentOS7 上安装 PostgreSQL

1. 准备工作

确保你以 root 用户身份登录系统,并且服务器已连接到互联网,因为后续需要从网络下载安装包。

2. 添加 PostgreSQL Yum 源

PostgreSQL 官方提供了专门的 Yum 源仓库,方便用户安装特定版本的 PostgreSQL。执行以下命令添加 Yum 源:

yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

这个命令会下载并安装 PostgreSQL 的 Yum 源仓库配置文件,让系统可以从官方源获取 PostgreSQL 相关软件包。

3. 安装 PostgreSQL 14

使用 yum 命令安装 PostgreSQL 14 的服务器和客户端:

yum install -y postgresql14-server postgresql14

postgresql14-server 是 PostgreSQL 14 的服务器组件,postgresql14 是客户端组件,它们配合使用才能完整地操作数据库。
如果遇到下图报错
![[7fdb06caecbfe7c1ccec074c8aea38ae.png]]

当出现Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - “Could not resolve host: mirrorlist.centos.org; 未知的错误”
你就需要更改镜像下载地址了,推荐使用阿里云镜像,:
首先备份

sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

其次直接编辑 vi /etc/yum.repos.d/CentOS-Base.repo
把之前的代码去掉换下边的就行

[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

4. 初始化数据库

安装完成后,需要对数据库进行初始化操作,以创建初始的数据库集群:

/usr/pgsql-14/bin/postgresql-14-setup initdb

此命令会创建数据库所需的目录结构、系统表和配置文件等。

5. 启动并设置开机自启

使用 systemctl 命令启动 PostgreSQL 14 服务,并设置为开机自启:

systemctl start postgresql-14
systemctl enable postgresql-14

start 命令用于立即启动服务,enable 命令会将服务添加到系统的开机启动项中,确保服务器重启后 PostgreSQL 服务能自动启动。

6. 配置 PostgreSQL

修改监听地址

如果你希望允许远程主机连接到 PostgreSQL 数据库,需要修改 postgresql.conf 文件。使用文本编辑器(如 vi)打开该文件:

vi /var/lib/pgsql/14/data/postgresql.conf

找到 listen_addresses 参数,将其修改为:

listen_addresses = '*'

* 表示允许所有 IP 地址的主机连接到数据库。修改完成后保存并退出文件。

配置客户端认证

编辑 pg_hba.conf 文件来配置客户端认证规则,使用以下命令打开该文件:

vi /var/lib/pgsql/14/data/pg_hba.conf

在文件末尾添加以下内容,允许所有 IP 地址的主机以密码认证方式连接:

host    all             all             0.0.0.0/0               md5

md5 表示使用 MD5 加密的密码认证方式。保存并退出文件。

重新加载配置

修改配置文件后,需要重新加载配置使修改生效:

systemctl reload postgresql-14
  • 重启服务:如果重新加载不起作用,可以尝试重启服务:
systemctl restart postgresql-14

7. 创建数据库用户和数据库

切换到 postgres 用户,该用户是 PostgreSQL 安装时自动创建的超级用户:

su - postgres

使用 psql 命令进入 PostgreSQL 的交互式终端:

psql

psql 终端中,创建新的数据库用户和数据库。例如,创建一个名为 newuser 的用户,并设置密码为 password,再创建一个名为 newdb 的数据库:

CREATE USER newuser WITH PASSWORD 'password';
CREATE DATABASE newdb OWNER newuser;

授予用户相应的权限:

GRANT ALL PRIVILEGES ON DATABASE newdb TO newuser;

完成操作后,输入 \q 退出 psql 终端,再输入 exit 退出 postgres 用户。

8. 测试连接

使用新创建的用户连接到新数据库,验证安装和配置是否成功:

psql -U newuser -d newdb

如果能够成功连接,说明 PostgreSQL 14 已在 CentOS 7 上安装并配置完成。
通过以上步骤,你就可以在 CentOS 7 系统上顺利安装和配置 PostgreSQL 14 数据库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酥饼大人。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值