CentOS7安装PostgreSQL15

本文假设服务器是全新的,未曾安装pgsql,并且使用root用户通过yum安装。

准备

  1. 检查是否已安装libzstd
shell 复制代码
# 查询是否存在libzstd
yum search libzstd

# 下载并安装(谁能告诉我怎么知道libzstd包在这个地址里的^_^)
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libzstd-1.5.5-1.el7.x86_64.rpm
rpm -ivh libzstd-1.5.5-1.el7.x86_64.rpm
rm -f libzstd-1.5.5-1.el7.x86_64.rpm

如果缺少libzstd,在执行yum install -y postgresql15-server时将提示如下错误:

  1. 检查内存和存储
shell 复制代码
# 查看内存
free -g
# 查看存储(留意挂载目录)
df -h

安装

下载地址:www.postgresql.org/download/

bash 复制代码
# 安装rpm仓库
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 安装pgsql
yum install -y postgresql15-server

# 初始化数据库并设置自启动
/usr/pgsql-15/bin/postgresql-15-setup initdb
systemctl enable postgresql-15
systemctl start postgresql-15
# 查看运行状态
systemctl status postgresql-15

指定数据目录(可选)

yum方式安装时无法提前指定数据目录。默认情况下:

  • 安装目录在/usr/pgsql-*/
  • 数据文件和配置文件等在/var/lib/pgsql/

现在我打算将数据文件和配置文件等移动到/data/pgsql/

  1. 移动数据目录
shell 复制代码
# 停止pgsql
systemctl stop postgresql-15
# 创建/data/pgsql目录并授权(注意:此时并不存在/data/pgsql目录,新服务器甚至不存在/data目录)
mkdir -p /data/pgsql
chown -R postgres:postgres /data/pgsql

# 移动目录
mv /var/lib/pgsql/15/* /data/pgsql/
  1. 修改配置文件

a)修改postgresql-15.service文件,将Environment=PGDATA=/var/lib/pgsql/15/data/修改为Environment=PGDATA=/data/pgsql/data/

shell 复制代码
vi /usr/lib/systemd/system/postgresql-15.service

b)修改postgresql.conf,指定数据目录的值为/data/pgsql/data

shell 复制代码
vi /data/pgsql/data/postgresql.conf
  1. 使配置生效
shell 复制代码
# 重新加载配置文件,重启数据库
systemctl daemon-reload
systemctl restart postgresql-15

# 查看运行状况
ps -ef| grep postgres
systemctl status postgresql-15

修改密码

shell 复制代码
# 切换到postgres账号
su postgres

# 登录数据库
psql
# 修改密码
alter role postgres with password '123456';
# 登出数据库
\q

# 退出postgres账号
exit

授权远程连接

  1. 修改pg_hba.conf
shell 复制代码
vi /data/pgsql/data/pg_hba.conf
  1. 修改postgresql.conf
shell 复制代码
vi /data/pgsql/data/pg_hba.conf
  1. 重启数据库
shell 复制代码
# 重启后可以通过navicat等工具进行远程连接
systemctl restart postgresql-15

低版本的navicat可能提示字段"datlastsysoid"不存在,点这里解决

相关推荐
IvorySQL15 小时前
当PostgreSQL“听懂”MySQL——协议兼容层的设计与实战
数据库·人工智能·postgresql
IvorySQL18 小时前
PostgreSQL 日报|建库策略致备库静默丢数据(9 月 12 日)
数据库·人工智能·postgresql
瀚高PG实验室1 天前
瀚高数据库如何克隆表
数据库·sql·postgresql·瀚高数据库
承渊政道2 天前
PostgreSQL 鸿蒙 PC 适配全记录:从原生交叉编译到 HNP 数据库服务闭环
数据库·postgresql·harmonyos·鸿蒙系统·pc端
梦想平凡4 天前
百游棋牌源代码开发搭建教程(二):PostgreSQL安装、业务表创建与版本化迁移
数据库·游戏·postgresql
瀚高PG实验室4 天前
瀚高数据库V9.0.5数据脱敏完整配置步骤
jvm·数据库·postgresql·瀚高数据库
瀚高PG实验室5 天前
使用pg_stat_statements抓取数据库TOP SQL
数据库·sql·postgresql·瀚高数据库
IvorySQL5 天前
打造下一代 AI Agent 的统一多模智能数据底座——PostgreSQL 与 AI 的融合演进
数据库·人工智能·postgresql
半兽先生5 天前
MySQL + Milvus vs PostgreSQL + pgvector:AI 应用向量检索架构选型终极指南
mysql·postgresql·milvus
l1t5 天前
DeepSeek 4.1总结的Tom Lane 谈塑造 Postgres 三十年历程的架构决策
开发语言·数据库·postgresql·架构