PostgreSQL 获取触发器定义pg_get_triggerdef()
PostgreSQL 数据库支持触发器,可通过 create trigger 语句创建触发器。对于一个已经创建的触发器可以通过 pg_get_triggerdef() 函数获取其定义信息,如下所示:postgres=# select pg_...继续阅读
PostgreSQL 数据库支持触发器,可通过 create trigger 语句创建触发器。对于一个已经创建的触发器可以通过 pg_get_triggerdef() 函数获取其定义信息,如下所示:postgres=# select pg_...继续阅读
PostgreSQL 支持创建自定义函数,在 psql 中执行 \df 可以看到创建的自定义函数信息,如下postgres=# \dfList of functionsSchema | Name | Result data...继续阅读
PostgreSQL 数据库为了提升 I/O 性能,所有文件在逻辑上划分为页面(page)或者块(block),这些页面表示可以读取或写入的最小粒度,并且 PostgreSQL 内核针对页面做了很多算法优化,用来提升性能。默认页面大小为 8...继续阅读
索引在某些场景下能够提升查询性能,比如在字段(a,b)上添加一个索引,对于 where a=5 and b=6 这类查询能够使用该索引提升查询性能,但是另外一个场景 where a=5 or b=6 却不能使用该索引提升性能。针对以上问题,...继续阅读
PostgreSQL 表空间不像数据库(database)和模式(schema)能够决定对象的逻辑分布,表空间定义了数据的物理分布。表空间实际上是文件系统中的一个目录,可以把归档数据存储在慢磁盘的表空间中,活跃的经常更新的数据放在快磁盘的表...继续阅读
PostgreSQL B-tree 索引可以指定排序规则,比如升序或者降序,在特定场景下查询语句中包含 order by 时,当索引的排序规则与 order by 的顺序一致,则会显著提升查询性能。目前 PostgreSQL 只有 B-tr...继续阅读
PostgreSQL 可以在表的一个字段或者多个字段上创建索引,也称之为复合索引或者联合索引。举个例子,一个表包含 3 个字段,可以在其中的 2 个字段上创建多列索引,如下:create table t(c1 int, c2 int, c3...继续阅读
唯一索引可以用于强制表字段值的唯一性,或者强制多个字段组合值的唯一性。目前 PostgreSQL 只支持 B-tree 索引定义为唯一索引。1. PostgreSQL 创建唯一索引语法CREATE UNIQUE INDEX name ON ...继续阅读
ClickHouse 定位是 OLAP 数据库,但是它也提供了行级数据删除的功能,可以通过 ALTER TABLE xxx DELETE WHERE xxx 来实现。但是这个操作很重,即便删除 1 行数据,也会重写整个分区。ClickHou...继续阅读
linux 环境下进程对资源的使用通常是不受控制的,极端情况下进程将主机所有资源耗尽,导致系统 hang 住,运维人员无法登录主机,即使能够登录上去,操作也无响应。通过 linux cgroup 机制可以限制进程的资源使用率,进程与进程之间...继续阅读