PostgreSQL部署

程小虎2025-12-23 21:25:47

📦 PostgreSQL部署


📌 文档信息

  • 作者: 程小虎
  • 创建时间: 2025-12-04
  • 最近修订: 2025-12-06
  • 版本号: v1.0

✨ 介绍

PG数据库介绍

PG数据库简介

PostgreSQL,通常简称为pg,是一个功能强大的开源对象关系数据库系统。它使用和扩展了SQL语言,加入了许多安全的存储和扩展的数据类型、索引的特性,同时支持高并发处理、故障转移和复制等高级功能。 它的核心优势包括开源自由、高度可扩展、支持多种编程语言、拥有强大的社区支持、安全可靠 。深入来说,它的多语言支持功能允许开发者使用包括Python、Java、Perl、Ruby等在内的多种编程语言与数据库交互,这极大地灵活化了开发过程和环境

PG数据库的特点

PostgreSQL是一种开源的关系型数据库管理系统,它以其独特的特点和优势在数据库领域中占据重要地位。以下是对PostgreSQL的特点和优点的详细阐述:

开源性:PostgreSQL是一个开源项目,用户可以自由获取、使用和修改源代码。这种开放性不仅降低了使用成本,还促进了社区的发展和技术的不断创新。

功能强大:PostgreSQL支持多种数据类型,包括整型、浮点型、日期型、文本型、数组等,并提供了复杂查询、事务处理、触发器、存储过程等高级功能。这使得PostgreSQL能够满足各种复杂的业务需求。

可扩展性:PostgreSQL支持水平和垂直扩展。通过分区、复制和集群等技术,可以轻松地扩展数据库的性能和容量。此外,PostgreSQL还支持插件和扩展,用户可以根据需要自定义功能。

兼容性好:PostgreSQL支持ANSI SQL标准,同时也支持很多其他数据库系统的语法和特性。这使得从其他数据库迁移到PostgreSQL变得更加容易。

可定制性强:PostgreSQL提供了丰富的参数和选项,用户可以根据需求进行调整和优化,以提高系统的性能和稳定性。

安全性高:PostgreSQL提供了多种安全功能,包括用户认证、权限控制、SSL加密等,确保数据的安全性。

社区活跃:PostgreSQL拥有一个活跃的开源社区,开发人员和用户在这个社区中共享经验、解决问题和贡献代码。这种社区支持促进了PostgreSQL的持续改进和发展。

PostgreSQL的优点

可靠性和稳定性 :PostgreSQL以其稳定性和可靠性而闻名。它采用了多版本并发控制(MVCC)和写前日志(WAL)等技术来保证数据的完整性和一致性。同时,PostgreSQL还经过多年的开发和测试,确保了系统的稳定性和可靠性。

处理大规模数据和高并发访问 :PostgreSQL能够处理大规模数据集和高并发访问,这使得它成为许多企业和组织首选的数据库解决方案。特别是对于那些对数据完整性和可靠性要求极高的行业,如金融交易、在线零售等,PostgreSQL更是不可或缺的工具。

成本效益:作为开源软件,PostgreSQL没有许可费用,企业可以免费使用和部署它。这大大降低了企业的IT成本,使得小型企业和创业公司也能够承担起高性能数据库的建设和运营费用。

灵活性和适应性 :PostgreSQL的开源性和可扩展性使得它能够灵活地适应各种复杂的应用场景和行业需求。无论是需要高性能的OLTP应用还是需要大规模数据分析的OLAP应用,PostgreSQL都能够提供可靠的支持。

脚本介绍

  • 本教程使用脚本安装,可实现一键安装,整个安装过程只需要一条命令即可
  • 支持 安装。在线是指编译源码所需的依赖包会自动联网下载安装(需要网络良好)。离线安装需要上传离线依赖包到脚本所在路径下
  • 在线和离线安装,都需要上传到脚本所在路径
  • PG源码包下载地址:https://www.postgresql.org/ftp/source
  • 选择对应版本,下载 [ ] 这种 结尾的源码包

✅ 支持的系统

目前脚本实测支持以下Linux发行版

支持单机 适配 X86_64是否支持
Redhat、CentOS、OracleLinux、RockyLinux、AlmaLinux >= 7 全系
OpenEuler >= 20 全系
Ubuntu >= 20 全系
AnolisOS >= 7 全系
统信 UOS V20 1070a/1070e
银河麒麟 Kylin >= V10 全系
中标麒麟 NeoKylin V7 全系
中科方德 NFSCNS 4.0 全系
磐宁 NingOS V3.0 全系

📄 脚本参数说明

📋 所有参数说明

通过 bash PGShellInstall.sh -h 可以参看脚本所有参数说明

-on  [必填],是否在线安装[Y/N],Y代表在线安装,需要上传 [ PG源码包 ]。N代表离线安装,需要上传 [ 依赖包 ][ PG源码包 ]

在线安装命令示例

bash PGShellInstall.sh -on Y

离线安装命令示例

bash PGShellInstall.sh -on N

🛠️ 安装过程

安装过程中需要使用root用户进行安装,若系统当前用户为非root用户(必须是配置了sudo免密),则先执行下面命令切换为root用户

sudo su - root

执行下面命令,创建文件上传目录

mkdir /soft

选择对应的PG版本源码包和一键安装脚本(离线安装需要上传离线依赖包 ),上传至 /soft 路径下,若一开始登录的时非root用户,可以先上传到 /tmp 路径下,然后移动到 /soft

  • postgresql-16.8.tar.gz:PG数据库源码包
  • PGShellInstall.sh:PG一键安装脚本
  • dep_pkg.tar.gz:离线依赖包(离线安装时需要上传)
[root@huge ~]# cd /soft/
[root@huge soft]# ll
总用量 3227724
-rw-r--r--. 1 root root 3272378625 123 08:49 dep_pkg.tar.gz
-rw-r--r--. 1 root root      38216 123 08:48 PGShellInstall.sh
-rw-r--r--. 1 root root   32765514 123 08:48 postgresql-16.8.tar.gz

🔍 查看帮助

执行 bash PGShellInstall.sh -h 查看脚本使用说明

[root@huge soft]# bash PGShellInstall.sh -h

 ███████████    █████████   █████████  █████               ████  ████  █████                     █████              ████  ████ 
░░███░░░░░███  ███░░░░░███ ███░░░░░███░░███               ░░███ ░░███ ░░███                     ░░███              ░░███ ░░███ 
 ░███    ░███ ███     ░░░ ░███    ░░░  ░███████    ██████  ░███  ░███  ░███  ████████    █████  ███████    ██████   ░███  ░███ 
 ░██████████ ░███         ░░█████████  ░███░░███  ███░░███ ░███  ░███  ░███ ░░███░░███  ███░░  ░░░███░    ░░░░░███  ░███  ░███ 
 ░███░░░░░░  ░███    █████ ░░░░░░░░███ ░███ ░███ ░███████  ░███  ░███  ░███  ░███ ░███ ░░█████   ░███      ███████  ░███  ░███ 
 ░███        ░░███  ░░███  ███    ░███ ░███ ░███ ░███░░░   ░███  ░███  ░███  ░███ ░███  ░░░░███  ░███ ███ ███░░███  ░███  ░███ 
 █████        ░░█████████ ░░█████████  ████ █████░░██████  █████ █████ █████ ████ █████ ██████   ░░█████ ░░████████ █████ █████
░░░░░          ░░░░░░░░░   ░░░░░░░░░  ░░░░ ░░░░░  ░░░░░░  ░░░░░ ░░░░░ ░░░░░ ░░░░ ░░░░░ ░░░░░░     ░░░░░   ░░░░░░░░ ░░░░░ ░░░░░ 

注意:本脚本仅用于新服务器上实施部署使用,若需要在已运行的服务器主机上执行,务必确保数据安全,以免发生数据丢失或者损坏,造成不可挽回的损失!!!                                                                                  

PG源码包下载路径: https://www.postgresql.org/ftp/source                                                                                  

用法: PGShellInstall.sh [选项] 对象 { 命令 | help }                                                                                  

参数说明:                                                                                       

-on [必填],是否在线安装[Y/N],Y代表在线安装,需要上传 [ PG源码包 ]。N代表离线安装,需要上传 [ 依赖包 ][ PG源码包 ]                                                   

在线安装命令示例:                                                                                  

bash PGShellInstall.sh -on Y                                                                                  

离线安装命令示例:                                                                                  

bash PGShellInstall.sh -on N     

在线安装

根据脚本参数说明,执行下面命令,在线安装PG数据库单机版

安装成功之后,会打印管理命令以及账号信息

[root@huge soft]# bash PGShellInstall.sh -on Y

 ███████████    █████████   █████████  █████               ████  ████  █████                     █████              ████  ████ 
░░███░░░░░███  ███░░░░░███ ███░░░░░███░░███               ░░███ ░░███ ░░███                     ░░███              ░░███ ░░███ 
 ░███    ░███ ███     ░░░ ░███    ░░░  ░███████    ██████  ░███  ░███  ░███  ████████    █████  ███████    ██████   ░███  ░███ 
 ░██████████ ░███         ░░█████████  ░███░░███  ███░░███ ░███  ░███  ░███ ░░███░░███  ███░░  ░░░███░    ░░░░░███  ░███  ░███ 
 ░███░░░░░░  ░███    █████ ░░░░░░░░███ ░███ ░███ ░███████  ░███  ░███  ░███  ░███ ░███ ░░█████   ░███      ███████  ░███  ░███ 
 ░███        ░░███  ░░███  ███    ░███ ░███ ░███ ░███░░░   ░███  ░███  ░███  ░███ ░███  ░░░░███  ░███ ███ ███░░███  ░███  ░███ 
 █████        ░░█████████ ░░█████████  ████ █████░░██████  █████ █████ █████ ████ █████ ██████   ░░█████ ░░████████ █████ █████
░░░░░          ░░░░░░░░░   ░░░░░░░░░  ░░░░ ░░░░░  ░░░░░░  ░░░░░ ░░░░░ ░░░░░ ░░░░ ░░░░░ ░░░░░░     ░░░░░   ░░░░░░░░ ░░░░░ ░░░░░ 

注意:本脚本仅用于新服务器上实施部署使用,若需要在已运行的服务器主机上执行,务必确保数据安全,以免发生数据丢失或者损坏,造成不可挽回的损失!!!                                                                                  

PG源码包下载路径: https://www.postgresql.org/ftp/source                                                                                  

PG数据库 开始安装,详细安装过程可查看日志: tail -2000f /soft/print_shell_install_2025_12_03_09_04_32.log                                                                                  

正在进行安装前检查,请稍等......                                                                                  

校验安装包是否上传......已完成 (耗时: 1)
解压安装包......已完成 (耗时: 1)
系统初始化......已完成 (耗时: 4)
配置网络安装源......已完成 (耗时: 25)
安装依赖包......已完成 (耗时: 176)
编译前检查......已完成 (耗时: 9)
编译......已完成 (耗时: 45)
安装......已完成 (耗时: 2)
创建用户目录......已完成 (耗时: 1)
配置环境变量......已完成 (耗时: 1)
初始化PG数据库配置......已完成 (耗时: 1)
启动PG数据库......已完成 (耗时: 1)

恭喜!PG数据库 一键安装完成(耗时: 267)。请使用以下信息连接:                                                                                  

==================================
      IP: 192.168.80.11
      端口: 5432
      初始数据库: postgres
      用户名: postgres
      密码: 123456
==================================  

安装过程中,可以新打开一个窗口,执行上面的命令,查看实时安装日志,此处就不展示详细安装日志了

[root@huge soft]# tail -2000f /soft/print_shell_install_2025_12_03_09_04_32.log

离线安装

根据脚本参数说明,执行下面命令,离线安装PG数据库单机版。

安装成功之后,会打印管理命令以及账号信息

[root@huge soft]# bash PGShellInstall.sh -on N

 ███████████    █████████   █████████  █████               ████  ████  █████                     █████              ████  ████ 
░░███░░░░░███  ███░░░░░███ ███░░░░░███░░███               ░░███ ░░███ ░░███                     ░░███              ░░███ ░░███ 
 ░███    ░███ ███     ░░░ ░███    ░░░  ░███████    ██████  ░███  ░███  ░███  ████████    █████  ███████    ██████   ░███  ░███ 
 ░██████████ ░███         ░░█████████  ░███░░███  ███░░███ ░███  ░███  ░███ ░░███░░███  ███░░  ░░░███░    ░░░░░███  ░███  ░███ 
 ░███░░░░░░  ░███    █████ ░░░░░░░░███ ░███ ░███ ░███████  ░███  ░███  ░███  ░███ ░███ ░░█████   ░███      ███████  ░███  ░███ 
 ░███        ░░███  ░░███  ███    ░███ ░███ ░███ ░███░░░   ░███  ░███  ░███  ░███ ░███  ░░░░███  ░███ ███ ███░░███  ░███  ░███ 
 █████        ░░█████████ ░░█████████  ████ █████░░██████  █████ █████ █████ ████ █████ ██████   ░░█████ ░░████████ █████ █████
░░░░░          ░░░░░░░░░   ░░░░░░░░░  ░░░░ ░░░░░  ░░░░░░  ░░░░░ ░░░░░ ░░░░░ ░░░░ ░░░░░ ░░░░░░     ░░░░░   ░░░░░░░░ ░░░░░ ░░░░░ 

注意:本脚本仅用于新服务器上实施部署使用,若需要在已运行的服务器主机上执行,务必确保数据安全,以免发生数据丢失或者损坏,造成不可挽回的损失!!!                                                                                  

PG源码包下载路径: https://www.postgresql.org/ftp/source                                                                                  

PG数据库 开始安装,详细安装过程可查看日志: tail -2000f /soft/print_shell_install_2025_12_03_09_18_17.log                                                                                  

正在进行安装前检查,请稍等......                                                                                  

校验安装包是否上传......已完成 (耗时: 1)
解压安装包......已完成 (耗时: 17)
系统初始化......已完成 (耗时: 4)
安装依赖包......已完成 (耗时: 71)
编译前检查......已完成 (耗时: 9)
编译......已完成 (耗时: 48)
安装......已完成 (耗时: 2)
创建用户目录......已完成 (耗时: 1)
配置环境变量......已完成 (耗时: 1)
初始化PG数据库配置......已完成 (耗时: 1)
启动PG数据库......已完成 (耗时: 1)

恭喜!PG数据库 一键安装完成(耗时: 156)。请使用以下信息连接:                                                                                  

==================================
      IP: 192.168.80.11
      端口: 5432
      初始数据库: postgres
      用户名: postgres
      密码: 123456
==================================  

安装过程中,可以新打开一个窗口,执行上面的命令,查看实时安装日志,此处就不展示详细安装日志了

[root@huge soft]# tail -2000f /soft/print_shell_install_2025_12_03_09_18_17.log

✅ 连接测试

安装完成,使用数据库连接工具,输入上面账号信息进行连接

IP: 192.168.80.11
端口: 5432
初始数据库: postgres
用户名: postgres
密码: 123456
最近更新 3/19/2026, 9:06:05 AM