HCRM博客

如何在CentOS上安装PostgreSQL数据库?

CentOS上安装PostgreSQL

一、简介

PostgreSQL是一个功能强大的开源对象关系数据库系统,它支持复杂的数据类型和高级功能,在CentOS上安装PostgreSQL可以提供稳定且安全的平台来运行数据库,本文将详细介绍如何在CentOS上安装PostgreSQL,涵盖从更新系统到配置远程访问的全过程。

如何在CentOS上安装PostgreSQL数据库?-图1
(图片来源网络,侵权删除)

二、安装步骤

1. 使用SSH连接到CentOS服务器

ssh <username>@<server_IP_address>

确保您使用正确的用户名和服务器IP地址来远程连接到您的CentOS服务器。

2. 更新系统

sudo yum update y

通过更新系统软件包,确保您的服务器具有最新的安全补丁和软件包版本。

3. 排除CentOS默认的PostgreSQL软件包

在安装新的PostgreSQL之前,我们需要排除CentOS版本的PostgreSQL,以便从项目网站获取最新版本,编辑CentOS仓库配置文件:

如何在CentOS上安装PostgreSQL数据库?-图2
(图片来源网络,侵权删除)
sudo nano /etc/yum.repos.d/CentOSBase.repo

[base]部分底部添加以下行:

exclude=postgresql

同样在[updates]部分底部添加相同的行:

exclude=postgresql

4. 添加PostgreSQL Yum存储库

根据CentOS的版本(7或8),添加相应的Yum存储库:

对于CentOS 7:

sudo yum install y https://download.postgresql.org/pub/repos/yum/reporpms/EL7x86_64/pgdgredhatrepolatest.noarch.rpm

对于CentOS 8:

如何在CentOS上安装PostgreSQL数据库?-图3
(图片来源网络,侵权删除)
sudo yum install y https://download.postgresql.org/pub/repos/yum/reporpms/EL8x86_64/pgdgredhatrepolatest.noarch.rpm

5. 禁用内置的PostgreSQL模块(仅适用于CentOS 8)

sudo dnf qy module disable postgresql

6. 安装PostgreSQL

对于CentOS 8,执行以下命令安装PostgreSQL 13:

sudo yum install y postgresql13server

对于CentOS 7,执行以下命令安装PostgreSQL 12:

sudo yum install y postgresql12server

7. 初始化数据库

sudo /usr/pgsql13/bin/postgresql13setup initdb

或者对于PostgreSQL 12:

sudo /usr/pgsql12/bin/postgresql12setup initdb

8. 启动并设置PostgreSQL服务开机自启

sudo systemctl start postgresql13
sudo systemctl enable postgresql13

或者对于PostgreSQL 12:

sudo systemctl start postgresql12
sudo systemctl enable postgresql12

9. 设置默认PostgreSQL用户的密码

切换到postgres用户:

sudo su postgres

然后输入以下命令设置密码:

psql
ALTER USER postgres PASSWORD 'your_secure_password';
\q
exit

10. 创建新PostgreSQL用户和数据库(可选)

重新切换到postgres用户:

sudo su postgres

进入PostgreSQL提示符:

psql

创建新用户和新数据库:

CREATE USER newuser WITH PASSWORD 'user_password';
CREATE DATABASE newdatabase;
GRANT ALL PRIVILEGES ON DATABASE newdatabase TO newuser;
\q
exit

11. 配置远程访问

编辑pg_hba.conf文件:

nano /var/lib/pgsql/13/data/pg_hba.conf

添加以下内容:

host all all 0.0.0.0/0 md5

编辑postgresql.conf文件:

nano /var/lib/pgsql/13/data/postgresql.conf

修改listen_addresses参数:

listen_addresses = '*'

重新启动PostgreSQL服务:

sudo systemctl restart postgresql13

或者对于PostgreSQL 12:

sudo systemctl restart postgresql12

PostgreSQL在CentOS上的安装过程相对简单,但需要特别注意以下几点以确保安装顺利进行:

1、更新系统:在安装任何软件之前,确保系统是最新的,这不仅包括操作系统,还包括所有已安装的软件包,这有助于防止兼容性问题和安全漏洞,使用sudo yum update y命令来更新CentOS系统。

2、排除默认的PostgreSQL软件包:为了避免与系统中可能已经存在的PostgreSQL软件包发生冲突,建议先排除它们,可以通过编辑/etc/yum.repos.d/CentOSBase.repo文件来实现这一点,在[base][updates]部分中添加exclude=postgresql

3、添加官方Yum存储库:为了确保获得最新版本的PostgreSQL及其依赖项,应添加官方的Yum存储库,对于不同的CentOS版本,存储库链接可能会有所不同,CentOS 7使用https://download.postgresql.org/pub/repos/yum/reporpms/EL7x86_64/pgdgredhatrepolatest.noarch.rpm

4、禁用内置的PostgreSQL模块(仅限CentOS 8):CentOS 8引入了模块系统,其中包含一个内置的PostgreSQL模块,为了避免冲突,建议禁用该模块,可以使用sudo dnf qy module disaBLe postgresql命令来完成此操作。

5、安装特定版本的PostgreSQL:根据需求选择合适的PostgreSQL版本进行安装,对于CentOS 8,可以安装PostgreSQL 13;对于CentOS 7,则安装PostgreSQL 12,使用sudo yum install y postgresql13serversudo yum install y postgresql12server命令进行安装。

6、初始化数据库:安装完成后,需要初始化数据库集群,这是创建必要的数据库文件和目录结构的过程,使用sudo /usr/pgsql13/bin/postgresql13setup initdb命令进行初始化,请确保使用正确的版本号替换命令中的路径。

7、启动并设置服务开机自启:为了使PostgreSQL服务随系统启动而自动启动,需要将其设置为开机自启,使用sudo systemctl enable postgresql13命令来设置,使用sudo systemctl start postgresql13命令来启动服务,请根据实际安装的版本调整服务名称。

8、设置默认用户的密码:为了增强安全性,建议为默认的postgres用户设置强密码,首先切换到postgres用户,然后使用psql命令行工具连接到PostgreSQL实例并执行ALTER USER postgres PASSWORD 'your_secure_password';命令来更改密码,最后退出psql会话。

9、创建新用户和数据库(可选):根据需要,可以创建新的PostgreSQL用户和数据库,首先切换到postgres用户,然后使用psql命令行工具创建新用户和新数据库,并授予适当的权限,这样可以更好地管理不同应用的数据隔离性和安全性。

10、配置远程访问:默认情况下,PostgreSQL只允许本地主机连接,如果需要从远程主机访问数据库,则需要修改配置文件以允许远程连接,编辑pg_hba.conf文件,添加一行来允许所有IP地址访问所有数据库,并使用md5认证方法,还需要编辑postgresql.conf文件,将listen_addresses设置为'*'以监听所有网络接口,完成配置后,重启PostgreSQL服务使更改生效。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/19645.html

分享:
扫描分享到社交APP
上一篇
下一篇