Rocky Linux 安装 PostgreSQL

一、概要

1. 环境

(1) Rocky Linux 9.1 & PostgreSQL 15.3

(2) Rocky Linux 9.3 & PostgreSQL 16.1

二、安装与配置

1. 安装

(1) 安装仓库

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

(2) 禁用PostgreSQL模块

sudo dnf -qy module disable postgresql

(3) 安装PostgreSQL 15

sudo dnf install postgresql15-server -y

16

sudo dnf install postgresql16-server -y
sudo dnf install postgresql16-contrib -y

(4) 校验安装结果

psql -V

2. 账户

安装时会自动创建名为postgres的用户,我们需要对其做进一步的配置。

(1) 设置密码

sudo passwd postgres

(2) 切换Linux当前账户,使用刚设置的密码登录

su - postgres

3. 目录

(1) 安装目录:/usr/pgsql-15

(2) 数据目录:/var/lib/pgsql/15/data

4. 配置

(1) 初始化

sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb

(2) 修改监听地址和端口

a. 切换用户

su - postgres

b. 设置postgresql.conf

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

找到以下配置:

解开这两行注释并更新:

listen_addresses = '*'
port = 5432

c. 设置pg_hba.conf

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

找到以下配置:

注释掉原有的行,新增以下两行:

host all all 0.0.0.0/0 md5
host all all ::0/0       md5

(3) 服务

sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15
systemctl status postgresql-15

(4) 防火墙

sudo firewall-cmd --permanent --add-port=5432/tcp

sudo firewall-cmd --permanent --add-service=postgresql
sudo firewall-cmd --reload

5. 数据库账户

(1) 为PostgreSQL数据库用户分配密码

psql
ALTER USER postgres WITH PASSWORD '<密码>';

(2) 测试

a. 在系统用户postgres下,输入

psql

b. 查看所有数据库:

\l

(3) 数据目录权限

sudo chmod 700 -R /var/lib/pgsql/15/data

6. 测试

(1) 打开DBeaver,创建PostgreSQL链接:

(2) 连接数据库

三、备份还原

1. 备份方式

PostgreSQL提供了三种备份方式:

(1) SQL dump

(2) 文件系统备份

(3) 持续归档 (Continuous archiving)

本文介绍前两种方式。

2. SQL dump

参考: https://www.postgresql.org/docs/current/backup-dump.html

3. 文件系统备份

(1) 优势

a. 简单快速,尤其是对大数据库;

b. 除了数据文件,同时备份配置文件;

c. 还原也很简单;

(2) 劣势

a. 必须暂停数据库;

(3) 备份

tar -cf backup.tar /var/lib/pgsql/15/data

(4) 还原

tar -xvf backup.tar -C /var/lib/pgsql/15/data

4. Update

(1) 错误提示

如果运行dnf update过程中出现以下错误:

Error: Failed to download metadata for repo 'pgdg-common': repomd.xml GPG signature verification error: Bad GPG signature

则需要运行:

sudo dnf --disablerepo=* -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

参考官方文档:https://yum.postgresql.org/news/pgdg-rpm-repo-gpg-key-update/

四、参考

1. 官方

https://www.postgresql.org/download/linux/redhat/

https://www.postgresql.org/docs/current/backup.html

https://yum.postgresql.org/news/rhel9-aarch64-postgresql-repo-available/

2. Red Hat

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/configuring_and_using_database_servers/using-postgresql_configuring-and-using-database-servers

3. 其他

https://www.tecmint.com/install-postgresql-and-pgadmin-rhel-9/

https://www.linuxtechi.com/how-to-install-postgresql-on-rhel/

https://www.linuxprobe.com/postgresql-novice-entry.html

posted @ 2023-06-03 22:54  白马黑衣  阅读(1299)  评论(0编辑  收藏  举报