在CentOS7系统中,如何一步步实现PostgreSQL12和PostGIS3.0的安装与配置,并确保数据库可以安全地被远程访问?
时间: 2024-11-26 16:26:22 浏览: 6
要实现PostgreSQL12和PostGIS3.0在CentOS7系统中的安装与配置,首先需要参考《CentOS7下PostgreSQL12+PostGIS3.0完整安装指南》这份资源。该指南详细介绍了整个安装和配置的流程,是解决你当前问题的直接帮助。
参考资源链接:[CentOS7下PostgreSQL12+PostGIS3.0完整安装指南](https://wenku.csdn.net/doc/qzg7oifgd7?spm=1055.2569.3001.10343)
首先,确保你的系统已经更新到最新状态,并安装了EPEL仓库,以便能够下载PostgreSQL和PostGIS的RPM包。接着,通过`yum install postgresql12 postgresql12-server postgis30_postgresql12`命令来安装PostgreSQL服务器、PostgreSQL的客户端、以及PostGIS扩展。
在安装过程中,系统会询问你是否创建`postgres`系统用户,确认并继续。安装完成后,使用`postgresql-setup initdb`初始化数据库。然后,启动PostgreSQL服务并设置其为开机自启:
```bash
systemctl start postgresql-12
systemctl enable postgresql-12
```
接下来,切换到`postgres`用户并初始化密码:
```bash
sudo -u postgres psql
postgres=# \password postgres
```
对于数据库配置,编辑`/var/lib/pgsql/12/data/postgresql.conf`文件,找到`listen_addresses`参数,并将其设置为`*`,允许所有IP地址访问:
```ini
listen_addresses = '*'
```
在防火墙设置方面,需要开放5432端口,以便可以从其他机器访问数据库:
```bash
firewall-cmd --permanent --zone=public --add-port=5432/tcp
firewall-cmd --reload
```
最后,在`pg_hba.conf`文件中配置身份验证,可以添加如下行以允许所有主机使用密码进行连接:
```conf
host all all *.*.*.*/0 md5
```
完成后,重启PostgreSQL服务:
```bash
systemctl restart postgresql-12
```
现在,你应该可以使用`psql -U postgres -h localhost`从本地机器连接到数据库,并且也可以通过指定IP地址从远程机器连接,只要远程连接的IP地址已经被防火墙规则允许。
通过以上步骤,你已经能够在CentOS7上安装并初步配置PostgreSQL12和PostGIS3.0,并确保了数据库的安全远程访问。如果你希望进一步深入学习关于PostgreSQL和PostGIS的高级配置和优化,推荐继续研究《CentOS7下PostgreSQL12+PostGIS3.0完整安装指南》,这本指南不仅涵盖了安装和配置,还提供了管理、维护以及数据库安全的最佳实践。
参考资源链接:[CentOS7下PostgreSQL12+PostGIS3.0完整安装指南](https://wenku.csdn.net/doc/qzg7oifgd7?spm=1055.2569.3001.10343)
阅读全文