PostgreSQL 安装
一、核心基础
1. 简介
PostgreSQL 是开源对象关系型数据库(ORDBMS),源自加州伯克利分校,兼容 SQL 标准,支持事务、复杂查询与扩展。
2. 核心特点
- 完全开源,许可宽松
- 高度符合 SQL 标准,支持窗口函数、CTE、子查询
- 数据类型丰富:JSON、数组、枚举、地理空间类型
- MVCC 多版本并发,事务安全
- 插件化扩展,支持 PostGIS、TimescaleDB
- 细粒度权限、加密、审计,安全性高
3. 核心优势
高性能、高可用(主从 / 流复制)、灵活适配多场景、活跃社区、开源低成本。
4. 典型应用场景
企业 ERP/CRM、数据仓库、Web 高并发、GIS 地理信息、物联网 / 大数据。
二、逻辑结构(从上到下)
数据库集簇 → 数据库 → Schema → 表 / 视图 / 索引 / 函数等对象
- 数据库集簇:实例管理的所有数据库集合
- 数据库:默认 postgres、template0、template1
- Schema:隔离对象,默认 public
- 对象:表、索引、视图、序列、函数
- 表空间:逻辑存储映射物理目录
- OID:对象唯一标识
三、物理结构
安装目录
- bin:命令工具
- lib:动态库
- share:文档、插件
- include:头文件
- data:数据核心目录
data 关键子目录
- base:用户表 / 索引
- global:全局系统表
- pg_wal:WAL 预写日志
- pg_tblspc:表空间链接
- pg_xact:事务状态
关键配置文件
- postgresql.conf:参数配置
- pg_hba.conf:客户端认证
- pg_ident.conf:用户映射
四、实验:安装与登录(OpenEuler 24)
实验 1:编译安装 PostgreSQL 16.3
- 安装依赖
bash
yum -y install gcc gcc-* make libicu libicu-devel readline-devel zlib zlib-devel
- 解压并编译
bash
tar zxvf postgresql-16.3.tar.gz
cd postgresql-16.3
./configure --prefix=/usr/local/pgsql
make && make install
- 创建用户与数据目录
bash
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
- 配置环境变量
bash
cat >> /etc/profile << 'EOF'
export LD_LIBRARY_PATH=/usr/local/pgsql/lib
export PATH=/usr/local/pgsql/bin:$PATH
EOF
source /etc/profile
- 初始化并启动
bash
su - postgres
initdb -D /usr/local/pgsql/data
pg_ctl -D /usr/local/pgsql/data -l logfile start
- 登录数据库
psql
实验 2:DNF 安装 PostgreSQL 15.12
- 安装
bash
dnf install -y postgresql-server
- 初始化
bash
postgresql-setup --initdb
- 启动并登录
bash
systemctl start postgre
su - postgres
psql
五、常用操作速记
-
登录:
psql -U 用户名 -d 数据库名 -
查看库:
\l -
进入库:
\c 库名 -
查看表:
\dt -
帮助:
\help -
退出:
\q