本文介绍RDS for PostgreSQL各版本的说明。
Release notes 20160801
Postgis由2.1.7升级到2.2.2。新创建的PostGIS插件,默认为2.2.2版本。
已创建的PostGIS 2.1.7插件,可以使用下面的命令进行升级。
说明 建议升级前对应用程序进行测试,以防止新版本的PostGIS与应用不兼容。
-- Upgrade PostGIS (includes raster) ALTER EXTENSION postgis UPDATE TO "2.2.2"; -- Upgrade Topology ALTER EXTENSION postgis_topology UPDATE TO "2.2.2"; -- Upgrade US Tiger Geocoder ALTER EXTENSION postgis_tiger_geocoder UPDATE TO "2.2.2";
Release notes 20160701
语法
- set支持多变量,例如
set par1=val1, par2=val2
。 - 新增 rds discard all 语法支持,(支持proxy透明连接池,清除virtual pid和virtual cancel key)。
- 新增语法,支持创建rds_superuser用户:
CREATE ROLE | ALTER ROLE | CEATE GROUP xxx [WITH] RDS_SUPERUSER
高可用
- HA透明切换,不需要用户重连。
- Proxy透明化。
流复制
- WAL Sender限速功能,解决多实例xlog数据同步网卡竞争问题。
- 通过alidecode支持逻辑增量复制,从RDS增量复制到其他库,或者通过alidecode将MYSQL全量复制到RDS PG。
管理
- 限制logger打印一行日志的最大长度为2K,降低频繁长SQL对性能的影响。
- 允许RDS SUPERUSER 执行create extension创建插件。
- max_connect 软开关,允许不重启数据库集群的情况下,动态调整连接数。
- 新增OOM信号,异步监测PG实例的内存使用情况,terminate更彻底,降低内存开销。
- 允许有rds_superuser权限的用户执行 REASSIGN OWNED BY 等命令。
- 在非超级用户创建数据库时,指定tablespace为pg_default时不报错。
- 降低OOM概率。
- 防止因log空间写满。
安全
- 避免由于PostgreSQL Replication机制导致HA切换后的数据丢失,内核中自动将hash index调整为b-tree index,unlogged table调整为普通table。
- 普通用户执行create extension或alter extension时,如果触发了触发器、规则、函数,则以非超级用户权限执行。
- 修复security definer陷阱(触发器、rule)。
- 禁用unencrypted password,禁用pg_hba.conf password,增加用户密码复杂度限制。
- 修复pg_authid MD5码安全漏洞。
性能
- 创建数据库优化,数据文件预分配,减少inode写操作,降低IO hang。
- checkpoint 优化,减少fsync时需要刷dirty page的量,减少因data=ordered造成的写metadata 需要刷dirty page导致IO HANG的概率。
- clog优化,clog buffer加大,同时将fsync延迟到checkpoint做。
插件
支持的extension列表。
- 社区版本插件
plpgsql, pg_stat_statements, btree_gin, btree_gist, chkpass, citext, cube, dblink, dict_int, earthdistance, hstore,intagg, intarray, isn, ltree, pgcrypto, pgrowlocks, pg_prewarm, pg_trgm, postgres_fdw, sslinfo, tablefunc, tsearch2, unaccent, pgstattuple, "uuid-ossp" 注意:uuid-ossp前后必须带上双引号
- 新增插件
postgis, postgis_topology, fuzzystrmatch, postgis_tiger_geocoder, plperl, pltcl, plv8, plls, plcoffee, zhparser,支持自定义分词 pgrouting, rdkit, pg_hint_plan, jsonbx, www_fdw, oss_fdw, pg_rewind
支持通过dblink、postgres_fdw访问本实例的其他数据库
监控
-
错误
-
空间
- 剩余空间
- 数据目录空间
- XLOG目录空间(区分已归档和未归档)
-
垃圾数据
- 表膨胀
- 索引膨胀
- deadtuple
- 未引用的大对象
-
运行情况
- 数据库年龄
- 长事务与2PC
- 序列耗尽
- unlogged table
- hash index
-
性能视图
- 备库延迟
- 流复制SLOT延迟
- 缓存命中率
- 事务回滚比例
- 锁等待
- 慢SQL
- TOP SQL
- 连接数
- 实例内存使用情况
- 实例CPU使用情况
- 实例IOPS使用情况
-
配置
- 用户密码到期时间
- 主备配置不一致
- 主备配置文件不一致