如何按拼音排序 - 数据库本土化特性(collate, ctype, …)
背景 数据库为了支持国际化,通常会涉及到collate, ctype的概念。 初始化数据库集群时,可以设置如下参数,用于设置数据库的字符串排序、字符归类方法、数值\日期\时间\货币的格式等。 LC_COLLATE String sort order ...
背景 数据库为了支持国际化,通常会涉及到collate, ctype的概念。 初始化数据库集群时,可以设置如下参数,用于设置数据库的字符串排序、字符归类方法、数值\日期\时间\货币的格式等。 LC_COLLATE String sort order ...
背景 PostgreSQL支持多种存储过程语言,例如plpgsql, C, plpython, plperl, pltcl, pljava, 等等。 用户可以使用这些存储过程语言,创建对应的函数或存储过程(returns void)。 那么如何调试PostgreSQL的存储过程呢?社区提供了一个插件pldeb...
背景 PostgreSQL实例支持创建多个数据库,创建数据库时,可以指定模板库,并为每个数据库设置不同的字符集、本地化collate, 货币等属性。 接下来举例讲述CREATE DATABASE的具体使用方法。 一、CREATE DATABASE语法 Command: CREATE DATABASE ...
背景 业界有几种地理位置的表示方法。 通常我们使用经纬度表示地球上的位置,PostgreSQL的PostGIS可以很好的描述这种类型,包括海拔在内。使用最为广泛,精度、功能最高的应该是PostGIS。 但是并不是所有的数据库都有这样的技术(或者实现难度的问题导致了很多数据库在初期会选择较为简单的geohash...
背景 在PostgreSQL中执行SQL时,如果SQL执行时间比较长,总想知道它执行到哪里了,还剩余多少任务,剩余多少时间。 目前PostgreSQL增加了对VACUUM的可视监控(目前涵盖了autovacuum与手工的vacuum命令,但是不涵盖VACUUM FULL),将来还会加入更多的progress动态...
背景 PostgreSQL 逻辑订阅相关文章请参考 《PostgreSQL 10.0 preview 变化 - 逻辑复制pg_hba.conf变化,不再使用replication条目》 《PostgreSQL 10.0 preview 功能增强 - 备库支持逻辑订阅,订阅支持主备漂移了》 《PostgreS...
背景 PostgreSQL 串行隔离级别中一个重要的概念是预加锁,在事务结束时,检测预加锁是否冲突。 10.0增加了三个控制参数,可以控制预加锁的上限。避免内存过度使用。 1. 控制每个事务的对象预加锁数量。 max_pred_locks_per_transaction (integer) The sha...
背景 两张表JOIN时,如果内表的JOIN字段确定是唯一的,那么在嵌套循环时,如果外表有重复值,循环过程中,对于内表来说,一个VALUE只需要扫描一次。 hash join同样适用。 例子 postgres=# create table intbl(id int); CREATE TABLE pos...
背景 起源 Add a basic atomic ops API abstracting away platform/architecture details. author Andres Freund <andres@anarazel.de> Fri, 26 Sep 2014 05...
背景 ProcArrayGroupUpdate等待事件,指事务结束后,将当前xid从ProcArray移除的事件。 506 /* 507 * If the list was not empty, the leader will clear our XID. It is 508 ...