pg_hba.conf文件的策略顺序

原来一直以为这个文件中,每一行的顺序是没有区别的,但是最近的一个需求,研究时发现,原来这个文件对登录的会话,是从上往下依次判断的: 具体的规则是:

因此,如果我有一个用于备份的用户,叫anybackup(爱数备份软件),由于权限设置的 […]

Continue Reading

数据库内查询pg的表结构定义

需要利用到plperlu和自己写一个system函数。

Continue Reading

pg常用大小查询

查出所有数据库大小:

查出所有表按大小排序并分离data与index:

查看索引大小:

Continue Reading

pg报错current transaction is aborted

在一个事务中,pg报错了current transaction is aborted:

原因是在一个事务中,pg如果遇到的Error的报错,会忽略后续的命令,后续所有命令都会报错:current transaction is abor […]

Continue Reading

postgresql 检索当前数据库中所有的分区表

pg 10由于没有hash分区,而pg_pathman一直都是支持多种分区的。所以如果某些pg 11以前的系统,可能会混合部署pg原生分区和pg_pathman。 要检查这种混合部署环境中的分区情况,可以用下面的sql:

显示结果如下 […]

Continue Reading

aws RDS 版本升级最佳实践的探讨

这篇文章其实在草稿箱中存在了挺长的一段时间,去年10月就已经开始写了,但是由于工作上的其他事情的干扰,一直还没写完。所以你可以看到我画的图中,now其实是指2018年10月(OCT)。趁着过年休假,把这个文章终于写完了。 aws rds被强制升级是个无奈的事情,版本不支持,而被强制升级会影响业务可用 […]

Continue Reading

pg数据库授权表给只读用户之后,权限慢慢消失

越来越多的互联网企业在使用postgresql数据库,我们也不例外。 昨天开发请我建立了一个只读用户abc_tmp_test用户,并且将mkl_rw用户下的32个表授权给只读用户用。ok,请简单轻松的一个需求,很快就完成了。 但是今天开发来和我说,昨天授权的几个表中,有部分表还是没有权限去读取,让我 […]

Continue Reading

pg的跨库查询

mysql和mssql的跨库查询,基本只需要dbname.schema.table_name就可以实现,而pg的跨库查询,和oracle一样,需要通过类似dblink的方式来实现。pg在9.3之前建议使用dblink,在9.3之后,建议使用postgres_fwd(foreign-data wrap […]

Continue Reading