Centos7停止维护后如何安装Postgres16

1.使用Postgres16官方文档在Centos7中安装Postgres16

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql16-server
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
sudo systemctl enable postgresql-16
sudo systemctl start postgresql-16

执行sudo yum install -y postgresql16-server提示“No package postgresql16-server available.”这是因为CentOS Linux 7 在 2020-08-06 停止更新,在 2024-06-30 停止维护,CentOS Linux 8 在 2024-05-31 停止更新,在 2024-06-30 停止维护。而Posgres官方在2023年8月也不再提供Centos中rpm包的更新
如果继续使用Centos7并且想安装使用Postgres16需要使用手动编

<think>好的,用户现在问的是在CentOS下如何安装PostgreSQL。之前他们遇到了yum无法解析主机名的问题,现在可能已经解决了网络问题,现在需要安装PostgreSQL。我需要确保提供的步骤正确,并且考虑到用户可能仍然存在的网络配置问题。 首先,用户可能对CentOS的版本不太清楚,但常见的版本是7或8,所以需要分别说明。接下来,安装PostgreSQL通常有两种方式:使用官方仓库或者从PostgreSQL官方源安装。用户可能更倾向于使用yum,因为比较方便,但可能需要配置正确的仓库。 需要检查用户是否已经启用了EPEL仓库,因为某些版本的CentOS可能需要它。另外,如果用户之前遇到DNS问题,可能需要确保他们的yum配置正确,能够访问仓库地址。此外,安装后的基本配置,比如初始化数据库、启动服务、设置开机启动等都是必要的步骤。 用户可能还需要知道如何创建用户和数据库,以及配置远程访问,但可能这部分属于进阶内容,是否需要包含?根据用户的提问,他们可能只需要安装步骤,但最好提供一些基本的配置指导,比如修改pg_hba.conf和postgresql.conf,以及开放防火墙端口。 还要注意权限问题,比如使用postgres用户来操作psql,以及修改密码。此外,防火墙设置如果用户使用的是firewalld,需要添加规则,或者如果使用iptables,可能需要不同的命令。但CentOS 7之后默认是firewalld,所以应该以这个为例。 最后,要提醒用户根据实际需求调整配置,并附上参考链接,方便用户查阅官方文档。需要确保所有命令正确,特别是仓库的配置链接是否正确,比如CentOS 8的Vault仓库,因为官方已经停止维护,可能需要使用阿里云等镜像源。 总结步骤:安装仓库、安装PostgreSQL、初始化、启动服务、验证安装、基本配置(用户、数据库、远程访问、防火墙)。同时,注意版本差异,比如CentOS 7默认安装PostgreSQL版本可能较低,而使用官方源可以安装较新版本。需要提醒用户根据需求选择安装方式。</think>--- 以下是在CentOS系统上安装PostgreSQL的详细步骤,支持**CentOS 7/8**及衍生版本(如RHEL): --- ### **1. 添加PostgreSQL官方仓库** #### **方式一:通过PostgreSQL官方仓库安装(推荐)** ```bash # CentOS 7 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm # CentOS 8 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm ``` #### **方式二:通过EPEL仓库安装(版本可能较旧)** ```bash sudo yum install -y epel-release ``` --- ### **2. 安装PostgreSQL** #### **安装指定版本(以PostgreSQL 12为例)** ```bash # CentOS 7 sudo yum install -y postgresql12-server postgresql12-contrib # CentOS 8 sudo dnf install -y postgresql12-server postgresql12-contrib ``` --- ### **3. 初始化数据库** ```bash # 初始化数据库目录 sudo /usr/pgsql-12/bin/postgresql-12-setup initdb # 启动服务并设置开机自启 sudo systemctl enable postgresql-12 sudo systemctl start postgresql-12 ``` --- ### **4. 验证安装** ```bash # 查看服务状态 systemctl status postgresql-12 # 检查PostgreSQL版本 psql --version ``` --- ### **5. 基本配置** #### **(1)设置postgres用户密码** ```bash sudo -i -u postgres # 切换到postgres用户 psql # 进入SQL命令行 \password postgres # 设置密码 \q # 退出 exit # 返回原用户 ``` #### **(2)创建新用户和数据库** ```bash sudo -u postgres createuser --interactive # 交互式创建用户 sudo -u postgres createdb mydatabase # 创建数据库 ``` --- ### **6. 配置远程访问(可选)** #### **修改配置文件** ```bash # 编辑pg_hba.conf sudo vi /var/lib/pgsql/12/data/pg_hba.conf ``` 在文件末尾添加: ```bash # 允许所有IP通过密码访问 host all all 0.0.0.0/0 md5 ``` #### **修改监听地址** ```bash # 编辑postgresql.conf sudo vi /var/lib/pgsql/12/data/postgresql.conf ``` 找到并修改: ```bash listen_addresses = '*' # 允许监听所有IP ``` #### **重启服务** ```bash sudo systemctl restart postgresql-12 ``` --- ### **7. 防火墙配置(若需远程访问)** ```bash # 开放5432端口 sudo firewall-cmd --permanent --add-port=5432/tcp sudo firewall-cmd --reload ``` --- ### **附:常用命令** | 功能 | 命令 | |---------------------|-------------------------------| | 启动服务 | `sudo systemctl start postgresql-12` | | 停止服务 | `sudo systemctl stop postgresql-12` | | 连接数据库 | `psql -U username -d dbname` | | 备份数据库 | `pg_dump -U postgres dbname > backup.sql` | --- ### **注意事项** 1. 默认数据目录:`/var/lib/pgsql/12/data/` 2. 日志文件路径:`/var/lib/pgsql/12/data/log/` 3. 若需安装其他版本(如13/14),将上述命令中的`12`替换为目标版本号即可。 --- 通过以上步骤,您可以在CentOS系统上完成PostgreSQL安装和基础配置。如需更高级功能(如主从复制、性能优化),可进一步查阅[PostgreSQL官方文档](https://www.postgresql.org/docs/)。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值