PostgreSQL 初体验(简易版・含完整代码 + 补充知识点)
这份简易版涵盖 PostgreSQL 核心概念、两种安装方式的全部代码、关键知识点补充,结构清晰、不与原文重复,适合快速入门与实操。
·
一、PostgreSQL 基础认知
PostgreSQL 是开源免费的对象关系型数据库,源自伯克利大学,兼容 SQL 标准,支持 MVCC 多版本并发、JSON / 地理空间数据,适合企业应用、GIS、物联网、数据分析等场景。
核心特点
- 完全开源:无版权限制,可自由修改分发
- 数据类型丰富:支持数组、枚举、JSON、GIS 等特殊类型
- 事务安全:ACID 特性 + MVCC,高并发下数据一致
- 扩展性强:支持插件、自定义函数、索引
- 高可用:主从复制、流复制,保障业务不中断
二、两种安装方式(含全部代码)
环境说明
操作系统: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 核心概念、两种安装方式的全部代码、关键知识点补充,结构清晰、不与原文重复,适合快速入门与实操。
更多推荐
所有评论(0)