LINUX安装PostgreSQL

环境准备

  • 操作系统:CentOS 7.x
  • 数据库版本:PostgreSQL 15 (centos 7 最该支持 ps15.* 版本)
  • 网络要求:可访问外部网络,或使用国内镜像源
  • 权限要求:具有 sudo 权限的用户

安装 PostgreSQL 15

1. 添加 PostgreSQL 官方 YUM 仓库

为了安装最新版本的 PostgreSQL,需要先添加其官方 YUM 仓库。

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 https://mirrors.aliyun.com/postgresql/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2. 安装 PostgreSQL 15

安装 PostgreSQL 15 服务器和客户端:([Linux Console][4])

sudo yum install -y postgresql15-server postgresql15

3. 初始化数据库

初始化数据库集群:([Linux Console][4])

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

4. 启动并设置开机自启

启动 PostgreSQL 服务并设置为开机自启:([博客园][5])

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

执行 systemctl enable 命令后,系统会创建一个符号链接,使 PostgreSQL 服务在系统启动时自动启动。


配置远程连接

1. 修改监听地址

编辑 PostgreSQL 配置文件,允许监听所有 IP 地址:

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

找到以下行:

#listen_addresses = 'localhost'

修改为:

listen_addresses = '*'

2. 配置客户端认证

编辑 pg_hba.conf 文件,允许远程连接:

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

在文件末尾添加以下行:

host    all             all             0.0.0.0/0               md5

3. 重启 PostgreSQL 服务

使配置生效:([ComputingForGeeks][6])

sudo systemctl restart postgresql-15

配置防火墙

开放 PostgreSQL 默认端口 5432:

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

验证连接

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

切换到 PostgreSQL 用户:([博客园][7])

sudo su - postgres

创建用户和数据库:([ComputingForGeeks][6])

CREATE USER root WITH PASSWORD '密码';
CREATE DATABASE mydb OWNER root ;

2. 使用 Navicat 连接

在 Navicat 中,输入以下信息进行连接:

  • 主机:服务器的 IP 地址
  • 端口:5432
  • 用户名root
  • 密码:在创建用户时设置的密码
  • 数据库数据库密码

常见问题

  • 无法连接数据库:请检查防火墙设置和 pg_hba.conf 配置是否正确。
  • 端口未开放:确保防火墙已开放 5432 端口。
  • 服务未启动:使用 sudo systemctl status postgresql-15 检查服务状态。

Navicat 15版本错误

ERROR: column "datlastsysoid" does not exist LINE 1: SELECT DISTINCT datlastsysoid FROM pg_database 
  • 无法连接数据库:由于从 PostgreSQL 15 开始,系统表 pg_database 中移除了 datlastsysoid 字段,而旧版本的 Navicat 仍尝试访问该字段,导致报错。 **解决方法 升级navicat 到17 版本 : ** navicat17教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值