PostgreSQL系统字段详解

每个表都有几个系统字段,这些字段是由系统隐含定义的。因此,这些名字不能用于用户定义的字段名。请注意这些限制与这个名字是否关键字无关,把名字用引号括起来并不能让你逃离这些限制。你实际上不需要注意这些字段;只要知道它们存在就可以了。...

Postgre修改表详解

如果你创建了一个表后发现自己犯了一个错误,或者是应用的需求发生了变化,那么你可以删除这个表然后重新创建它。但是如果这个表已经填充了许多数据,或者该表已经被其它数据库对象引用(比如一个外键约束),那这可不是一个方便的方法。因此PostgreS...

PostgreSQL权限讲解详解

当创建一个数据库对象时,它就被赋予了所有者。这个所有者通常是执行创建语句的角色。对大多数类型的对象,初始状态只有其所有者(或者超级管理员)可以对它做任何事情。要允许其他角色使用它,必须要经过权限授予。 有好多种不同的权限:SELECT,...

PostgreSQL模式介绍详解

一个数据库集群包含一个或多个已命名数据库。用户和用户组在整个集群范围内是共享的,但是其它数据并不共享。任何与服务器连接的客户都只能访问那个在连接请求里声明的数据库。 注意: 集群中的用户并不一定要有访问集群内所有数据库的权限...

PostgreSQL分区介绍详解

支持基本的表分区功能。本文描述为什么需要表分区以及如何在数据库设计中使用表分区。 1. 概述 分区的意思是把逻辑上的一个大表分割成物理上的几块。分区可以提供若干好处: 某些类型的查询性能可以得到极大提升。特别是表中...

PostgreSQL外部数据详解

PostgreSQL实现了SQL/MED规范的一部分,允许使用规则的SQL查询访问驻留在PostgreSQL外部的数据。这样的数据被称为外部数据。(请注意这种使用不能同外键混淆,外键是数据库的一种约束类型。) 外部数据是通过外部数据封装器...

PostgreSQL表依赖性跟踪详解

如果你创建了一个包含许多表,并且带有外键约束、视图、触发器、函数等复杂的数据库结构。那么你就会在对象之间隐含地创建了一个依赖性的网络。比如,一个带有外键约束的表依赖于它所引用的表。 为了保证整个数据库结构的完整性,PostgreSQL保证...

向PostgreSQL插入数据详解

在创建完一个表的时候,它里面没有数据。在数据库可以有点用处之前要做的第一件事就是向里面插入数据。数据在概念上是每次插入一行。我们当然可以每次插入多行,但是确实没有办法插入少于一行的数据。即使你只知道几个字段的数值,那么你也必须创建一个完整的...

更新PostgreSQL数据详解

修改已经存储在数据库中的数据的行为叫做更新。你可以更新单独的一行,也可以更新表中所有的行,还可以更新其中的一部分行。我们可以独立地更新每个字段,而其它的字段则不受影响。 要更新现有的行,使用UPDATE命令。这需要三种信息: 表...

PostgreSQL删除数据详解

到目前为止我们已经解释了如何向表中增加数据以及如何改变数据。剩下的是讨论如何删除不再需要的数据。和前面增加数据一样,删除数据也必须是从表中整行整行地删除。在上一节里我们提到了 SQL 没有提供直接指定某一行的方法。因此,删除行只能是通过...