当前位置: 代码网 > it编程>数据库>MsSqlserver > RockyLinux9.5部署PostgreSQL的实现步骤

RockyLinux9.5部署PostgreSQL的实现步骤

2025年11月06日 MsSqlserver 我要评论
介绍两种部署方式,一直接部署在 linux 服务器上,二先安装 docker,然后通过 docker 部署一、直接部署在 linux 服务器1、准备工作(1)更新系统软件包sudo dnf updat

介绍两种部署方式,一直接部署在 linux 服务器上,二先安装 docker,然后通过 docker 部署

一、直接部署在 linux 服务器

1、准备工作

(1)更新系统软件包

sudo dnf update -y

(2)关闭防火墙

# 测试环境
systemctl stop firewalld
systemctl disable firewalld

# 查看防火墙状态
firewall-cmd --state

# 生产环境建议配置防火墙规则:
# 开放 postgresql 端口(默认 5432):
sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --reload

2、安装 postgresql

方法 1:通过 rockylinux 默认仓库安装

(1)安装 postgresql 服务器:

dnf install -y postgresql-server

(2)初始化数据库

sudo postgresql-setup --initdb

(3)启动 postgresql 服务并设置开机自启:

sudo systemctl enable postgresql
sudo systemctl start postgresql

# 检查服务状态
sudo systemctl status postgresql

方法 2:通过 postgresql 官方仓库安装(推荐)

(1)添加 postgresql yum 仓库,下面两个版本任选一个

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/el-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

(2)禁用内置的 postgresql 模块

sudo dnf -qy module disable postgresql

(3) 安装 postgresql,版本 16

sudo dnf install -y postgresql16-server

(4)初始化数据库

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

(5)启动 postgresql 服务并设置开机自启:

sudo systemctl enable postgresql-16
sudo systemctl start postgresql-16

# 检查服务状态
sudo systemctl status postgresql-16

3、基本配置

(1)设置 postgresql 用户密码

# 进入 psql
sudo -u postgres psql

# 修改密码
alter user postgres with password '你的密码';

# 输入\q退出

(2)配置远程访问(可选)

编辑 /var/lib/pgsql/16/data/postgresql.conf(通过默认仓库安装路径是:/var/lib/pgsql/data/postgresql.conf),取消注释并修改:

listen_addresses = '*'  # 允许所有ip访问
port = 5432             # 默认端口

编辑 /var/lib/pgsql/16/data/pg_hba.conf(通过默认仓库安装路径是:/var/lib/pgsql/data/pg_hba.conf),添加或修改以下行(根据需求调整)

# 允许所有ip通过密码访问
host    all             all             0.0.0.0/0               md5

(3)重启 postgresql 服务使配置生效

# 通过 rockylinux 默认仓库安装
sudo systemctl restart postgresql

# 通过 postgresql 官方仓库安装,如安装不同版本,自行调整
sudo systemctl restart postgresql-16

4、常用管理命令

# 进入 psql
sudo -u postgres psql

# 创建数据库
create database testdb;

# 创建用户:
create user username with password 'password';
# 授予权限:
grant all privileges on database dbname to username;

# 查看所有数据库
\l

# 切换到新数据库
\c testdb

# 查看当前数据库名称
select current_database();

# 退出
\q

# 查看服务状态:
sudo systemctl status postgresql-16

# 停止服务:
sudo systemctl stop postgresql-16

# 启动服务:
sudo systemctl start postgresql-16

# 重启服务:
sudo systemctl restart postgresql-16

# 查看日志:
sudo journalctl -u postgresql-16

5、备份与恢复

# username 一般是 postgres,根据情况自行修改

# 备份单个数据库:
pg_dump -u username -d dbname -f backup.sql
# 恢复单个数据库
psql -u username -d dbname -f backup.sql

# 备份所有数据库:
pg_dumpall -u username -f alldbs.sql
# 恢复所有数据库
psql -u postgres -f alldbs.sql

6、重置忘记的 postgres 用户密码

# 停止 postgresql 服务:
sudo systemctl stop postgresql-16

# 进入单用户模式:
sudo -u postgres /usr/pgsql-16/bin/postgres --single -d /var/lib/pgsql/16/data

# 在提示符下执行:
alter user postgres with password '新密码';

# 然后按 ctrl+d 退出

# 正常启动服务:
sudo systemctl start postgresql-16

二、使用 docker 部署

1、安装 docker

# 添加阿里云docker-ce仓库
dnf config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 列出当前系统中所有可安装的 docker-ce 版本,并按照版本号从高到低进行排序,同时显示重复的版本。
dnf list docker-ce --showduplicates | sort -r
# 安装最新版本 docker-ce,也可以指定版本安装(dnf install -y docker-ce-3:28.1.1-1.el9)
dnf install -y docker-ce
# 启用docker cgroup用于限制进程的资源使用量,如cpu、内存资源
# 创建目录,存放 docker 的配置文件
mkdir -p /etc/docker
# 创建并写入 /etc/docker/daemon.json 文件,设置 docker 使用 systemd 作为 cgroup 驱动
# registry-mirrors 配置:docker 镜像加速器的地址列表。
cat > /etc/docker/daemon.json <<eof
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "registry-mirrors": [
    "https://docker.m.daocloud.io"
  ]
}
eof
# 设置 docker 开机自启,并启动 docker
systemctl enable docker --now

2、拉取 postgresql 镜像

docker pull postgres:16

3、运行 postgresql 容器

方式一:使用 docker run

docker run -d \
  --name postgresql \
  -p 5432:5432 \
  -e postgres_user=postgres \
  -e postgres_password=qwe123 \
  -e postgres_db=postgres \
  -v /data/postgresql/data:/var/lib/postgresql/data \
  --restart=unless-stopped \
  postgres:16

方式二:使用 yaml 启动,推荐这种

(1) 根目录下创建 postgresql.yaml 文件,内容如下:

version: '3.8'

services:
  postgresql:
    image: postgres:16
    container_name: postgresql
    ports:
      - "5432:5432"
    environment:
      postgres_user: postgres
      postgres_password: your_password
      postgres_db: postgres
    volumes:
      - /data/postgresql/data:/var/lib/postgresql/data
    restart: unless-stopped

(2) 启动服务

docker compose -f postgresql.yaml up -d

4、验证安装

# 查看容器状态
docker ps

# 查看日志
docker logs postgresql

# 进入容器,输入密码,检查是否能登录
docker exec -it postgresql psql -u postgres -w

5、容器内重置 postgresql 密码

# 进入容器内的postgresql命令行:
docker exec -it postgresql psql -u postgres

# 执行密码修改命令:
alter user postgres with password '新密码';

# 输入\q退出

到此这篇关于rockylinux9.5部署postgresql的实现步骤的文章就介绍到这了,更多相关rockylinux部署postgresql内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com