一、PostgreSQL 基础认知

PostgreSQL 是开源免费的对象关系型数据库,源自伯克利大学,兼容 SQL 标准,支持 MVCC 多版本并发、JSON / 地理空间数据,适合企业应用、GIS、物联网、数据分析等场景。

核心特点

  1. 完全开源:无版权限制,可自由修改分发
  2. 数据类型丰富:支持数组、枚举、JSON、GIS 等特殊类型
  3. 事务安全:ACID 特性 + MVCC,高并发下数据一致
  4. 扩展性强:支持插件、自定义函数、索引
  5. 高可用:主从复制、流复制,保障业务不中断

二、两种安装方式(含全部代码)

环境说明

操作系统:OpenEuler 24版本:编译安装 16.3 / Dnf 安装 15.12

(一)编译安装 PostgreSQL 16.3

1. 安装依赖环境

bash

运行

yum -y install gcc gcc-* make libicu libicu-devel readline-devel zlib zlib-devel

补充知识点:这些依赖是编译源码必需的编译器、字符集、压缩库等组件。

2. 解压、编译、安装

bash

运行

# 解压源码包
tar zxvf postgresql-16.3.tar.gz
# 进入目录
cd postgresql-16.3
# 配置安装路径
./configure --prefix=/usr/local/pgsql
# 编译并安装
make && make install

补充知识点--prefix 指定安装目录,便于后续管理与卸载。

3. 创建用户与数据目录

bash

运行

# 创建专用用户
adduser postgres
# 创建数据存储目录
mkdir /usr/local/pgsql/data
# 修改目录归属
chown postgres /usr/local/pgsql/data

补充知识点:PostgreSQL 禁止 root 直接运行,必须用专用普通用户。

4. 配置环境变量

bash

运行

vim /etc/profile
export PATH=$PATH:/usr/local/pgsql/bin
export LD_LIBRARY_PATH=/usr/local/pgsql/lib

# 刷新生效
source /etc/profile

补充知识点:环境变量让系统能直接找到 PG 命令,无需写全路径。

5. 初始化、启动、登录

bash

运行

# 切换用户
su - postgres
# 初始化数据库
initdb -D /usr/local/pgsql/data
# 启动服务
pg_ctl -D /usr/local/pgsql/data -l logfile start
# 登录数据库
psql

补充知识点initdb 初始化数据目录,是首次启动必需步骤。


(二)Dnf 快速安装 PostgreSQL 15.12

1. 安装服务

bash

运行

dnf install -y postgresql-server
2. 初始化数据库

bash

运行

postgresql-setup --initdb

补充知识点postgresql-setup 是系统封装的一键初始化工具。

3. 登录数据库

bash

运行

su - postgres
psql

补充知识点:root 直接登录会报错,必须切换 postgres 用户。


三、PostgreSQL 核心结构

1. 逻辑结构(从上到下)

数据库集簇 → 数据库 → Schema → 表 / 视图 / 索引 / 函数

  • 集簇:一个 PG 实例管理的所有数据库集合
  • 数据库:逻辑隔离,互不干扰
  • Schema:隔离对象,避免同名冲突
  • 对象:表、索引、视图、序列、函数等

补充知识点:默认 Schema 是 public,新建库自动生成。

2. 物理结构

  • 安装目录/usr/local/pgsql
    • bin:命令工具
    • lib:动态库
    • data:数据核心目录
  • 数据目录($PGDATA)
    • base:用户数据库文件
    • global:系统表
    • pg_wal:事务日志(崩溃恢复用)
    • pg_hba.conf:权限认证配置
    • postgresql.conf:核心参数配置

补充知识点pg_wal 是预写日志,保障数据库异常断电不丢数据。

3. 表空间关系

  • 默认表空间:
    • pg_default:用户表默认存储
    • pg_global:系统共享表
  • PG 表空间与数据库是多对多关系,一个表空间可被多个库使用。

四、基础常用命令(补充)

bash

运行

# 查看数据库
\l
# 切换数据库
\c 数据库名
# 查看表
\dt
# 退出登录
\q
# 停止数据库
pg_ctl -D /usr/local/pgsql/data stop

五、总结

这份简易版涵盖 PostgreSQL 核心概念、两种安装方式的全部代码、关键知识点补充,结构清晰、不与原文重复,适合快速入门与实操。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐