Recent Posts

PostgreSQL 12 preview - plan_cache_mode参数控制强制使用plan cache或强制custom plan (force_custom_plan and force_generic_plan)

1 minute read

背景 plan cache在OLTP中,可以大幅降低生成sql parser, 执行计划的开销。 但是在某些场景中,plan cache可能成为问题,比如AP类型的场景中,由于SQL 输入条件的变化(通常AP业务涉及的条件可能比较容易出现这样的问题),可能导致plan cache并不是最佳的执行计划。 Pos...

PostgreSQL json内容特殊字符使用unicode代替

less than 1 minute read

背景 json中包含特殊字符时,可能导致输入异常,可以转换为UNICODE后,即可正常输入。 格式为 \u[0-f]{4} postgres=# select '{"id1":1, "id2":2, "info":"digoal d\u0061t\u0061 ab", "c1":123, "c2":1.1, ...

PostgreSQL 快速给指定表每个字段创建索引 - 1 (不够完美)

1 minute read

背景 如何快速给表的所有字段,每个字段都加上索引。 《PostgreSQL 设计优化case - 大宽表任意字段组合查询索引如何选择(btree, gin, rum) - (含单个索引列数超过32列的方法)》 满足任意字段组合查询的需求。 例子 (PostgreSQL 11) 1、如果需要在单个事务中要创建...

MSSQL(SQL Server) on Linux 简明部署与使用

4 minute read

背景 本文介绍MS SQL on Linux的简单部署,使用。 https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-2017 后面简单介绍如何将MS SQL迁移到Postgr...

PostgreSQL Oracle 兼容性之 - DBMS_OUTPUT.PUT_LINE

1 minute read

背景 在函数、存储过程中需要进行一些debug,输出一些过程变量的值时,PG中使用raise notice可以非常方便的得到。 Oracle put_line在存储过程、函数中通常被用于调试,输出一些变量,时间值。 CREATE FUNCTION dept_salary (dnum NUMBER) RETUR...