文章 2022-02-17 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 5 章 数据定义_5.12. 其他数据库对象

5.12. 其他数据库对象 表是一个关系型数据库结构中的核心对象,因为它们承载了我们的数据。但是它们并不是数据库中的唯一一种对象。有很多其他种类的对象可以被创建来使得数据的使用和刮泥更加方便或高效。在本章中不会讨论它们,但是我们在会给出一个列表: 视图 函数和操作符 数据类型和域 触发器和重写规则 这些主题的详细信息请见第 V 部分。 本文转自PostgreSQL中文...

文章 2022-02-17 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 5 章 数据定义_5.11. 外部数据

5.11. 外部数据 PostgreSQL实现了部分的SQL/MED规定,允许我们使用普通SQL查询来访问位于PostgreSQL之外的数据。这种数据被称为外部数据(注意这种用法不要和外键混淆,后者是数据库中的一种约束)。 外部数据可以在一个外部数据包装器的帮助下被访问。一个外部数据包装器是一个库,它可以与一个外部数据源通讯,并隐藏连接到数据源和从它获取数据的细节。在contrib模块中...

文章 2022-02-17 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 5 章 数据定义_5.10. 表分区

5.10. 表分区 5.10.1. 概述 5.10.2. 声明式分区 5.10.3. 使用继承的实现 5.10.4. 划分和约束排除 PostgreSQL支持基本的表划分。本小节介绍为何以及怎样把划分实现为数据库设计的一部分。 5.10.1. 概述 划分指的是将逻辑上的一个大表分成一些小的物理上的片。划分有很多益处: 在某些情况下查询性能能够显著提升,特别是当那些访问压力大的....

文章 2022-02-17 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 5 章 数据定义_5.7. 行安全性策略

5.7. 行安全性策略 除可以通过GRANT使用 SQL 标准的 特权系统之外,表还可以具有 行安全性策略,它针对每一个用户限制哪些行可以 被普通的查询返回或者可以被数据修改命令插入、更新或删除。这种 特性也被称为行级安全性。默认情况下,表不具有 任何策略,这样用户根据 SQL 特权系统具有对表的访问特权,对于 查询或更新来说其中所有的行都是平等的。 当在一个表上启用...

文章 2022-02-17 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 5 章 数据定义_5.6. 权限

5.6. 权限 一旦一个对象被创建,它会被分配一个所有者。所有者通常是执行创建语句的角色。对于大部分类型的对象,初始状态下只有所有者(或者超级用户)能够对该对象做任何事情。为了允许其他角色使用它,必须分配权限。 有多种不同的权限:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、TRIGGER、CREATE、CONNECT、TEMPORARY...

文章 2022-02-17 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 5 章 数据定义_5.4. 系统列

5.4. 系统列 每一个表都拥有一些由系统隐式定义的系统列。因此,这些列的名字不能像用户定义的列一样使用(注意这种限制与名称是否为关键词没有关系,即便用引号限定一个名称也无法绕过这种限制)。 事实上用户不需要关心这些列,只需要知道它们存在即可。 oid 一行的对象标识符(对象ID)。该列只有在表使用WITH OIDS创建时或者default_with_oids配置变量被设置时才存在。该列...

文章 2022-02-17 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 5 章 数据定义_5.3. 约束

5.3. 约束 5.3.1. 检查约束 5.3.2. 非空约束 5.3.3. 唯一约束 5.3.4. 主键 5.3.5. 外键 5.3.6. 排他约束 数据类型是一种限制能够存储在表中数据类别的方法。但是对于很多应用来说,它们提供的约束太粗糙。例如,一个包含产品价格的列应该只接受正值。但是没有任何一种标准数据类型只接受正值。另一个问题是我们可能需要根据其他列或行来约束一个列中的数据。例如...

文章 2022-02-17 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 5 章 数据定义_5.2. 默认值

5.2. 默认值 一个列可以被分配一个默认值。当一个新行被创建且没有为某些列指定值时,这些列将会被它们相应的默认值填充。一个数据操纵命令也可以显式地要求一个列被置为它的默认值,而不需要知道这个值到底是什么(数据操纵命令详见第 6 章)。 如果没有显式指定默认值,则默认值是空值。这是合理的,因为空值表示未知数据。 在一个表定义中,默认值被列在列的数据类型之后。例如: C...

文章 2022-02-17 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 5 章 数据定义_5.1. 表基础

5.1. 表基础 关系型数据库中的一个表非常像纸上的一张表:它由行和列组成。列的数量和顺序是固定的,并且每一列拥有一个名字。行的数目是变化的,它反映了在一个给定时刻表中存储的数据量。SQL并不保证表中行的顺序。当一个表被读取时,表中的行将以非特定顺序出现,除非明确地指定需要排序。这些将在第 7 章介绍。此外,SQL不会为行分配唯一的标识符,因此在一个表中可能会存在一些...

文章 2022-02-17 来自:开发者社区

PostgreSQL 10.1 手册_部分 II. SQL 语言_第 4 章 SQL语法_4.2. 值表达式

4.2. 值表达式 4.2.1. 列引用 4.2.2. 位置参数 4.2.3. 下标 4.2.4. 域选择 4.2.5. 操作符调用 4.2.6. 函数调用 4.2.7. 聚合表达式 4.2.8. 窗口函数调用 4.2.9. 类型转换 4.2.10. 排序规则表达式 4.2.11. 标量子查询 4.2.12. 数组构造器 4.2.13. 行构造器 4.2.14. 表达式计算规则 值表达式...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

数据库

分享数据库前沿,解构实战干货,推动数据库技术变革

+关注