当前位置: 首页 > news >正文

centos 安装 postgresql 数据库

* 安装必要的工具

yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

* 移除可能冲突的默认 PostgreSQL 模块(如有)

yum remove -y postgresql*

* 查看 postgresql 版本

yum list postgresql*

* 按 y 一直安装

* 安装 PostgreSQL 12 服务器和核心组件

yum install -y postgresql12 postgresql12-server postgresql12-contrib

* 初始化数据库集群

/usr/pgsql-12/bin/postgresql-12-setup initdb

* 启动 PostgreSQL 服务并设置开机启动

systemctl start postgresql-12
systemctl enable postgresql-12

* 检查服务状态:

systemctl status postgresql-12

* 配置 PostgreSQL 远程访问,修改 pg_hba.conf文件

vi /var/lib/pgsql/12/data/pg_hba.conf

* 找到类似如下行(针对 IPv4 和 IPv6 的 local 和 host 认证):

# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

将 ident改为 md5或 scram-sha-256(推荐),并添加允许某个 IP 或所有 IP 访问的规则,例如:

# 允许所有IP通过密码md5方式访问(生产环境慎用!)
host    all             all             0.0.0.0/0               md5# 或者只允许某个网段,比如公司内网
# host    all             all             192.168.1.0/24          md5

修改 postgresql.conf文件,监听所有 IP 或指定 IP

vi /var/lib/pgsql/12/data/postgresql.conf

找到如下代码:

#listen_addresses = 'localhost'
修改成:
listen_addresses = '*'

* 重启 PostgreSQL 服务

systemctl restart postgresql-12

* == 设置 PostgreSQL 用户与数据库 ==

PostgreSQL 安装后会创建一个名为 postgres的系统用户,该用户也是数据库的超级用户,无需密码,直接登录

sudo -i -u postgres

使用 psql 登录数据库控制台

psql

创建新数据库和用户

-- 创建一个新数据库
CREATE DATABASE 数据库名;-- 创建一个新用户并设置密码
CREATE USER 用户名 WITH ENCRYPTED PASSWORD '密码';-- 授予该用户对 mydb 数据库的所有权限
GRANT ALL PRIVILEGES ON DATABASE 数据库名 TO 用户名;

退出 psql

\q

退出 postgresql 用户

exit

* 开放防火墙端口:

# 开启 5432 端口
firewall-cmd --zone=public --add-port=5432/tcp --permanent# 刷新端口
firewall-cmd --reload# 查看端口
firewall-cmd --zone=public --list-ports

* 最后:需要安装 ​​其他版本的 PostgreSQL(如 13、14、15)​​,只需将上述命令中的 12替换为对应版本号即可

yum install -y postgresql14 postgresql14-server
/usr/pgsql-14/bin/postgresql-14-setup initdb
systemctl start postgresql-14

 

 

systemctl restart postgresql-12
http://www.wxhsa.cn/company.asp?id=3476

相关文章:

  • 个人问题反省--致命问题(急需解决)
  • STM32 HAL学习笔记:EC11的使用和定时器中编码器模式的中断
  • 题解:P12546 [UOI 2025] Convex Array
  • Java并发编程(1)
  • 玩转 hostnamectl set-hostname:Linux 主机名管理的优雅方式 - 实践
  • DES原理与举例说明
  • Spring八股文 - 实践
  • Morpheus 审计报告分享2:ChianLink 数据源有着不同的“心跳”
  • 「嘶吼」第一章:吃饭睡觉打豆豆
  • Clion 基础设置
  • 《Vuejs设计与实现》第 16 章(解析器) 上 - 教程
  • go代码(1)
  • 7种常见的入侵检测系统规避技术解析
  • js的引用
  • P3957 [NOIP 2017 普及组] 跳房子
  • C++中常用的STL容器
  • 我的数据科学探索之旅:从兴趣到公考与学习计划
  • MySQL 核心记录解析:从配置到存储的 “说明书 + 记录仪” 系统
  • JavaScript Array 对象
  • 代码规范
  • mac远程连接windows
  • 子类不依赖泛型,重写父类方法,通过强制类型转换父类方法参数出现的问题。——— 一个例子引发的思考
  • WebStorm代码一键美化
  • 3分钟搞定Vue组件库
  • Golang中设置HTTP请求代理的策略
  • [开源免费] iGTTS(Gemini TTS) 文本转语音(TTS)的命令行工具。
  • 结合Spring和MyBatis实现DAO层操作综述
  • 202205_CHIMA_follow
  • Lua脚本协助Redis分布式锁实现命令的原子性
  • 快读快写 学习笔记