PostgreSQL基础
1. PostgreSQL 基础用法PostgreSQL 安装部署PostgreSQL SQL 语法函数存储过程触发器视图索引btree索引gin索引gist索引PostgreSQL 高可用PostgreSQL 插件(extenstion)...继续阅读
1. PostgreSQL 基础用法PostgreSQL 安装部署PostgreSQL SQL 语法函数存储过程触发器视图索引btree索引gin索引gist索引PostgreSQL 高可用PostgreSQL 插件(extenstion)...继续阅读
源码版本:PG 13.3源码文件:slot.c slotfuncs.c1. 什么是 PG 复制槽?PG 复制槽用于记录主备流复制的状态,主要目的是防止 wal 日志被过早的删除,导致备库流复制中断。复制槽是有状态的,能够持久化到磁盘上,允许...继续阅读
源码版本:PG 13.3源码文件:src/backend/utils/time/snapmgr.c1. 事务快照数据结构typedef struct SnapshotData{SnapshotType snapshot_type; /* t...继续阅读
环境:CentOS 7.9Python 环境:Python 3.9.5Python 脚本经常由于环境变化、依赖包没装、Python 版本不同等原因,在不同的机器上无法正常运行。pyinstaller 工具提供了方法把 Python 脚本、依...继续阅读
源码版本:PG 13.3PG 支持两阶段提交事务(2PC),本文基于 PG 13.3 源码,简单分析 2PC 事务处理相关的逻辑。1. 两阶段事务提交的处理过程2PC 各阶段的命令调用主要包含如下三个:prepare trancation ...继续阅读
PostgreSQL 支持触发器功能,触发器与表或者视图进行关联,当表或者视图上的某个事件发生时,指定的触发器函数将被调用。触发器语法:CREATE [ CONSTRAINT ] TRIGGER name { BEFORE | AFTER ...继续阅读
PostgreSQL 提供了 copy 命令用于在数据库表与文件之间拷贝数据,通过 copy 命令可以把一个表数据导出到文件中,也可以把文件中的数据导入到表里面。1. copy 命令语法COPY table_name [ ( column_...继续阅读
psql 工具提供了一个方便的命令 \o 能够把 SQL 执行的输出信息重定向到文件中。使用示例:postgres=# \o /tmp/1.txtpostgres=# select * from t;postgres=# \o\o /tmp...继续阅读
PostgreSQL 支持创建自定义函数,相比于 SQL 对表进行简单增删改查操作,自定义函数能够实现各种复杂的逻辑。PostgreSQL 自定义函数支持的语法主要包括 SQL,plsql,C语言函数等。1. 创建函数的语法CREATE [...继续阅读
PostgreSQL 支持两阶段提交事务(two-phase commit),简称 2PC。单机版本的 PG 很少会用到 2PC 事务,而基于 PG 的分布式数据库,其事务管理器大多数都是基于 PG 的 2PC 事务或者在其基础上进行修改实...继续阅读