随笔分类 -  PostgreSql

摘要:触发器 CREATE TRIGGER创建一个新触发器。该触发器将被关联到指定的表、视图或者外部表并且在表上发生特定操作时将执行指定的函数function_name。 CREATE [ CONSTRAINT ] TRIGGER name { BEFORE | AFTER | INSTEAD OF } 阅读全文
posted @ 2021-02-04 17:13 鄙人取个名字好难
摘要:PostgreSQL为开发者提供了一组丰富的工具来管理对数据的并发访问。在内部,数据一致性通过使用一种多版本模型(多版本并发控制,MVCC)来维护。这就意味着每个 SQL 语句看到的都只是一小段时间之前的数据快照(一个数据库版本),而不管底层数据的当前状态。这样可以保护语句不会看到可能由其他在相同数 阅读全文
posted @ 2021-02-04 00:35 鄙人取个名字好难
摘要:简述 全文搜索(或者文本搜索)提供了确定满足一个查询的自然语言文档的能力,并可以选择将它们按照与查询的相关度排序。 全文索引允许文档被预处理并且保存一个索引用于以后快速的搜索。预处理包括: 将文档解析成记号。标识出多种类型的记号是有所帮助的,例如数字、词、复杂的词、电子邮件地址,这样它们可以被以不同 阅读全文
posted @ 2021-02-02 23:54 鄙人取个名字好难
摘要:EXPLAIN EXPLAIN [ ( option [, ...] ) ] statement EXPLAIN [ ANALYZE ] [ VERBOSE ] statement 这里 option可以是: ANALYZE [ boolean ] VERBOSE [ boolean ] COSTS 阅读全文
posted @ 2021-02-02 17:56 鄙人取个名字好难
摘要:操作符类和操作符族 一个索引定义可以为索引中的每一列都指定一个操作符类。 CREATE INDEX name ON table (column opclass [sort options] [, ...]); 比如,可以在创建B-tree索引时通过ASC、DESC、NULLS FIRST和NULLS 阅读全文
posted @ 2021-02-02 06:31 鄙人取个名字好难
摘要:B-tree PostgreSQL包括了对标准btree(多路平衡树)索引数据结构的一个实现。任何能够被排序为良定义线性顺序的数据结构都可以用一个btree来索引。唯一的限制是一个索引项不能超过大约三分之一个页面。因为每一种btree操作符类都会在其数据类型上施加一种排序顺序,btree的操作符类( 阅读全文
posted @ 2021-02-01 22:38 鄙人取个名字好难
摘要:文本搜索 tsvector:tsvector值是一个排序的可区分词位的列表,词位是被正规化合并了同一个词的不同变种的词。tsvector类型本身并不执行任何词正规化这一点很重要,它假定给它的词已经被恰当地为应用正规化过。对于大部分英语文本搜索应用,通常应该经过to_tsvector以恰当地为搜索正规 阅读全文
posted @ 2021-02-01 17:24 鄙人取个名字好难
摘要:数字类型 名字存储尺寸描述范围 smallint 2字节 小范围整数 -2^15 (-32,768) 到 2^15 - 1 (32,767) integer 4字节 整数的典型选择 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) bigint 8字 阅读全文
posted @ 2021-01-27 23:51 鄙人取个名字好难
摘要:表连接 表t1: num | name + 1 | a 2 | b 3 | c 表t2: num | value + 1 | xxx 3 | yyy 5 | zzz 1.交叉连接 T1 CROSS JOIN T2 对来自于T1和T2的行的每一种可能的组合(即笛卡尔积),连接表将包含这样一行:它由所有 阅读全文
posted @ 2021-01-24 20:00 鄙人取个名字好难
摘要:PostgreSQL支持基本的表划分。 范围划分:表被根据一个关键列或一组列划分为“范围”,不同的分区的范围之间没有重叠。例如,我们可以根据日期范围划分,或者根据特定业务对象的标识符划分。 列表划分:通过显式地列出每一个分区中出现的键值来划分表。 哈希分区:通过为每个分区指定模数和余数来对表进行分区 阅读全文
posted @ 2021-01-24 18:29 鄙人取个名字好难
摘要:PostgreSQL实现了表继承.capitals用于省会城市,cities用于非省会的城市.语法如下: CREATE TABLE cities ( name text, province text, state int ); CREATE TABLE capitals ( level float 阅读全文
posted @ 2021-01-24 17:07 鄙人取个名字好难
摘要:PostgreSQL允许带有命名参数的函数被使用位置或命名记号法调用。命名记号法对于有大量参数的函数特别有用,因为它让参数和实际参数之间的关联更明显和可靠。在位置记号法中,书写一个函数调用时,其参数值要按照它们在函数声明中被定义的顺序书写。在命名记号法中,参数根据名称匹配函数参数,并且可以以任何顺序 阅读全文
posted @ 2021-01-24 14:28 鄙人取个名字好难
摘要:值表达式被用于各种各样的环境中,例如在SELECT命令的目标列表中、作为INSERT或UPDATE中的新列值或者若干命令中的搜索条件。为了区别于一个表表达式(是一个表)的结果,一个值表达式的结果有时候被称为一个标量。值表达式因此也被称为标量表达式(或者甚至简称为表达式)。表达式语法允许使用算数、逻辑 阅读全文
posted @ 2021-01-24 14:20 鄙人取个名字好难
摘要:中文社区 常量 1.字符串常量 在SQL中,一个字符串常量是一个由单引号(')包围的任意字符序列,例如'This is a string'。为了在一个字符串中包括一个单引号,可以写两个相连的单引号,例如'Dianne''s horse'。注意这和一个双引号(")不同。 2.美元引用的字符串常量 虽然 阅读全文
posted @ 2021-01-24 13:50 鄙人取个名字好难