[未完待续] PostgreSQL 10 sharding 封装(pg_pathman + postgres_fdw) - 阿里云RDS PG sharding实践
背景
1、部署PostgreSQL 10
参考
《PostgreSQL 10 + PostGIS + Sharding + MySQL(fdw外部表) on ECS 部署指南(适合新用户)》
创建pg_pathman插件
创建postgres_fdw插件
创建pgcrypto加密插件
sharding 架构
封装管理函数
建表,存储远程连接元数据
配置远程连接信息(信息加密存储, 用对称解密)
创建远程DB
创建远程表(表名带后缀)
创建远程表约束
创建外部表
挂载到pg_pathman的分区中
其他接口
修改字段
增加字段
删字段
加约束
删表
改表名
加索引
删索引
UDF插件化注册(否则不能下推)
创建远程UDF
创建本地UDF
业务SQL举例
JOIN
DML
诊断
执行计划
下推
插件化管理函数
函数下推的一些限制(immutable, 插件或building function).
使用
参考
https://www.postgresql.org/docs/10/static/postgres-fdw.html
https://github.com/postgrespro/pg_pathman