PostgreSQL 快速大版本升级多种方案 - 含重点介绍fast & safe upgrade to PostgreSQL 9.4 use pg_upgrade & zfs
背景 已使用pg_upgrade顺利将一个8TB的生产数据库(包含表, 索引, 类型, 函数, 外部对象等对象大概10万个)从9.3升级到9.4, 升级比较快(约2分钟), 因为数据库较大后期analyze的时间比较长, 不过你可以将常用的表优先analyze一下, 就可以放心大胆的提供服务了. Postgre...
背景 已使用pg_upgrade顺利将一个8TB的生产数据库(包含表, 索引, 类型, 函数, 外部对象等对象大概10万个)从9.3升级到9.4, 升级比较快(约2分钟), 因为数据库较大后期analyze的时间比较长, 不过你可以将常用的表优先analyze一下, 就可以放心大胆的提供服务了. Postgre...
背景 这个需求需要记录数据被 插入, 删除, 更新的审计, 注意更新的审计包括哪些字段发生了变更. 不需要的审计, 注释对应的触发器代码即可. 触发器代码如下 : create extension hstore; CREATE TABLE table_change_rec ( id ser...
背景 如果你要记录用户表被DDL修改定义, 设置默认值, 等等alter table可以完成的工作时的记录, 可以使用事件触发器来达到这个目的. 例子如下 : postgres=# create extension hstore; postgres=# create or replace funct...
背景 DDL是非常重的操作,(锁大,或者会导致TABLE REWRITE导致消耗大量资源,影响大,例如DROP,TRUNCATE)也是数据库的使用过程中需要关注的。 通常企业会对DDL做一定的限制,不允许某些用户执行,或者不允许从网络登录的用户执行DDL。 同时DDL还有被审计的需求,所有的DDL可能都要记录...
背景 之前写过一篇较详细的CentOS 6下安装openvswitch的文章. http://blog.163.com/digoal@126/blog/static/16387704020147111358858/ 这里简单的介绍一下在centos 7下的安装, 其实差不多. 只是目前openvswitch没...
背景 本文讨论一下分布式数据库的一致性状态. 以前写过一篇类似文章, 参考 [《PostgreSQL Distributed Sharded Databases Consistent PITR Thinking》](../201302/20130206_01.md) ...
背景 一般情况下, 我们安装PostgreSQL都是通过源码编译安装的, 如果你的场景中不允许使用make或gcc的话, 可以选择下载rpm包安装或下载EDB提供的bin文件安装. EDB : http://www.enterprisedb.com/products-services-training/pgd...
背景 群里一位朋友问到的, 关于执行插入SQL后, 有些返回0, 有些返回1的情况. 一般我们执行一条插入, 可以看到两个值, 一个是last oid, 一个是有多少行被插入. 代码如下 : snprintf(completionTag, CO...
背景 有网友问PostgreSQL存储的对象越多, 是不是性能会越差. 我们这么来分析, 存储的对象越多, 元数据就会越大, 例如 : 我用这种方法来创建一堆表, 为了在一个事务中创建多个表, 这里需要调整一下max_locks_per_transaction 以及(或) max connection, 满...
背景 数据库密码管理是数据库安全的重要环节之一. 例如简单密码策略应该包含 : 1. 密码复杂度 2. 密码验证失败延迟 3. 密码更换周期, 以及重复使用策略 4. 密码验证失败几次后锁定, 以及解锁时间等 5. 设置密码时防止密码被记录到数据库日志,history,~/.psql_history或...