Recent Posts

PostgreSQL Oracle兼容性之 - text - text隐式转换

1 minute read

背景 Oracle的两个文本详见,会自动转换为数值进行相减操作。 PostgreSQL默认并不会将文本转换为数值进行相减操作。 为了实现兼容,有两种方法: 1、创建text到numeric的隐式转换 2、创建text-text的操作符。 PostgreSQL 内置CAST 可以看到varchar是有隐...

PostgreSQL Oracle兼容性之 - ‘’ 空字符

less than 1 minute read

背景 Oracle 对’‘有一些特殊的处理,默认会转成NULL。使得’‘可以适合任意的数据类型。 然而对于PostgreSQL来说,没有做这层转换,所以’‘并不能输入给任意类型。 Oracle SQL> create table a(id int, c1 varchar2(10) default ''...

PostgreSQL HooK 介绍

3 minute read

背景 PostgreSQL 的HOOK机制,结合PostgreSQL的_PG_init与_PG_fini两个初始化函数(加载SO时自动load _PG_init(), 退出会话时自动加载_PG_fini()),使得用户可以在不修改源码的情况下,使用HOOK来实现一些数据库的功能扩展。 比如实现改写SQL执行计划...

PostgreSQL 服务端COPY和客户端COPY - 暨PG有哪些服务端操作接口

2 minute read

背景 有些朋友在使用COPY命令对数据库进行数据导入导出时,可能会发现COPY到文件时,怎么和想象的不一样,COPY到文件并没有落到指定的地方。实际上原因是COPY命令是服务端命令,COPY到某个文件实际上是COPY到数据库所在的服务器上面了,而不是客户端所在的服务器。

PostgreSQL pgbench 支持100万连接

less than 1 minute read

背景 《阿里云 RDS PostgreSQL 高并发特性 vs 社区版本 (1.6万并发: 3倍吞吐,240倍响应速度)》 最近测试的阿里云高并发版本的性能,在1.6万个连接下,实际SQL的响应速度是社区版本的240倍。但是很多网友问怎么测的1.6万个连接,因为pgbench默认只能连1000个连接。 超过1...

PostgreSQL Failover slot - 支持将slot信息发送给物理备库

2 minute read

背景 PostgreSQL主库创建的slot(物理或逻辑的都算),在备库是否存在? 目前的版本,PG在主库创建的SLOT,备库是没有的(不会通过流复制协议复制到备库) (但是,2ND提出的failover slot,就是来解决这个问题的,在主库创建的slot,会通过流复制协议,发送给物理备库。) 测试 主...