Recent Posts

PostgreSQL quote ident and literal

3 minute read

背景 在PostgreSQL中,支持特殊字符的表名,列名等,但是他们在使用时需要使用双引号,例如包含大小写的表名。 在字符串输入时,可以使用的方式引用字符串,也可以使用单引号,但是如果在字符串中出现了应用字符,需要对引用字符进行转义。 这是数据库操作的常见问题。 PostgreSQL 提供了几个函数用来输出...

inode and hard link

2 minute read

背景 In computing, an inode (index node) is a data structure found in many Unix file systems. Each inode stores all the information about a file system object...

PostgreSQL 9.3 improve pgstattuple

3 minute read

背景 pgstattuple可以用来查询tuple级别的统计信息. PostgreSQL 9.3 加入了gin索引的pending信息输出. 统计时对被统计的数据加read lock. 所以如果数据正在变更或插入, 只要HeapTupleSatisfiesNow返回false, 就归入dead tuple....

PostgreSQL SQL_ASCII encoding introduce

2 minute read

背景 一位网友想将PostgreSQL数据库从sql_ascii编码迁移到utf8编码. 这里涉及到编码的转换, 首先要了解一下sql_ascii的编码含义 : The SQL_ASCII setting behaves considerably differently from the other sett...

PostgreSQL 9.3 add lock_timeout parameter

1 minute read

背景 Add configuration variable lock_timeout to limit lock wait duration 测试 1. 隐锁 SESSION A : digoal=# begin; BEGIN digoal=# insert into test values (1,...