06 - 基础查询语句 1. 📖 概述 本章详细介绍PostgreSQL的基础查询语句,包括SELECT、WHERE、ORDER BY等,并与MySQL进行对
07 - 高级查询技巧 1. 📖 概述 本章介绍PostgreSQL的高级查询技巧,包括复杂条件查询、集合操作、分析函数等。 2. 🔍 UNION操作 2.1 UNION和
08 - 聚合函数与分组 1. 📖 概述 聚合函数对一组值进行计算并返回单个值。本章详细介绍PostgreSQL的聚合函数、分组查询和HAVING子句。 2. 🔢
09 - 多表连接查询 1. 📖 概述 多表连接(JOIN)是关系型数据库的核心功能。本章详细介绍PostgreSQL的各种JOIN类型及其应用场景。 2. 🔗 J
10 - 子查询与CTE 1. 📖 概述 本章详细介绍PostgreSQL的子查询和CTE(Common Table Expressions,公共表表达式),这些是编写
11 - 视图与物化视图 1. 📖 概述 视图是基于SQL查询结果的虚拟表,物化视图则会实际存储查询结果。本章详细介绍这两种强大的数据库对象。 2. 👁️ 视图(V
12 - 存储过程与函数 1. 📖 概述 PostgreSQL支持创建存储过程(Procedure)和函数(Function),可以封装复杂的业务逻辑。本章
13 - 触发器详解 1. 📖 概述 触发器是在特定事件(INSERT/UPDATE/DELETE)发生时自动执行的函数。本章介绍PostgreSQL触发器
14 - 事务与并发控制 1. 📖 概述 事务是数据库操作的基本单位,本章介绍PostgreSQL的事务管理和并发控制机制。 2. 🔒 事务基础 2.1 ACID特性 Ato
15 - 窗口函数应用 1. 📖 概述 窗口函数(Window Functions)是PostgreSQL的强大特性,允许在结果集的分区上执行计算,而不需要G
16 - JSON数据处理 1. 📖 概述 PostgreSQL对JSON的支持是其最强大的特性之一,提供了JSON和JSONB两种类型,以及丰富的操作符和
17 - 全文搜索 1. 📖 概述 PostgreSQL内置强大的全文搜索功能,支持中英文搜索、相关性排名等。 2. 🔍 基础概念 2.1 tsvector和tsquery
18 - 数组与范围类型 1. 📖 概述 PostgreSQL原生支持数组和范围类型,这是其独特优势。 2. 📊 数组类型 -- 创建数组列 CREATE TABLE articles ( id SERIAL PRIMARY KEY, title TEXT, tags TEXT[], ratings INTEGER[] );
19 - PostGIS地理数据 1. 📖 概述 PostGIS是PostgreSQL的空间数据库扩展,支持地理数据存储和查询。 2. 🗺️ 安装PostGIS CREATE EXTENSION
20 - 分区表技术 1. 📖 概述 分区表将大表拆分为多个物理分区,提高查询性能和维护效率。 2. 🔧 声明式分区 2.1 范围分区 CREATE TABLE orders ( id SERIAL, order_date DATE NOT NULL, amount NUMERIC(10,2) ) PARTITION BY RANGE (order_date); -- 创
21 - 查询优化与执行计划 1. 📖 概述 查询优化是数据库性能调优的核心,本章介绍如何使用EXPLAIN分析查询,理解执行计划,以及优化慢查询。 2. 🔍 EX
22 - 索引优化策略 1. 📖 概述 索引是提升查询性能的关键,本章介绍索引优化的最佳实践。 2. 🎯 索引策略 2.1 何时创建索引 -- WHERE子句频繁使用的列 CREATE INDEX idx_users_email ON
23 - 配置参数调优 1. 📖 概述 合理配置PostgreSQL参数可以大幅提升性能。 2. ⚙️ 关键参数 2.1 内存配置 # shared_buffers: 25-40% RAM shared_buffers = 4GB # effective_cache_size: 50-75% RAM effective_cache_size = 12GB # work_mem: 复杂查询内
24 - 连接池与连接管理 1. 📖 概述 连接池管理数据库连接,提高性能和资源利用率。 2. 🔄 PgBouncer 2.1 安装配置 # Ubuntu sudo apt install pgbouncer # 配置 /etc/pgbouncer/pgbouncer.ini [databases] mydb = host=localhost port=5432 dbname=mydb [pgbouncer] listen_addr = * listen_port = 6432 auth_type = md5
25 - 慢查询分析 1. 📖 概述 识别和优化慢查询是性能调优的重要环节。 2. 🔍 启用慢查询日志 -- 记录超过1秒的查询 ALTER SYSTEM SET log_min_duration_statement = 1000; SELECT pg_reload_conf(); 3. 📊 pg_stat_statements CREATE EXTENSION pg_stat_statements; -- 最慢的10个