⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

🐘 PostgreSQL 学习路线

131 个互动教程

PostgreSQL 入门 — 高级开源数据库

了解 PostgreSQL:功能最强大的开源关系型数据库

PostgreSQL 函数与存储过程

全面学习PostgreSQL函数:内置函数、自定义PL/pgSQL函数、存储过程、触发器函数

PostgreSQL 全文搜索

学习PostgreSQL中PostgreSQL 全文搜索 — PostgreSQL教程的详细用法和最佳实践

PostgreSQL CTE — 公用表表达式

WITH 子查询、递归 CTE 遍历树形结构

PostgreSQL 窗口函数

ROW_NUMBER/RANK/AVG OVER PARTITION

PostgreSQL 触发器

学习PostgreSQL中PostgreSQL 触发器 — PostgreSQL教程的详细用法和最佳实践

PostgreSQL 索引类型

B-tree/GIN/GiST/BRIN 索引

PostgreSQL JSONB 进阶

@> 包含查询、索引、聚合

PG 性能调优

EXPLAIN/VACUUM/配置

PostgreSQL 扩展

学习PostgreSQL中PostgreSQL 扩展 — PostgreSQL教程的详细用法和最佳实践

PostgreSQL 高级聚合

学习PostgreSQL中PostgreSQL 高级聚合 — PostgreSQL教程的详细用法和最佳实践

PostgreSQL JSON 处理

JSON/JSONB 类型、操作符、索引

PostgreSQL 全文搜索

PostgreSQL全文搜索:tsvector/tsquery、to_tsvector/to_tsquery、中文分词(zhparser/jieba)、GIN索引加速、ts_rank排序相关性排名、与Elasticsearch对比

PostgreSQL 表分区

PostgreSQL表分区:声明式分区(RANGE/LIST/HASH)、分区裁剪Partition Pruning、ATTACH/DETACH PARTITION、子分区Sub-partitioning、与MySQL分区对比

PostgreSQL 行级安全 RLS

PostgreSQL RLS:Row Level Security、ALTER TABLE ENABLE ROW LEVEL SECURITY、CREATE POLICY策略(USING/WITH CHECK)、按租户/用户隔离数据、BYPASSRLS绕过

PostgreSQL 审计日志

PostgreSQL审计:pgaudit扩展会话/对象审计日志、log_statement配置(ddl/mod/all)、pgAudit输出格式( AUDIT: SESSION/OBJECT)、审计日志安全存储/轮转策略

PostgreSQL 高级索引类型

PostgreSQL高级索引:GIN倒排索引(JSONB/全文搜索/数组)、GiST通用搜索树(几何/全文/范围)、BRIN块范围索引(大表自然排序数据/比B-tree小几百倍)、SP-GiST空间分区、Hash索引(仅=操作)

PostgreSQL CTID 行物理地址

CTID系统列(行的物理地址/类似于Oracle ROWID):(page_number,tuple_index)定位行、用于快速去重(DELETE USING self join ON ctid)、vacuum后CTID可能变化、ctid vs 主键唯一标识

PostgreSQL 流复制

PostgreSQL流复制:WAL Write-Ahead Log预写日志、Primary主库→Standby备库通过WAL sender→WAL receiver流复制、同步复制synchronous_commit(remote_apply/remote_write/on/local/off) vs异步复制、Logical Replication逻辑复制(发布Publication/订阅Subs

PostgreSQL 扩展开发

PostgreSQL自定义扩展开发:PGXN扩展网络、CREATE EXTENSION和extension control file(.control)+SQL脚本(.sql)、C语言扩展(PG_MODULE_MAGIC/PG_FUNCTION_INFO_V1/Datum/SRF_SetReturningFunction返回集合/SPI服务提供者接口在C中执行SQL)、与pgx(Rust)/plr

PG分区表实战与优化

学会使用PostgreSQL分区表提升大数据量查询性能

PG并行查询加速分析

掌握PostgreSQL并行查询原理与配置,加速大数据分析

PG逻辑复制入门与配置

学习PostgreSQL逻辑复制实现跨数据库实时同步

PostgreSQL 特有功能 — SERIAL与序列

PostgreSQL序列:SERIAL/BIGSERIAL自增类型(背后是SEQUENCE)、currval/nextval/setval操作序列、GENERATED AS IDENTITY(SQL标准)vs SERIAL

PostGIS扩展与空间查询

学习使用PostGIS扩展进行地理空间数据存储与分析

PG FDW外部数据包装器

学会使用FDW在PostgreSQL中访问远程数据库和其他数据源

PostgreSQL 数组类型

PostgreSQL数组:数组列定义、数组字面量、数组操作符(@>包含/<@被包含/&&重叠)、unnest()展开数组、array_agg()聚合为数组、数组索引GIN

PG事件触发器监控DDL

学习使用事件触发器捕获和响应数据库DDL操作

PostgreSQL 全文搜索

PostgreSQL全文搜索:tsvector/tsquery类型、to_tsvector/to_tsquery函数、GIN索引加速、排名ts_rank、中文分词zhparser、与Elasticsearch对比

PG行级安全策略实现

学习使用行级安全(RLS)控制用户对表中特定行的访问

PostgreSQL 窗口函数 Window Functions

PostgreSQL窗口函数:OVER()窗口定义、PARTITION BY分区、ORDER BY排序、ROW_NUMBER/RANK/DENSE_RANK/LEAD/LAG、聚合窗口SUM/AVG OVER、ROWS BETWEEN帧

PG表继承与数据分区

理解PostgreSQL表继承机制及其在数据建模中的应用

PG咨询锁并发控制

学习使用PostgreSQL咨询锁实现应用层自定义并发控制

PG LISTEN/NOTIFY异步消息

学习使用PostgreSQL的LISTEN/NOTIFY实现异步消息通信

PG分区表实战

学习PostgreSQL分区表的创建、管理与查询优化

PG扩展PostGIS空间数据库

学习PostGIS安装、空间数据类型与常见GIS查询

PG FDW外部数据包装器

学习使用FDW连接远程PostgreSQL或其他数据库

PG分区表实战

掌握PostgreSQL分区表的概念、类型与使用场景,学会创建和管理分区表。

PG扩展PostGIS地理空间查询

使用PostGIS扩展进行空间数据存储与分析。

PG FDW外部数据包装器

通过FDW连接外部数据源,实现跨数据库查询。

PG咨询锁应用

学习PostgreSQL咨询锁的原理、使用场景和实现方法

视图的延迟绑定与模式演化实战

深入PostgreSQL中视图的延迟绑定(late binding)机制,讲解如何借助该特性在基表结构变化后依然保持视图有效,并通过实践演示模式升级中的常见陷阱。

范围类型与排他约束:构建冲突检测系统

抛开常见的B-tree唯一约束,使用PostgreSQL范围类型与GiST索引实现的排他约束,解决时间重叠、IP地址段冲突等复杂业务场景。

表级法医学:用WAL日志恢复被删除的单行数据

超越传统pg_dump备份思维,直接从PostgreSQL预写式日志(WAL)中解析并恢复特定表被误删的单行记录,适用于无备份的紧急数据救援。

自定义等待事件:编写扩展监控特定锁竞争

PostgreSQL内置丰富的等待事件,但业务场景往往需要监控自定义资源(如应用层锁、API限流)。本教程教你编写C扩展,注册自定义等待事件并集成到pg_stat_activity。

增量JSONB更新:利用路径操作符避免全字段重写

大多数教程只介绍JSONB的简单存取,本主题深入PostgreSQL 16+的jsonb_set与路径操作符,展示如何只更新深层嵌套的键而不影响其他字段,同时解决并发更新丢失问题。

规则系统再造:用重写规则实现轻量级数据分发

PostgreSQL的规则系统(RULE)常被忽略但功能强大。本教程用规则实施INSERT、UPDATE、DELETE的自动重定向到多个表,实现无需扩展的轻量级数据分发或审计日志。

双主节点冲突解决:基于应用语义的定序器设计

不同于BDR或Citus的方案,本教程教你手动构建基于两阶段提交和冲突解决函数的多主架构,实现最终一致性且可自定义合并逻辑(如最后写入胜利、CRDT增量合并)。

PL/Rust自定义聚合函数:高性能流式统计

当内置聚合函数(avg, sum)无法满足复杂统计需求(如滑动百分位数、流式去重计数)时,利用PL/Rust扩展编写类型安全、内存可控的自定义聚合。

超越静态分区:使用pg_partman实现时间自动滚动

大多数分区教程止步于CREATE TABLE PARTITION OF,本教程深入pg_partman扩展,展示如何自动化创建未来分区、清理过期分区以及处理分区键的时区与夏令时问题。

编写背景工作进程:在数据库内核中运行定时任务

摆脱外部cron或pg_cron扩展,用PostgreSQL背景工作进程(Background Worker)API编写一个直接运行在数据库进程中的定时任务,实现毫秒级精度和事务内调度。

LATERAL JOIN 高级应用:行级子查询与动态数据透视

深入讲解 LATERAL 关键字的原理,以及如何利用它在 FROM 子句中对每一行执行动态子查询,实现复杂的数据透视和行转列操作。

范围类型与操作符:时间区间、数字范围与排除约束

讲解 PostgreSQL 内置的范围类型(int4range, tsrange 等),范围操作符(包含、重叠、相邻)以及如何利用排除约束实现无重叠调度。

使用 foreign data wrapper 读取外部 CSV/JSON 文件

讲解 file_fdw 扩展的安装与配置,如何将外部 CSV 或 JSON 文件映射为 PostgreSQL 外表,实时查询文件内容而无需导入。

规则系统(RULE)实战:查询重写与视图自动更新

深入 PostgreSQL 规则系统,学习如何利用 CREATE RULE 实现查询重写、自动数据转换以及替代触发器完成复杂逻辑。

逻辑复制发布/订阅:跨版本数据同步与部分表复制

讲解 PostgreSQL 原生逻辑复制的发布(PUBLICATION)与订阅(SUBSCRIPTION)机制,实现跨版本、跨数据库、选择性表级别的数据同步。

JSONB 路径查询(JSONPath):复杂文档搜索与索引优化

学习 PostgreSQL 15+ 的 JSONPATH 语法,如何进行深层嵌套文档的条件过滤、模糊匹配,以及如何创建 GIN 索引加速查询。

咨询锁(Advisory Locks)与 SKIP LOCKED:轻量级工作队列

利用 pg_try_advisory_lock 和 SELECT ... SKIP LOCKED 实现高并发、无锁冲突的任务队列,避免行锁争用。

PL/Python 编写用户自定义函数:在 SQL 中运行机器学习推理

使用 PL/Python 语言扩展创建 UDF,在数据库内部直接调用 scikit-learn 等 Python 库进行模型预测,避免数据搬运。

MERGE(UPSERT)高级应用:条件更新与数据同步

详解 MERGE 语句(INSERT ... ON CONFLICT 的增强版),实现根据条件进行插入、更新或删除的复合操作,适用于 ETL 增量同步。

创建自定义聚合函数:从简单累加到滑动窗口统计

讲解如何使用 CREATE AGGREGATE 定义自己的聚合函数,包括状态转移函数、最终函数,以及实现滑动窗口统计(如移动平均)。

深入PostgreSQL空闲空间映射表:物理存储优化实战

揭示FSM如何决定数据行插入位置,通过修改FSM实现自定义存储布局。

Citus分片下的跨节点并行查询与分布键选择陷阱

讲解Citus分布表的分片策略,以及如何避免跨节点JOIN导致的性能灾难。

pgvector扩展:构建毫秒级语义搜索与混合过滤

超越基础向量搜索,实现按类别+向量距离的多维检索。

声明式分区:实现零停机的时间序列数据归档与恢复

利用分区表自动移动数据到冷存储,无需修改应用代码。

SQL/JSON路径查询:用表达式索引加速JSON数据检索

利用PostgreSQL 12+的JSONPATH语法,在复杂JSON文档中执行类XPath的查询。

外部数据包装器:将多个异构数据库联合为统一视图

通过FDW连接MySQL、MongoDB和CSV文件,实现跨源事务。

行级安全策略:实现多租户数据隔离的最佳实践

通过RLS让不同租户只能看到自己的数据,无需修改查询。

管道模式批量插入:比COPY快3倍的秘密武器

利用libpq的管道模式,在一条网络往返中发送数千条INSERT。

基于触发器的审计日志:实现时间旅行与行级撤销

记录所有数据变更历史,并允许回滚到任意时间点。

覆盖索引与仅索引扫描:消除所有回表访问

利用INCLUDE子句创建无需访问堆的索引,大幅降低I/O。

深入PostgreSQL回滚日志(Undo Log)的内部机制

本教程带你探索PostgreSQL独有的回滚日志实现(与MySQL InnoDB不同),理解其在MVCC中的角色、存储格式、以及如何通过pg_waldump分析回滚行为。

LATERAL连接:超越传统子查询的10个高级场景

PostgreSQL的LATERAL JOIN是SQL最强大的特性之一,但多数教程仅停留在基础用法。本教程将展示其在分页去重、多列聚合、以及递归查询中的独特应用。

用C语言编写PostgreSQL自定义后台工作进程(Background Worker)

PostgreSQL支持通过动态库加载自定义后台工作进程,用于实现内部分布式调度、数据清理或自定义监控。本教程从零开始编写一个简单的后台进程并注册到数据库。

JSONB路径查询(SQL/JSON Path)的实战艺术

PostgreSQL 12+引入的SQL/JSON Path语言提供远超传统->>操作符的查询能力。本教程涵盖模式匹配、算术运算、以及路径表达式的性能优化技巧。

自定义GiST索引:为你的数据类型实现空间搜索

PostgreSQL的GiST索引不仅支持内置几何类型,还可扩展至自定义数据类型。本教程实现一个简单的“时间区间”数据类型,并为其编写GiST支持函数以实现高效区间查询。

表访问方法(Table Access Method)API:构建自己的存储引擎

PostgreSQL 12+的Table Access Method接口允许开发者替换默认堆存储。本教程将设计一个简单的列存模拟引擎,演示如何注册自定义访问方法并处理读写请求。

利用heredoc和DO块实现动态SQL元编程

PostgreSQL的匿名代码块(DO)结合美元引用的heredoc风格,可以生成复杂的动态SQL。本教程展示如何用这种技术批量生成分区表、自动创建索引以及实现跨数据库的ETL脚本。

物理复制冲突深度诊断与解决方案

PostgreSQL主从复制中常见的冲突(如vacuum与查询冲突)常导致复制中断。本教程讲解冲突类型、如何通过hot_standby_feedback和vacuum_defer_cleanup_age调优,以及使用pg_replication_slots监控。

并行查询执行计划的黑盒调优:从等待事件到资源控制

当PostgreSQL并行查询遇到性能瓶颈时,90%的问题出在资源调度上。本教程聚焦并行哈希连接(Parallel Hash)的等待事件、work_mem与hash_mem_multiplier的交互,以及如何使用pg_hint_plan强制并行度。

JSONB字段的原子更新与行锁陷阱

更新JSONB字段中的单个键默认会重写整个文档,导致并发场景下的写冲突。本教程揭示行锁在JSONB操作中的微妙行为,并演示如何利用jsonb_set和条件表达式实现安全的部分更新。

深入 PostgreSQL 轻量级锁(Latch):内核级线程同步原语

剖析 PostgreSQL 中用于进程间与线程间高效等待/唤醒的 Latch 机制,对比条件变量与信号量,演示如何在内核扩展中安全使用 Latch 避免忙等。

表重写(Table Rewrite)的精确探测与影响分析

揭示哪些操作会触发表的物理重写(全表重写而非仅 DDL),如 ALTER COLUMN TYPE、VACUUM FULL、CLUSTER。教授如何通过 pg_class.relfrozenxid、pg_stat_user_tables.n_tup_rewritten 在 rewrite 发生前预测和事后审计。

MultiXactId 回卷防护:被忽视的并发死锁隐患

深入行级锁的事务标识符 MultiXactId,解释其与普通 XID 回卷的差异、如何监控 MultiXact 消耗、以及当 multi 接近回卷时导致全库只读的机制。

自定义 pg_stat_statements 查询统计:延展点与挂钩

超越常规使用,探讨 pg_stat_statements 的扩展挂钩(hooks)、如何添加自己的统计维度(如等待事件合并)、以及如何重置特定 queryid 而不影响全局。

float4 / float8 的二进制存储奥秘:精度损失与索引优化

拆解 PostgreSQL 中单精度(float4)与双精度(float8)在磁盘上的 IEEE 754 编码,演示为何索引比较可能导致意外结果,以及如何通过隐式类型转换规避。

深入 Tuple 格式:HeapTupleHeader 与 TOAST 的位级交互

从裸页面结构解析 HeapTupleHeader 的隐藏字段(t_xmin, t_xmax, t_ctid),结合 t_infomask 标志位判断可见性。特别讲解 TOAST 指针如何嵌入行内,以及当行记录超过页面 1/4 时自动触发 TOAST 的完整过程。

并行 Append 执行器的内部调度与倾斜处理

当查询包含 UNION ALL 或分区表时,PostgreSQL 使用 Parallel Append 节点。本教程深入其工作器分配算法(区间分配 vs 块分配),展示如何通过调试参数强制并行,以及如何处理数据倾斜导致部分工作器闲置的问题。

构建自定义后台工作进程(Background Worker)实现数据预取

从零实现一个 PostgreSQL 后台工作进程扩展,定期检查并使用 COPY 或 INSERT 将外部数据预载入缓存表。讲解共享内存初始化、信号处理、以及如何注册动态库。

动态共享内存(DSM)段的高级管理:跨进程状态共享

超越基本的 dsm_create,讲解如何设计多进程共享的环形缓冲区、使用 dsm_handle 在扩展间传递段、以及利用 LWLock 保护段内的并发写。附带调试工具。

实时自定义同义词词典:不重启数据库更新全文索引

绕过传统文件重加载方式,使用辅助表与触发器动态维护同义词词库,并通过自定义文本搜索配置实现近实时同义词扩展,无需挂起重启。

基于触发器的审计回滚与时间旅行查询

讲解如何利用触发器+hstore或JSONB实现行级历史追踪,并支持一键回滚到任意历史版本。

利用并行CTE从多个异构源同步汇总数据

演示如何在一个查询中使用多个CTE并行拉取不同表/外部数据包装器(FDW)的数据,并最终合并。

分区表间智能连接:分区感知连接与混合执行计划

当两个表按相同键分区时,如何强制或优化分区修剪实现等值连接,以及处理分区键不一致时的桥接策略。

使用事件触发器实现DDL变更全生命周期管理

与普通行级触发器不同,事件触发器可以捕获CREATE TABLE、ALTER等操作,用于自动记录元数据变更或阻止危险操作。

基于SQL/窗口函数构建自定义聚合:向量中位数与百分位数

PostgreSQL内置median? 没有。本教程展示如何利用ordered-set aggregate或通过窗口函数+array_agg+分位插值实现高性能中位数和任意百分位数。

多租户行级安全:基于会话变量与LDAP组动态策略

超越简单的current_user检查,利用set_config设置自定义会话标签,结合LDAP/外部表动态生成行级安全策略。

GiST排除约束:禁止时间段重叠与资源冲突

Exclusion约束利用GiST索引实现复杂冲突检测,如会议室预订不能有时间重叠、IP地址池不能冲突。不同于唯一约束。

JSONB高级索引:模拟搜索引擎的全文+属性过滤

不再只用GIN简单索引,而是组合GIN+btree或部分索引,实现类似ElasticSearch的过滤+全文搜索,且毫秒级响应。

外部数据写入推送与分布式事务协调

使用FDW写入远程表时,如何确保本地事务与远程事务原子性(两阶段提交)以及强制推送WHERE条件减少网络传输。

在PostgreSQL中使用PLV8进行高性能数值计算与机器学习评分

利用V8引擎在数据库内执行JavaScript,处理复杂业务逻辑(如矩阵运算、决策树预测),比plpgsql快10倍。

用Git管理PostgreSQL数据库Schema版本迁移

深度讲解如何将数据库结构变更与Git仓库同步,实现自动化版本控制,避免传统手工迁移脚本的混乱。

为时间序列数据编写自定义聚合函数

探讨PostgreSQL内置聚合函数的局限,亲手使用CREATE AGGREGATE结合PL/pgSQL创建专用于金融、物联网等场景的滑动窗口聚合。

利用递归CTE实现任意深度的行列级权限模型

突破传统RBAC,使用递归CTE构建支持组织树、资源继承的多层权限检查引擎。

使用外部数据包装器(FDW)搭建实时ETL管道

抛弃批处理脚本,用PostgreSQL FDW直接连接异构数据源(MySQL、CSV、API)实现增量同步。

基于pg_notify构建异步事件驱动架构

利用PostgreSQL原生的LISTEN/NOTIFY机制,结合PL/pgSQL触发器,构建零依赖的异步事件处理系统。

地理围栏与空间索引:超越PostGIS的轻量方案

当PostGIS过于庞大时,使用cube和earthdistance扩展实现千米级精度的经纬度查询。

使用PL/V8在数据库内执行复杂的JavaScript转换

在PostgreSQL中嵌入V8引擎,利用JavaScript的库(如Lodash)进行数据清洗、验证和转换。

利用分区表实现零停机Schema变更

通过将大表拆分为分区,在不停服的情况下添加、修改或删除列,并保持对外服务的连续性。

安全的动态SQL:EXECUTE…FORMAT与SQL注入防御

深入PL/pgSQL中动态查询构建的最佳实践,使用FORMAT和quote_ident防止SQL注入同时保持灵活性。

用递归CTE和ltree将PostgreSQL变成图数据库

不依赖第三方图数据库,利用ltree扩展和递归CTE实现最短路径、环检测和祖先查询。

MVCC可见性映射表与冻结事务的底层机制

深入PostgreSQL的可见性映射表(Visibility Map)与冻结事务(Freeze)的协作原理,理解元组可见性判断、清空死元组和事务ID回卷防护的实际过程。

LATERAL连接驱动的子查询高级模式

超越简单JOIN,使用LATERAL子查询实现每行动态展开、TOP-N per group、列聚合复用等复杂场景。掌握减少子查询重复计算的技巧。

排他约束:处理时态数据与区间冲突的利器

利用PostgreSQL排他约束(EXCLUDE)结合GiST索引,轻松禁止重叠时间区间、地理范围冲突等复杂业务规则,替代触发器实现声明式约束。

并行查询加速:work_mem与动态调整背后的秘密

剖析PostgreSQL并行查询的执行计划、并行度控制以及work_mem参数对hash join和排序的巨大影响。学会通过调整相关参数避免溢出磁盘。

JSONB与GIN索引:混合文档搜索与动态属性查询

结合JSONB和全文搜索索引,实现灵活的半结构化数据查询。学习如何为JSONB中的文本字段建立GIN索引支持模糊搜索和键值路径检索。

窗口函数帧子句:范围、行和组的高级滑动窗口

掌握帧子句(ROWS/RANGE/GROUPS)在移动平均、累计和、同比环比计算中的细微差别,理解默认帧边界和不规范帧导致的性能陷阱。

外部数据包装器:跨数据类型源联合查询的实践

使用PostgreSQL FDW连接MySQL、CSV文件甚至远程pg库,实现异构数据联邦查询。重点讲解用户映射、下推优化和写操作限制。

CTE数据修改:链式DML与副作用控制

利用公用表表达式(CTE)将多个INSERT/UPDATE/DELETE语句串联成单一原子操作。学习如何在WITH子句中返回受影响行并用于后续步骤,同时掌握防止副作用泄露的技巧。

分区裁剪与动态分区管理:自动创建新分区的艺术

探索PostgreSQL分区表的内部裁剪机制,以及如何结合pg_partman或自定义触发器实现按时间自动创建新分区,避免手动维护。

布隆过滤器索引:海量属性组合查询的加速器

当需要查询大量列组合时,传统B-tree索引组合爆炸。PostgreSQL的布隆过滤器索引通过位图快速排除不匹配行,适合多列任意组合等值查询。学习创建与调优。

PostgreSQL自定义操作符:从零构建领域特定语法

深入讲解如何创建满足特定业务逻辑的自定义操作符,包括优先级、结合律和函数映射,避免与内置操作符冲突。

并行查询的黑盒调试:max_parallel_workers与资源隔离实战

超越基础配置,讲解如何利用pg_stat_activity和系统视图诊断并行查询瓶颈,并针对混合工作负载设置动态资源限制。

在PostgreSQL中模拟事务回滚的撤销日志(Undo Log)

利用pg_visibility扩展和旧版本清理策略,手动实现类似Oracle的UNDO表空间效果,用于审计和时间点查询。

外部数据封装器(FDW)的查询下推优化:让远程数据像本地一样快

超越基本FDW使用,深入分析如何通过定制user mapping和foreign table选项,强制where条件、聚合函数、排序等操作下推到远程数据库执行。

动态分区管理:用事件触发器自动创建时间分区

实现当插入数据的时间超过现有分区范围时,自动创建新分区,无需手动干预,解决分区维护的运维痛点。

构建企业级备份工具:基于WAL归档的增量恢复与验证

超越pg_basebackup,编写一个自定义备份脚本,支持增量备份、压缩、加密,并自动校验备份一致性。

行级安全策略的继承与多层组织架构权限控制

设计一套支持多级部门的数据权限模型,利用RLS策略的继承特性和current_setting实现动态上下文权限。

自定义聚合函数:实现滑动窗口的加权中位数

编写一个支持窗口子句的聚合函数,用于金融时间序列数据的滑动加权中位数计算,超越内置median实现。

透明数据加密(TDE)实现:在存储层用pgcrypto自动加解密

通过触发器+视图模拟Oracle TDE,对敏感列数据自动加密存储,解密显示,且对查询无感。

用递归CTE模拟Cypher图查询语言:实现最短路径与模式匹配

不依赖扩展,纯SQL实现类似Neo4j的图遍历能力,支持节点标签、关系方向过滤和路径聚合。

🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 131 篇
0 完成
🔥 0