Fork me on GitHub

daydayup863

人生就像一杯茶,不会苦一辈子,但总会苦一阵子。

0%

如下流程是应用通过pgbouncer连接PostgreSQL的链路,可以看到中间有三个网络层,想要对应PostgreSQL连接到应用连接并不是很容易,尤其连接断开后,查询日志更难。

app -> pgbouncer client -> pgbouncer server -> remote PostgreSQL

实时连接中可以通过client中link指向server中ptr地址完成对应关系.

阅读全文 »

varchar vs. timestamp

时间戳字段是类似这样的形式的:
‘2013-04-07 12:33:20.000+08’

根据iso标准,要求时间戳是精确到毫秒的,所以在秒之后有三位小数,表示毫秒,并且后缀时区(+08部分)。我们存储时间戳有很多办法,最粗糙的是字串存储,像上面那样(注意有单引号),这样一个带时区的时间戳要26个字节。而很多数据库系统里面,会用浮点数或者整数保存时间戳,通常是这样的:

4字节整数保存一个无时区无毫秒精度的时间戳,相当于19个字节的字串部分
8字节整数或者浮点数保存一个有时区有毫秒精度的是见戳,相当于26个字节的时间戳字串
阅读全文 »