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

Linux安装部署Postgresql数据库

联网安装方案

Linux能在线安装依赖组件的前提下,可以快速安装部署PG数据库,安装过程使用root管理员帐号:

首先,使用如下命令自动下载Postgresql组件:

# 在openEuler、Fedora或CentOS 8+上,你可能会使用:
sudo dnf update
sudo dnf install postgresql-server postgresql -y# 在CentOS 7或RHEL 7上,你可能会使用:
sudo yum update
sudo yum install postgresql-server postgresql -y# 在Ubuntu或Debian上,你可能会使用:
sudo apt update
# 在Debian和Ubuntu的包管理系统中,PostgreSQL的服务器和客户端工具是集成在 postgresql 包中的,所以不存在单独install postgresql-server一说
sudo apt install postgresql postgresql-contrib -y

安装完成后,需要初始化PostgreSQL数据库。运行以下命令:

sudo postgresql-setup --initdb

正常情况下,返回信息如下:

 * Initializing database in '/var/lib/pgsql/data'* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log

启动PostgreSQL服务,并设置为开机自启:

sudo systemctl start postgresql
sudo systemctl enable postgresql

访问PostgreSQL:你可以通过 psql 命令行工具访问PostgreSQL。

在前面初始化时,会给系统预置一个postgres的用户用于管理数据库,我们可以切换到 postgres 用户并进入 psql

sudo -i -u postgres
psql# postgres默认没有密码,在psql模式下,通过如下命令设置密码:
\password postgres

创建用户和数据库:在 psql 中,你可以创建用户和数据库。

例如,创建一个名为 seeyondb 的用户(密码通用户名)和一个名为 seeyondatabase 的数据库:

-- 在psql模式下创建帐号和库
CREATE USER seeyondb WITH PASSWORD 'seeyondb';
-- 在psql模式下新建一个数据库,管理权限交给seeyondb
CREATE DATABASE seeyondatabase OWNER seeyondb;

退出psql:完成后,可以输入 \q 退出 psql

调优PostgreSQL:编辑/var/lib/pgsql/data/postgresql.conf,调整数据库的最大连接和缓存数量:

-- max_connections最大连接数的值,生产环境建议配置500,后续根据实际情况做调整:
max_connections=500-- shared_buffers的值:缓存模块,可以加速SQL响应效率,建议此值设置为2G以上,生产环境一般推荐占用当前系统内存的15%~20%,配置如下:
shared_buffers=2048M-- listen_addresses设置访问IP,默认localhost,设置*表示支持全部IP访问
listen_addresses = '*'

参数修改后,通过sudo systemctl restart postgresql设置生效。

配置PostgreSQL:编辑/var/lib/pgsql/data/pg_hba.conf文件来设置身份验证方法:

# 增加一行host配置,允许seeyondatabase数据库可以被外部IP 192.168.1.100通过帐号seeyondb访问
host    seeyondatabase    seeyondb    192.168.1.100/32    md5
# 也可以把IP设置为0.0.0.0/0,表示任意外部IP访问,这种方式仅适合开发环境,生产环境不要随意暴露连接
host    seeyondatabase    seeyondb    0.0.0.0/0    md5

参数修改后,通过sudo systemctl restart postgresql设置生效。

配置防火墙,允许PG数据库端口可被外部访问:

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

以上完成后,我们可以通过客户端远程连接PG数据库了:

如果客户端通过数据库工具连接不通(比如Navicat),可根据工具提示将必要的IP加入到pg_hba中,如下图所示表示192.168.188.1需要加入配置中:

相关文章:

  • LiteOS与SLE透传实战案例
  • 【基础算法】插值查找算法 - JAVA
  • Java 算法入门:从基础概念到实战示例
  • MySQL数据同步之Canal讲解
  • 【Hice入门】Hive性能优化:存储与计算优化深度解析
  • 【C++指南】vector(三):迭代器失效问题详解
  • 前端如何转后端
  • JGQ516Ⅱ数据采集湿法袋式除尘器实验装置
  • Python学习笔记(第二部分)
  • 华为eNSP:IS-IS认证
  • 加载ko驱动模块:显示Arm版本问题解决!
  • 分享5款开源、美观的 WinForm UI 控件库
  • PS学习笔记(一)
  • 【dify—8】Chatflow实战——博客文章生成器
  • 方案精读:58页华为:全面预算管理与实践【附全文阅读】
  • ruoyi-plus Spring Boot + MyBatis 中 BaseEntity 的设计与动态查询实践
  • 【计算机视觉】三维视觉:Nerfstudio:模块化神经辐射场框架的技术突破与实战指南
  • 本文不定期更新,用于收录各种怪异的python脚本
  • 【排序算法】八大经典排序算法详解
  • 17. LangChain流式响应与实时交互:打造“类ChatGPT“体验
  • “五一”假期首日国铁郑州局迎大客流,预计发送旅客逾95万人次
  • 女冰队长于柏巍,拒绝被年龄定义
  • 证监会副主席王建军被查
  • 三大猪企一季度同比均实现扭亏为盈,营收同比均实现增长
  • 民营经济促进法出台,自今年5月20日起施行
  • 五一小长假,带着小狗去上海音乐厅