1. 首页 > PostgreSQL教程 > 正文

PostgreSQL教程FG061-PG二进制安装:不同操作系统(Linux/Windows)全流程

本文档风哥主要介绍PostgreSQL数据库二进制安装相关知识,包括Linux系统YUM方式安装、RPM包方式安装、Windows系统图形化安装、国产麒麟系统安装等内容,风哥教程参考PostgreSQL官方文档Installation
from Binaries章节,适合DBA人员在学习和测试中使用,如果要应用于生产环境则需要自行确认。

Part01-基础概念与理论知识

1.1 PostgreSQL数据库二进制安装概述

PostgreSQL数据库二进制安装是指使用预编译好的二进制包进行数据库部署的方式,相比源码编译安装,二进制安装更加简单快捷,适合快速部署和生产环境使用。PostgreSQL官方提供了多种二进制安装方式,包括YUM仓库安装、RPM包安装、Windows安装程序等。更多视频教程www.fgedu.net.cn

PostgreSQL数据库二进制安装特点:

  • 安装速度快,无需编译
  • 依赖关系自动处理(YUM方式)
  • 版本管理方便
  • 适合标准化部署
  • 官方提供多种安装包格式

1.2 PostgreSQL数据库二进制安装的优势

PostgreSQL数据库二进制安装的主要优势包括:

  • 部署效率高:无需编译源码,安装时间短
  • 稳定性好:官方预编译包经过充分测试
  • 维护方便:支持包管理器升级和卸载
  • 标准化程度高:安装路径和配置统一
  • 依赖管理简单:YUM/APT自动处理依赖关系

1.3 PostgreSQL数据库安装环境要求

PostgreSQL数据库安装环境要求如下:

from oracle:www.itpux.com

# 硬件要求
– CPU:建议2核以上
– 内存:建议4GB以上(风哥教程针对风哥教程针对风哥教程针对生产环境建议16GB以上)
– 磁盘:建议50GB以上(根据数据量调整)

# 操作系统要求
– Linux:Oracle Linux 9.3/8.x/7.x、RHEL 9.3/8.x/7.x
– 国产系统:麒麟Kylin v10 SP3、欧拉OpenEuler
– Windows:Windows Server 2016/2019/2022、Windows 10/11

# 软件依赖
– glibc 2.17及以上
– readline库
– zlib库
– openssl库(可选,用于SSL连接)

风哥提示:风哥教程针对风哥教程针对风哥教程针对生产环境建议使用Linux系统部署PostgreSQL数据库,Windows系统主要用于开发测试环境。学习交流加群风哥微信: itpux-com

Part02-生产环境规划与建议

2.1 Linux系统安装规划

Linux系统安装PostgreSQL数据库规划要点:

# 安装方式选择
– YUM仓库安装:推荐,自动处理依赖
– RPM包安装:适合离线安装场景
– 二进制包安装:适合自定义安装路径

# 用户规划
– 操作系统用户:postgres(默认)
– 数据库超级用户:pgsql – 建议创建独立的运维用户

# 目录规划
– 安装目录:/postgresql/fgapp(默认)
– 数据目录:/postgresql/data
– 日志目录:/postgresql/logs
– 备份目录:/postgresql/backup
– 归档目录:/postgresql/archive

# 端口规划
– 默认端口:5432
– 风哥教程针对风哥教程针对风哥教程针对生产环境建议:5432-5440范围内选择

2.2 Windows系统安装规划

Windows系统安装PostgreSQL数据库规划要点:

# 安装方式选择
– 图形化安装程序:推荐,简单直观
– 命令行静默安装:适合批量部署

# 用户规划
– Windows服务账户:postgres(默认)
– 数据库超级用户:pgsql # 目录规划
– 安装目录:C:\Program Files\PostgreSQL\18
– 数据目录:C:\Program Files\PostgreSQL\18\data
– 日志目录:C:\Program Files\PostgreSQL\18\data\log

# 服务规划
– 服务名称:postgresql-x64-18
– 启动类型:自动

2.3 PostgreSQL数据库目录规划

生产环境PostgreSQL数据库目录规划建议:

  • 数据目录:建议独立磁盘,使用高速存储
  • WAL日志目录:建议与数据目录分开,使用高速磁盘
  • 归档目录:建议独立存储,定期备份
  • 备份目录:建议异地存储
  • 临时目录:建议配置TMPFS
风哥教程针对风哥教程针对风哥教程针对生产环境建议:数据目录、WAL日志目录、归档目录建议分布在不同磁盘上,以提高I/O性能和数据安全性。学习交流加群风哥QQ113257174

Part03-生产环境项目实施方案

3.1 Linux系统YUM方式安装PostgreSQL数据库

3.1.1 配置PostgreSQL数据库YUM仓库

# 安装PostgreSQL官方YUM仓库
# CentOS/RHEL/Oracle Linux 9.x
$ sudo dnf install -y
https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
pgdg-redhat-repo noarch latest @commandline 13 k

Transaction Summary
================================================================================
Install 1 Package

Total size: 13 k
Installed size: 13 k
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : pgdg-redhat-repo-latest.noarch 1/1
Verifying : pgdg-redhat-repo-latest.noarch 1/1

Installed:
pgdg-redhat-repo-latest.noarch

Complete!

# 禁用内置PostgreSQL模块(RHEL/CentOS 8/9)
$ sudo dnf -qy module disable postgresql

Importing GPG key 0x442DF0F8:
Userid : “PostgreSQL RPM Building Project
Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG

Module postgresql disabled.

3.1.2 安装PostgreSQL数据库软件

# 安装PostgreSQL 18服务端和客户端
$ sudo dnf install -y postgresql18-server postgresql18

PostgreSQL 18 – x86_64 15 kB/s | 1.7 kB 00:00
PostgreSQL 18 – x86_64 – Updates 28 kB/s | 1.7 kB 00:00
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
postgresql18 x86_64 18.3-1PGDG.rhel9 pgdg18 1.6 M
postgresql18-server x86_64 18.3-1PGDG.rhel9 pgdg18 6.2 M
Installing dependencies:
libicu x86_64 67.1-9.el9 ol9_fgappstream 9.6 M
postgresql18-libs x86_64 18.3-1PGDG.rhel9 pgdg18 295 k

Transaction Summary
================================================================================
Install 4 Packages

Total download size: 17 M
Installed size: 62 M
Downloading Packages:
(1/4): postgresql18-libs-18.3-1PGDG.rhel9.x86_64.rpm 2.1 MB/s | 295 kB 00:00
(2/4): postgresql18-18.3-1PGDG.rhel9.x86_64.rpm 8.5 MB/s | 1.6 MB 00:00
(3/4): postgresql18-server-18.3-1PGDG.rhel9.x86_64.rp 15 MB/s | 6.2 MB 00:00
(4/4): libicu-67.1-9.el9.x86_64.rpm 12 MB/s | 9.6 MB 00:00
——————————————————————————–
Total 18 MB/s | 17 MB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/4
Installing : libicu-67.1-9.el9.x86_64 1/4
Installing : postgresql18-libs-18.3-1PGDG.rhel9.x86_64 2/4
Installing : postgresql18-18.3-1PGDG.rhel9.x86_64 3/4
Installing : postgresql18-server-18.3-1PGDG.rhel9.x86_64 4/4
Running scriptlet: postgresql18-server-18.3-1PGDG.rhel9.x86_64 4/4
Verifying : libicu-67.1-9.el9.x86_64 1/4
Verifying : postgresql18-18.3-1PGDG.rhel9.x86_64 2/4
Verifying : postgresql18-libs-18.3-1PGDG.rhel9.x86_64 3/4
Verifying : postgresql18-server-18.3-1PGDG.rhel9.x86_64 4/4

Installed:
libicu-67.1-9.el9.x86_64
postgresql18-18.3-1PGDG.rhel9.x86_64
postgresql18-libs-18.3-1PGDG.rhel9.x86_64
postgresql18-server-18.3-1PGDG.rhel9.x86_64

Complete!

# 查看安装的PostgreSQL版本
$ /postgresql/fgapp/bin/pgsql –version
pgsql (PostgreSQL) 18.3

3.1.3 初始化PostgreSQL数据库集群

# 初始化数据库集群
$ sudo /postgresql/fgapp/bin/postgresql-18-setup initdb

Initializing fgedudb … OK

# 查看初始化结果
$ ls -la /postgresql/data18/
total 132
drwx——. 19 pgsql pgsql 4096 Apr 2 10:30 .
drwx——. 3 pgsql pgsql 22 Apr 2 10:30 ..
-rw——-. 1 pgsql pgsql 3 Apr 2 10:30 PG_VERSION
drwx——. 6 pgsql pgsql 58 Apr 2 10:30 base
-rw——-. 1 pgsql pgsql 30 Apr 2 10:30 current_logfiles
drwx——. 2 pgsql pgsql 4096 Apr 2 10:30 global
drwx——. 2 pgsql pgsql 32 Apr 2 10:30 log
drwx——. 2 pgsql pgsql 32 Apr 2 10:30 pg_commit_ts
drwx——. 2 pgsql pgsql 32 Apr 2 10:30 pg_dynshmem
-rw——-. 1 pgsql pgsql 4877 Apr 2 10:30 pg_hba.conf
-rw——-. 1 pgsql pgsql 1636 Apr 2 10:30 pg_ident.conf
drwx——. 4 pgsql pgsql 68 Apr 2 10:30 pg_logical
drwx——. 4 pgsql pgsql 68 Apr 2 10:30 pg_multixact
drwx——. 2 pgsql pgsql 32 Apr 2 10:30 pg_notify
drwx——. 2 pgsql pgsql 32 Apr 2 10:30 pg_replslot
drwx——. 2 pgsql pgsql 32 Apr 2 10:30 pg_serial
drwx——. 2 pgsql pgsql 32 Apr 2 10:30 pg_snapshots
drwx——. 2 pgsql pgsql 32 Apr 2 10:30 pg_stat
drwx——. 2 pgsql pgsql 32 Apr 2 10:30 pg_stat_tmp
drwx——. 2 pgsql pgsql 32 Apr 2 10:30 pg_subtrans
drwx——. 2 pgsql pgsql 32 Apr 2 10:30 pg_tblspc
drwx——. 2 pgsql pgsql 32 Apr 2 10:30 pg_twophase
drwx——. 5 pgsql pgsql 136 Apr 2 10:30 pg_wal
-rw——-. 1 pgsql pgsql 88 Apr 2 10:30 postgresql.auto.conf
-rw——-. 1 pgsql pgsql 29863 Apr 2 10:30 postgresql.conf

3.1.4 启动PostgreSQL数据库服务

# 启动PostgreSQL服务
$ sudo systemctl start postgresql-18

# 设置开机自启动
$ sudo systemctl enable postgresql-18
Created symlink /etc/systemd/system/multi-fgedu.target.wants/postgresql-18.service →
/usr/lib/systemd/system/postgresql-18.service.

# 查看服务状态
$ sudo systemctl status postgresql-18

● postgresql-18.service – PostgreSQL 18 fgedudb server
Loaded: loaded (/usr/lib/systemd/system/postgresql-18.service; enabled; preset: disabled)
Active: active (running) since Thu 2026-04-02 10:35:00 CST; 10s ago
Docs: https://www.postgresql.org/docs/18/static/
Process: 15234 ExecStartPre=/postgresql/fgapp/bin/postgresql-18-check-db-dir ${PGDATA} (code=exited,
status=0/SUCCESS)
Main PID: 15236 (postmaster)
Tasks: 8 (limit: 23460)
Memory: 18.5M
CPU: 156ms
CGroup: /system.slice/postgresql-18.service
├─15236 /postgresql/fgapp/bin/postmaster -D /postgresql/data18
├─15237 “logger: ”
├─15239 “checkpointer: ”
├─15240 “background writer: ”
├─15241 “wal writer: ”
├─15242 “autovacuum launcher: ”
├─15243 “logical replication launcher: ”
└─15244 “stats collector: ”

Apr 02 10:35:00 fgedu.net.cn systemd[1]: Starting PostgreSQL 18 fgedudb server…
Apr 02 10:35:00 fgedu.net.cn postmaster[15236]: 2026-04-02 10:35:00.123 CST [15236] LOG: starting PostgreSQL
18.3
Apr 02 10:35:00 fgedu.net.cn postmaster[15236]: 2026-04-02 10:35:00.123 CST [15236] LOG: listening on IPv6
address “::1”, port 5432
Apr 02 10:35:00 fgedu.net.cn postmaster[15236]: 2026-04-02 10:35:00.123 CST [15236] LOG: listening on IPv4
address “127.0.0.1”, port 5432
Apr 02 10:35:00 fgedu.net.cn postmaster[15236]: 2026-04-02 10:35:00.456 CST [15236] LOG: fgedudb system is
ready to accept connections
Apr 02 10:35:00 fgedu.net.cn systemd[1]: Started PostgreSQL 18 fgedudb server.

风哥提示:YUM安装方式会自动创建postgres操作系统用户和默认数据目录,风哥教程针对风哥教程针对风哥教程针对生产环境建议将数据目录迁移到独立磁盘。更多学习教程公众号风哥教程itpux_com

3.2 Linux系统RPM包方式安装PostgreSQL数据库

3.2.1 下载PostgreSQL数据库RPM包

# 创建软件存放目录
$ mkdir -p /postgresql/software
$ cd /postgresql/software

# 下载PostgreSQL 18 RPM包(使用wget)
$ wget
https://download.postgresql.org/pub/repos/yum/18/redhat/rhel-9-x86_64/postgresql18-libs-18.3-1PGDG.rhel9.x86_64.rpm
$ wget
https://download.postgresql.org/pub/repos/yum/18/redhat/rhel-9-x86_64/postgresql18-18.3-1PGDG.rhel9.x86_64.rpm
$ wget
https://download.postgresql.org/pub/repos/yum/18/redhat/rhel-9-x86_64/postgresql18-server-18.3-1PGDG.rhel9.x86_64.rpm

–2026-04-02 10:40:00–
https://download.postgresql.org/pub/repos/yum/18/redhat/rhel-9-x86_64/postgresql18-libs-18.3-1PGDG.rhel9.x86_64.rpm
Resolving download.postgresql.org (download.postgresql.org)… 147.75.85.132
Connecting to download.postgresql.org (download.postgresql.org)|147.75.85.132|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 301056 (294K) [fgapplication/x-rpm]
Saving to: ‘postgresql18-libs-18.3-1PGDG.rhel9.x86_64.rpm’

postgresql18-libs-18.3-1PGDG.rhel9.x86_64.rpm
100%[=================================================================================================================>]
294.00K 1.2MB/s in 0.2s

2026-04-02 10:40:01 (1.2 MB/s) – ‘postgresql18-libs-18.3-1PGDG.rhel9.x86_64.rpm’ saved [301056/301056]

# 查看下载的RPM包
$ ls -lh *.rpm
-rw-r–r–. 1 root root 1.6M Apr 2 10:40 postgresql18-18.3-1PGDG.rhel9.x86_64.rpm
-rw-r–r–. 1 root root 294K Apr 2 10:40 postgresql18-libs-18.3-1PGDG.rhel9.x86_64.rpm
-rw-r–r–. 1 root root 6.2M Apr 2 10:40 postgresql18-server-18.3-1PGDG.rhel9.x86_64.rpm

3.2.2 安装PostgreSQL数据库RPM包

# 安装依赖包
$ sudo dnf install -y libicu

# 安装PostgreSQL RPM包
$ sudo rpm -ivh postgresql18-libs-18.3-1PGDG.rhel9.x86_64.rpm
Verifying… ################################# [100%]
Preparing… ################################# [100%]
Updating / installing…
1:postgresql18-libs-18.3-1PGDG.rhel9 ################################# [100%]

$ sudo rpm -ivh postgresql18-18.3-1PGDG.rhel9.x86_64.rpm
Verifying… ################################# [100%]
Preparing… ################################# [100%]
Updating / installing…
1:postgresql18-18.3-1PGDG.rhel9 ################################# [100%]

$ sudo rpm -ivh postgresql18-server-18.3-1PGDG.rhel9.x86_64.rpm
Verifying… ################################# [100%]
Preparing… ################################# [100%]
Updating / installing…
1:postgresql18-server-18.3-1PGDG.rh ################################# [100%]

# 验证安装
$ rpm -qa | grep postgresql18
postgresql18-libs-18.3-1PGDG.rhel9.x86_64
postgresql18-18.3-1PGDG.rhel9.x86_64
postgresql18-server-18.3-1PGDG.rhel9.x86_64

3.3 Windows系统安装PostgreSQL数据库

3.3.1 下载PostgreSQL数据库Windows安装包

# 访问PostgreSQL官方下载页面
# https://www.postgresql.org/download/windows/

# 下载Windows安装包(以PostgreSQL 18为例)
# 文件名:postgresql-18.3-1-windows-x64.exe
# 大小约:300MB

# 或使用PowerShell下载
PS C:\Users\Administrator> Invoke-WebRequest -Uri
“https://get.enterprisedb.com/postgresql/postgresql-18.3-1-windows-x64.exe” -OutFile
“C:\postgresql\postgresql-18.3-1-windows-x64.exe”

3.3.2 图形化安装PostgreSQL数据库

# 双击运行安装程序 postgresql-18.3-1-windows-x64.exe

# 安装步骤说明:
步骤1:欢迎界面 – 点击”Next”继续
步骤2:安装目录 – 选择”C:\Program Files\PostgreSQL\18″ – 点击”Next”
步骤3:选择组件 – 勾选全部(PostgreSQL Server、pgAdmin 4、Stack Builder、Command Line Tools)- 点击”Next”
步骤4:数据目录 – 选择”C:\Program Files\PostgreSQL\18\data” – 点击”Next”
步骤5:设置密码 – 输入postgres超级用户密码 – 点击”Next”
步骤6:端口设置 – 默认5432端口 – 点击”Next”
步骤7:区域设置 – 选择”Chinese (Simplified), China”或默认”Default locale” – 点击”Next”
步骤8:准备安装 – 点击”Next”开始安装
步骤9:安装进度 – 等待安装完成
步骤10:完成安装 – 点击”Finish”

3.3.3 验证Windows安装

# 打开Windows命令提示符或PowerShell

# 检查PostgreSQL服务状态
PS C:\Users\Administrator> Get-Service postgresql*

Status Name DisplayName
—— —- ———–
Running postgresql-x64-18 postgresql-x64-18 – PostgreSQL Server 18

# 使用psql连接数据库
PS C:\Users\Administrator> cd “C:\Program Files\PostgreSQL\18\bin”
PS C:\Program Files\PostgreSQL\18\bin> .\psql -U pgsql
用户 pgsql 的口令:
psql (18.3)
输入 “help” 来获取帮助信息.

postgres=# SELECT version();
version
———————————————————————————————————
PostgreSQL 18.3, compiled by Visual C++ build 1942, 64-bit
(1 行记录)

postgres=# \q

风哥提示:Windows安装PostgreSQL后会自动创建Windows服务,建议将服务启动类型设置为”自动”,确保开机自动启动。from PostgreSQL:www.itpux.com

Part04-生产案例与实战讲解

4.1 国产麒麟系统安装PostgreSQL数据库实战

4.1.1 麒麟系统环境检查

# 查看系统版本
$ cat /etc/os-release
NAME=”Kylin Linux Advanced Server”
VERSION=”V10 (Tercel)”
ID=”kylin”
VERSION_ID=”V10″
PRETTY_NAME=”Kylin Linux Advanced Server V10 (Tercel)”
ANSI_COLOR=”0;31″

# 查看内核版本
$ uname -r
4.19.90-24.4.v2101.ky10.x86_64

# 查看系统架构
$ uname -m
x86_64

# 检查内存和磁盘
$ free -h
总计 已用 空闲 共享 缓冲/缓存 可用
内存: 31Gi 2.1Gi 28Gi 256Mi 1.2Gi 28Gi
交换: 16Gi 0B 16Gi

$ df -h /postgresql
文件系统 容量 已用 可用 已用% 挂载点
/dev/mfgapper/vg01-lv_pg 200G 10G 190G 5% /postgresql

4.1.2 麒麟系统安装PostgreSQL数据库

# 配置YUM源(麒麟系统使用yum或dnf)
$ sudo cat > /etc/yum.repos.d/pgdg.repo << EOF [pgdg18] name=PostgreSQL 18 for RHEL/CentOS 7 - x86_64 baseurl=https://download.postgresql.org/pub/repos/yum/18/redhat/rhel-7-x86_64/ enabled=1 gpgcheck=0 EOF # 安装PostgreSQL $ sudo yum install -y postgresql18-server postgresql18 已加载插件:fastestmirror Determining fastest mirrors pgdg18 | 4.1 kB 00:00 (1/2): pgdg18/7/x86_64/group_gz | 24 kB 00:01 (2/2): pgdg18/7/x86_64/primary_db | 1.2 MB 00:03 正在解决依赖关系 --> 正在检查事务
—> 软件包 postgresql18.x86_64.0.18.3-1PGDG.rhel7 将被 安装
—> 软件包 postgresql18-server.x86_64.0.18.3-1PGDG.rhel7 将被 安装
–> 解决依赖关系完成

依赖关系解决
================================================================================
Package 架构 版本 源 大小
================================================================================
正在安装:
postgresql18 x86_64 18.3-1PGDG.rhel7 pgdg18 1.6 M
postgresql18-server x86_64 18.3-1PGDG.rhel7 pgdg18 6.2 M

事务概要
================================================================================
安装 2 软件包

总下载量:7.8 M
安装大小:30 M
Downloading packages:
(1/2): postgresql18-18.3-1PGDG.rhel7.x86_64.rpm | 1.6 MB 00:02
(2/2): postgresql18-server-18.3-1PGDG.rhel7.x86_64.rpm | 6.2 MB 00:05
——————————————————————————–
总计 1.3 MB/s | 7.8 MB 00:06
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : postgresql18-18.3-1PGDG.rhel7.x86_64 1/2
正在安装 : postgresql18-server-18.3-1PGDG.rhel7.x86_64 2/2
验证中 : postgresql18-18.3-1PGDG.rhel7.x86_64 1/2
验证中 : postgresql18-server-18.3-1PGDG.rhel7.x86_64 2/2

已安装:
postgresql18.x86_64 0:18.3-1PGDG.rhel7
postgresql18-server.x86_64 0:18.3-1PGDG.rhel7

完毕!

# 初始化数据库
$ sudo /postgresql/fgapp/bin/postgresql-18-setup initdb
Initializing fgedudb … OK

# 启动服务
$ sudo systemctl start postgresql-18
$ sudo systemctl enable postgresql-18
Created symlink from /etc/systemd/system/multi-fgedu.target.wants/postgresql-18.service to
/usr/lib/systemd/system/postgresql-18.service.

4.2 PostgreSQL数据库安装常见问题处理

4.2.1 依赖包缺失问题

# 问题现象:安装时报依赖缺失错误
错误:依赖检测失败:
libicu.so.67()(64bit) 被 postgresql18-18.3-1PGDG.rhel9.x86_64 需要

# 解决方案:安装缺失的依赖包
$ sudo dnf install -y libicu

# 或者使用–skip-broken参数跳过依赖检查(不推荐)
$ sudo rpm -ivh –nodeps postgresql18-18.3-1PGDG.rhel9.x86_64.rpm

4.2.2 端口被占用问题

# 问题现象:启动时报端口被占用
$ sudo systemctl start postgresql-18
Job for postgresql-18.service failed because the control process exited with error code.
See “systemctl status postgresql-18.service” and “journalctl -xe” for details.

# 查看端口占用
$ sudo netstat -tlnp | grep 5432
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 12345/pgsql # 解决方案1:停止占用端口的进程
$ sudo kill -9 12345

# 解决方案2:修改PostgreSQL端口
$ sudo vi /postgresql/data18/postgresql.conf
port = 5433

# 重启服务
$ sudo systemctl restart postgresql-18

4.2.3 权限问题

# 问题现象:数据目录权限不正确
$ sudo systemctl start postgresql-18
“initdb: error: directory “/postgresql/data18″ exists but is not empty”

# 解决方案:检查并修复权限
$ sudo chown -R pgsql: pgsql /postgresql/data18
$ sudo chmod 700 /postgresql/data18

# 验证权限
$ ls -la /postgresql/fgapp/18/
drwx——. 19 pgsql pgsql 4096 Apr 2 10:30 data

4.3 PostgreSQL数据库安装验证与测试

4.3.1 连接测试

# 切换到postgres用户
$ sudo su – pgsql # 连接数据库
$ psql
psql (18.3)
输入 “help” 来获取帮助信息.

postgres=# SELECT version();
version
———————————————————————————————————
PostgreSQL 18.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.4.1 20230605 (Red Hat 11.4.1-2), 64-bit
(1 行记录)

# 查看数据库列表
postgres=# \l
数据库列表
名称 | 拥有者 | 字符编码 | 校对规则 | Ctype | 存取权限
———–+———-+———-+————-+————-+———————–
pgsql | pgsql | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
template0 | pgsql | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/pgsql +
| | | | | postgres=CTc/pgsql template1 | pgsql | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/pgsql +
| | | | | postgres=CTc/pgsql (3 行记录)

# 创建测试数据库
postgres=# CREATE DATABASE fgedudb;
CREATE DATABASE

# 创建测试表
postgres=# \c fgedudb
您现在已经连接到数据库 “fgedudb”,用户 “postgres”.
fgedudb=# CREATE TABLE fgedu_test(id serial PRIMARY KEY, name varchar(50));
CREATE TABLE fgedu_# 插入测试数据
fgedudb=# INSERT INTO fgedu_test(name) VALUES(‘PostgreSQL教程’);
INSERT 0 1

# 查询测试
fgedudb=# SELECT * FROM fgedu_test;
id | name
—-+—————-
1 | PostgreSQL教程
(1 行记录)

fgedudb=# \q

风哥提示:安装完成后务必进行连接测试,确保数据库服务正常运行。建议创建测试数据库和表进行功能验证。更多视频教程www.fgedu.net.cn

Part05-风哥经验总结与分享

5.1 PostgreSQL数据库二进制安装最佳实践

PostgreSQL数据库二进制安装最佳实践风哥教程风哥教程风哥教程总结:

  • 选择合适的安装方式:生产环境推荐YUM方式,便于后续升级维护
  • 规划好目录结构:数据目录、日志目录、归档目录建议分布在不同磁盘
  • 配置好内核参数:安装前配置好共享内存、信号量等内核参数
  • 关闭透明大页:避免内存管理问题
  • 配置好防火墙:开放PostgreSQL端口
  • 定期备份:安装完成后立即配置备份策略

5.2 PostgreSQL数据库安装检查清单

# PostgreSQL安装检查清单

## 安装前检查
□ 操作系统版本符合要求
□ 硬件资源满足需求(CPU/内存/磁盘)
□ 网络配置正确(主机名/IP/端口)
□ 内核参数已优化
□ 依赖包已安装
□ 防火墙端口已开放

## 安装过程检查
□ 安装包下载完整
□ 安装过程无报错
□ 数据目录初始化成功
□ 服务启动正常

## 安装后检查
□ 服务状态正常
□ 本地连接测试成功
□ 数据库版本正确
□ 字符集配置正确
□ 日志记录正常
□ 备份策略已配置

5.3 PostgreSQL数据库安装工具推荐

PostgreSQL数据库安装相关工具推荐:

  • psql:PostgreSQL官方命令行客户端,日常管理必备
  • pgAdmin 4:PostgreSQL官方图形化管理工具
  • DBeaver:通用数据库管理工具,支持PostgreSQL
  • pgbench:PostgreSQL性能测试工具
  • pg_stat_statements:SQL性能统计扩展
风哥风哥教程风哥教程风哥教程总结:PostgreSQL二进制安装是生产环境部署的首选方式,安装简单、维护方便。安装前做好规划,安装后做好验证和备份,确保数据库稳定运行。学习交流加群风哥微信:
itpux-com

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息