目录
当前位置: 首页 > 文档资料 > Navicat 中文文档 >

PostgreSQL 对象

优质
小牛编辑
138浏览
2023-12-01

要开始使用服务器对象,你应该创建并打开一个连接。如果服务器是空的,你需要在连接窗格的连接上右击并选择 新建数据库 来创建一个新的数据库。

常规属性

要创建一个数据库,你一定要有 可以创建数据库(usecreatedb)权限。如何设置用户属性,请参照角色设计器或用户

设计器。

数据库名

定义数据库的名。

编码

定义数据库的编码。如果省略,默认为范本数据库的编码。

拥有者

定义数据库的拥有者。如果省略,默认为运行命令的用户。只有超级用户可以创建其他用户拥有的数据库。

范本

由一个范本数据库创建数据库。

注意:在复制操作的期间,源数据库必须是空闲的(没有数据修改事务进行中)。CREATE DATABASE 将检查在开始操作时没有阶段作业(除本身)连接到源数据库。但这并不保证当复制进行时不会有改变,导致复制的数据库不一致。因此,建议视用作范本的数据库为只读。

表空间

定义数据库的表空间。如果省略,默认为 pg_default。

PostgreSQL 调试器(只限于完整版本)

Navicat 提供 PostgreSQL 调试器来调试 PostgreSQL PL/pgSQL 函数。

你可以在工具栏或菜单中运行最常用的调试动作:

按钮描述

运行
开始在调试模式运行代码。调试器运行你的代码直到代码的最后或到达下一
个断点。键盘快捷键:F9

逐过程
恢复运行。当前行将被运行。如果该行是一个函数调用,它会绕过函数。计

数器将移动到下一行的代码。键盘快捷键:F8


逐语句
恢复运行。它会运行当前行。如果该行是一个函数调用,计数器会前往函数

的第一句语句。否则,计数器将移动到下一行的代码。键盘快捷键:F7


跳过
恢复运行。函数中的其余代码会被运行。键盘快捷键:SHIFT+F7

停止
停止步进代码。将停止运行和不能恢复它。

代码 窗格显示函数的代码。你可以通过在语句旁的灰色范围点击
来为调试添加或移除断点。

断点 选项卡显示全部断点。你可以删除一个断点或全部断点,只需在断点上右击并选择 移除断点 或 移除全部断点。要跳到断点的行,右击并选择 前往函数。

调用堆栈 选项卡显示当前行的函数调用。 结果 选项卡显示函数完成运行后的结果。 记录 选项卡显示当调试代码时的信息日志。本地变量 选项卡显示函数中的变量。

参数 选项卡显示输入的参数。

PostgreSQL 模 式

模式基本上是一个名空间:它包含有名的对象(表、数据类型、函数及运算符),其名可能会和其他模式的现有对象相同。

常规属性模式名

创建的模式名。名不能以 pg_ 开头,因为这些名是保留给系统模式。

拥有者

拥有模式的用户名。如果省略,默认为运行命令的用户。

PostgreSQL 表

关联式数据库使用表来保存数据。全部数据操作都在表上完成或生成另一个表作为结果。表是一组行和列,以及它们的相交点是字段。从一般的角度来看,列在一个表中描述数据的名和类型,被行发现其列的字段。行在一个表中代表列组成的记录,从左至右由相应列的名和类型描述。每一个在行中的字段是和该行的其他字段含蓄地相关。点击
来打开的对象列表。

要创建一个新表,在对象列表的工具栏点击
新建表 连同
下箭头来选择 常规 / 外部 类型。

当要打开有图形字段的表时,在表上右击并在弹出菜单中选择
打开表 (快速)。用更快的性能打开图形表,BLOB 字段(图片) 将不会被加载直到你点击单元格。如果你希望当打开表时 Navicat 加载全部你的图片请使用
打开表

你可以创建一个表快捷方式,在对象列表窗格中的表上右击并在弹出菜单中选择 创建打开表快捷方式。这个选项是用来提供一个打开表的便捷方式,可以直接输入数据而无需打开主 Navicat。

要清空一个表,在已选择的表上右击并在弹出菜单中选择 清空表。此选项仅适用于如果你希望清除全部现有记录而不重设自动递增值。要当清除你的表同时重设自动递增值,请使用 截断表

PostgreSQL 常规表

表是在一个 PostgreSQL 数据库中数据保存的其本单位。数据保存在行和列。你以表名和一组列来定义一个表。

PostgreSQL 表字段

字段 选项卡,只需简单地点击字段来编辑。右击来显示弹出菜单或使用字段工具栏,能让你创建新的或删除选择的字段。要搜索一个字段名,选择 编辑 -> 查找 或按 CTRL+F。

按钮描述

添加字段
添加一个字段到表。

插入字段
在一个现有的字段上面插入一个字段。

注意:只限创建新表时。


删除字段
删除已选择的字段。

主键
设置字段为主键并设置 主键属性

上移或
下移
上移或下移已选择的字段。

注意:只限创建新表时。

使用 编辑框来设置字段名。请注意字段名在表的全部字段中必须是唯一的。

类型 下拉列表定义字段数据的类型。详细信息请看 PostgreSQL Data Types。

使用 长度 编辑框来定义字段的长度并用 小数点 编辑框来为浮点数据类型定义小数点(比例)后有几多位数。注意:小心当缩短字段长度可能会导致数据丟失。

不 是 null

勾选这个框来不允许字段是空值。


主键

主键是一个单字段或多个字段组合,能唯一地定义一个记录。没有一个主键的字段可以包含空值。

字段的弹出选项

复制字段修改一个现有字段来添加一个新字段。
主键属性

主键限制名。

表空间

主键限制的索引的表空间。

填充系数

主键限制的索引的填充系数存储参数。

可搁置

主键限制可以搁置。

注意:PostgreSQL 9.0 或以上版本支持。

搁置

主键限制只在事务结束时检查。

注意:PostgreSQL 9.0 或以上版本支持。

字段的属性

注意:下面这些选项取决于你选择字段的类型。

默认

设置字段的默认值。

注释

设置任何可选的文本描述当前字段。

排序规则

设置列的排序规则(必须是一个可排序规则的数据类型)。如果没有指定,使用列数据类型的默认排序规则。注意: PostgreSQL 9.1 或以上版本支持。

维度

设置数组符的维度。

对象模式

设置字段的对象模式。

对象类型

设置字段的对象类型。

PostgreSQL 表索引

索引主要用于提高数据库的性能(虽然使用不当可导致速度变慢)。索引字段可以是由一个或多个列值计算出来的表达式。此功能可用于获取快速访问数据基于一些数据的转型。

索引 选项卡,只需简单地点击索引字段来编辑。使用索引工具栏,能让你创建新的、编辑或删除选择的索引字段。

按钮描述

添加索引
添加一个索引到表。

删除索引
删除已选择的索引。

使用 编辑框来设置索引名。没有模式名可以包含在这里,索引总是创建在与它的上级表相同的模式。要在索引包含字段,只需简单地双击 字段 字段或点击
打开编辑器来编辑。

注意:一些字段类型不容许由多个字段索引。

索引方法 下拉列表定义表索引的类型。

唯一键

使得索引独一无二,当创建索引时及每次添加数据,导致系统检查表中的重复值(如果数据已经存在)。

CLUSTER 指示 PostgreSQL 簇指定表名的表基于指定索引名的索引。索引必须已经被定义到表名。

当一个表被簇,PostgreSQL 记得它被簇哪个索引。CLUSTER 形式表名重新簇表在它之前簇的相同索引。

并发

当使用这个选项时,PostgreSQL 在创建索引时将不会在表上加任何锁阻止并发的插入、更新或删除。而标准的创建一个索引将加一个阻止写入(不包括读取)的锁直到索引创建完毕。

表空间

创建索引的表空间。

填充系数

索引的填充系数。

缓存

使用缓存创建技术来创建索引。

注意:PostgreSQL 9.2 或以上版本支持。

快速更新

使用快速更新技术。

注意:PostgreSQL 8.4 或以上版本支持。

限制

如果你想创建部份索引,在这个编辑框输入限制条件。部份索引是一个索引包含项目给一个表的一部份,通常一部份在索引方面较表其余部份更为有用。

注释

定义索引的注释。

字段编辑器

列表选择字段。你也可以使用箭头按钮来改变索引字段的顺序。

排序规则

选择索引的排序规则。

注意:PostgreSQL 9.1 或以上版本支持。

排序顺序

指定排序顺序:ASC 或 DESC。

Nulls 排 序

指定 nulls 排序在 non-nulls 前(NULLS FIRST)或后(NULLS LAST)。

PostgreSQL 表外键

外键指定一个列(或一组列)的值必须符合另一个表的一些行的值。我们说这是维持关联表的参照完整性。

外键 选项卡,只需简单地点击外键字段来编辑。使用外键工具栏,能让你创建新的、编辑或删除选择的外键字段。

按钮描述

添加外键
添加一个外键到表。

删除外键
删除已选择的外键。

使用 编辑框来输入新键的名。

使用 参考模式 参考表 下拉列表来分别选择一个外部索引模式及表。

要包含字段或参考字段到键,只需简单地双击 字段 参考字段 字段或点击
来打开编辑器进行编辑。

删除时 和 更新时 下拉列表定义采取行动的类型。

RESTRICT生成一个错误表明删除或更新将创建一个外键限制冲突。这是和 NO ACTION

一样除了检查是不递延。

NO ACTION生成一个错误表明删除或更新将创建一个外键限制冲突。如果限制递延,这错
误将会在限制检查时生成如果还存在任何参考行。这是默认动作。
CASCADE删除对应的外键,或更新对应的外键为主键的新值。
SET NULL设置参考列为 NULL。
SET DEFAULT设置参考列为它们的默认值。

符合全部

勾选这个选项来不允许一个多字段外键的字段为 NULL,除非所有外键的字段都为 NULL。

可搁置

外键限制可以搁置。

搁置

外键限制只在事务结束时检查。

注释

定义外键的注释。

相关主题:

外键数据选择

PostgreSQL 表唯一键

唯一键限制确保在表的全部列中一个列或一组列的数据是独一无二。

唯一键 选项卡,只需简单地点击或唯一键字段来编辑。使用唯一键工具栏,能让你创建新的、编辑或删除选择的唯一键字段。

按钮描述

添加唯一键
添加一个唯一键到表。

删除唯一键
删除已选择的唯一键。

使用 编辑框来设置唯一键名。

要包含字段到唯一键,只需简单地双击 字段 字段或点击
来打开编辑器进行编辑。

表空间

唯一键限制的索引的表空间。

填充系数

唯一键限制的索引的填充系数存储参数。注意:PostgreSQL 8.2 或以上版本支持。

可搁置

唯一键限制可以搁置。

搁置

唯一键限制只在事务结束时检查。

注释

定义唯一键的注释。

PostgreSQL 表检查

检查限制是最通用的限制类型。它允许指定在某列的值必须符合一个 Boolean(真值)表达式。

检查 选项卡,只需简单地点击检查字段来编辑。使用检查工具栏,能让你创建新的、编辑或删除选择的检查字段。

按钮描述

添加检查
添加一个检查到检查。

删除检查
删除已选择的检查。

使用 编辑框来设置检查名。

检查

检查 编辑框设置检查的条件,例如:「字段 1 > 0 AND 字段 2 > 字段 1」。检查限制指定为一个列限制应只参考该列的值,而一个表达式出现在一个表限制可参考多个列。

定义

输入检查的定义。

没有继承

检查限制将不会传递到子表。

注意:PostgreSQL 9.2 或以上版本支持。

注释

输入检查的注释。

PostgreSQL 表排除

一个排除限制保证如果在指定行或表达式使用指定运算符比对任何两行,不是全部这些比对将会返回 TRUE。

排除 选项卡,只需简单地点击排除字段来编辑。使用排除工具栏,能让你创建新的、编辑或删除选择的排除字段。注意:PostgreSQL 9.0 或以上版本支持排除。

按钮描述

添加排除
添加一个排除到表。

删除排除
删除已选择的排除。

使用 编辑框来设置排除名。

索引方法

要使用的索引访问方法名。

元素

选择要排除的元素及指定运算符。

表空间

排除限制的索引的表空间。

填充系数

排除限制的索引的填充系数存储参数。

缓存

使用缓存创建技术来创建排除限制的索引。注意:PostgreSQL 9.2 或以上版本支持。

谓词

在一个表的子集指定一个排除限制。

可搁置

排除限制可以搁置。

搁置

排除限制只在事务结束时检查。

注释

定义排除的注释。

PostgreSQL 表规则

PostgreSQL 规则系统允许定义一个备用动作来在数据库表运行插入、更新或删除。粗略地说,当特定的命令在特定的表运行时,一个规则会导致运行额外的命令。

注意:你必须是表的拥有者来创建或改变它的规则。

规则 选项卡,只需简单地点击规则字段来编辑。使用规则工具栏,能让你创建新的、编辑或删除选择的规则字段。

按钮描述

添加规则
添加一个规则到表。

删除规则
删除已选择的规则。

使用 编辑框来设置规则名。这必须是有别于在相同表的任何其他规则名。多个规则在同一个表和相同事件类型是按名的字母顺序来应用。

事件

事件是 SELECT、INSERT、UPDATE 或 DELETE 的其中一个。

代替运行

这表明应该运行这些命令,而不是原来的命令。否则,除了原有的命令,应运行这些命令。

条件

任何 SQL 条件表达式(返回 boolean)。条件表达式不一定参考任何表,除了 NEW 和 OLD,而且可能不包含聚集函数。

定义

构成规则动作的命令。有效的命令是 SELECT、INSERT、UPDATE、DELETE 或 NOTIFY。

在条件和命令,特殊的表名 NEW 和 OLD 可能是用来参考在参考表的值。NEW 是有效于 ON INSERT 及 ON

UPDATE 规则来参考被插入或更新的新行。OLD 是有效于 ON UPDATE 及 ON DELETE 规则来参考被更新或删除的现有行。

注释

定义规则的注释。

PostgreSQL 表触发器

触发器是一种规范数据库每当某种类型操作运行自动运行特定的功能。触发器可以定义来在任何 INSERT、UPDATE 或

DELETE 操作前或后时运行,或者每一次修改列,或每一次 SQL 语句。

触发器 选项卡,只需简单地点击触发器字段来编辑。使用触发器工具栏,能让你创建新的、编辑或删除选择的触发器字段。

注意:要在表创建触发器,用户必须有在表的 TRIGGER 权限。

按钮描述

添加触发器
添加一个触发器到表。

删除触发器
删除已选择的触发器。

使用 编辑框来设置触发器名。这必须是有别于在相同表的任何其他触发器名。

行触发器

指定是否触发器过程应在触发器事件影响一行时触发一次,或只是每 SQL 语句触发一次。如果取消勾选,FOR EACH

STATEMENT 是默认。

触发

定义触发器行动时间。它可以是 Before After 来表示触发器在激活它的语句前或后激活。

插入

每当一个新行插入表,触发器会被激活。

更新

每当修改一个行,触发器会被激活。

删除

每当从表删除一个行,触发器会被激活。

更新字段

指定一个列列表。如果至少一个列出的列在 UPDATE 命令提及为目标,触发器将会触发。注意:PostgreSQL 9.1 或以上版本支持。

当子句

指定一个布林值 WHEN 条件,这将是测试触发器是否应该被触发。注意:PostgreSQL 9.0 或以上版本支持。

触发函数模式 和 触发函数

用户提供的函数,被声明为没有引数及返回类型触发器,当触发器触发时运行。

引数

一个当触发器运行时,指供给函数的可选的逗号分隔引数列表。引数是文本字符串常数。简单的名和数字常数可以写在这里,但他们都将被转换为字符串。请检查触发函数的实施语言描述关于在函数中触发器引数如何可访问,它可能和正常函数引数不同。

注释

定义触发器的注释。

限制

创建一个限制触发器。

可搁置

触发器限制可以搁置。

搁置

触发器限制只在事务结束时检查。

参考表模式 和 参考表名

限制参考的另一个表的模式和名。

PostgreSQL 表选项

不记录

表创建为不记录的表。写入不记录表的数据不会写入预写日志,这使它们快于普通表。注意:PostgreSQL 9.1 或以上版本支持。

拥有者

定义拥有此表的用户。

表空间

定义与创建表默认的表空间不同的表空间。注意:PostgreSQL 8.0 或以上版本支持。

继承自

此选项指定一个新表自动继承所有列的表列表。使用继承创建一个新子表及它的上级表之间的持久关系。上级的模式修改一般也会传给子,及默认情况下子表会包含在上级的扫描。

要设置新表继承自一个或多个现有表,只需简单地点击
来打开编辑器进行编辑。

有 Oids

勾选这个选项如果你想指定新表的行是否应有 OIDs (对象识别符)分配给他们。

填充系数

表的填充系数是一个百分比由 10 到 100。100(完整的填充)是默认。当指定一个较小的填充系数,INSERT 操作只填表页到指定的百分比,每页的余下空间留给在该页更新的行。这给 UPDATE 一个机会来放行的已更新副本到原来的页,这比放在不同页更有效率。对于一个不会更新项目的表,完整填充是最好的选择,但在大量更新的表,较小的填充系数是适当的。

注意:PostgreSQL 8.2 或以上版本支持。

PostgreSQL 外部表

外部表定义远程数据的结构。一个外部表可以像常规表那样用于查询,但是外部表不会保存在 PostgreSQL 服务器中。无论何时用到外部表,PostgreSQL 要求外部数据封装器从外部源取出数据,或者在更新命令时传输数据到外部源。

注意:PostgreSQL 9.1 或以上版本支持。

PostgreSQL 外部表字段

字段 选项卡,只需简单地点击字段来编辑。右击来显示弹出菜单或使用字段工具栏,能让你创建新的或删除选择的字段。要搜索一个字段名,选择 编辑 -> 查找 或按 CTRL+F。

按钮描述

添加字段
添加一个字段到表。

插入字段
在一个现有的字段上面插入一个字段。

注意:只限创建新表时。


删除字段
删除已选择的字段。

上移或
下移
上移或下移已选择的字段。

注意:只限创建新表时。

要修改一个现有字段来添加一个新字段,你可以右击并在弹出菜单中选择 复制字段。使用 编辑框来设置字段名。请注意字段名在表的全部字段中必须是唯一的。

类型 下拉列表定义字段数据的类型。详细信息请看 PostgreSQL Data Types。

使用 长度 编辑框来定义字段的长度并用 小数点 编辑框来为浮点数据类型定义小数点(比例)后有几多位数。注意:小心当缩短字段长度可能会导致数据丟失。

不 是 null

勾选这个框来不允许字段是空值。

字段的属性

注意:下面这些选项取决于你选择字段的类型。

选项

选项与新外部表中的字段有关。允许的选项 ,是由每一个外部数据封装器中来说是特别指定的。也是通过外部数据封装器的验证函数来验证。

默认

设置字段的默认值。

注释

设置任何可选的文本描述当前字段。

排序规则

设置列的排序规则(必须是一个可排序规则的数据类型)。如果没有指定,使用列数据类型的默认排序规则。注意: PostgreSQL 9.1 或以上版本支持。

维度

设置数组符的维度。

对象模式

设置字段的对象模式。

对象类型

设置字段的对象类型。

PostgreSQL 外部表检查

检查限制是最通用的限制类型。它允许指定在某列的值必须符合一个 Boolean(真值)表达式。

检查 选项卡,只需简单地点击检查字段来编辑。使用检查工具栏,能让你创建新的、编辑或删除选择的检查字段。注意:PostgreSQL 9.5 或以上版本支持。

按钮描述

添加检查
添加一个检查到检查。

删除检查
删除已选择的检查。

使用 编辑框来设置检查名。

检查

检查 编辑框设置检查的条件,例如:「字段 1 > 0 AND 字段 2 > 字段 1」。检查限制指定为一个列限制应只参考该列的值,而一个表达式出现在一个表限制可参考多个列。

定义

输入检查的定义。

没有继承

检查限制将不会传递到子表。

注释

输入检查的注释。

PostgreSQL 外部表触发器

触发器是一种规范数据库每当某种类型操作运行自动运行特定的功能。触发器可以定义来在任何 INSERT、UPDATE 或

DELETE 操作前或后时运行,或者每一次修改列,或每一次 SQL 语句。

触发器 选项卡,只需简单地点击触发器字段来编辑。使用触发器工具栏,能让你创建新的、编辑或删除选择的触发器字段。

注意:PostgreSQL 9.4 或以上版本支持。

注意:要在表创建触发器,用户必须有在表的 TRIGGER 权限。

按钮描述

添加触发器
添加一个触发器到表。

删除触发器
删除已选择的触发器。

使用 编辑框来设置触发器名。这必须是有别于在相同表的任何其他触发器名。

列触发器

指定是否触发器过程应在触发器事件影响一行时触发一次,或只是每 SQL 语句触发一次。如果取消勾选,FOR EACH

STATEMENT 是默认。

触发

定义触发器行动时间。它可以是 Before After 来表示触发器在激活它的语句前或后激活。

插入

每当一个新行插入表,触发器会被激活。

更新

每当修改一个行,触发器会被激活。

删除

每当从表删除一个行,触发器会被激活。

更新字段

指定一个列列表。如果至少一个列出的列在 UPDATE 命令提及为目标,触发器将会触发。

当子句

指定一个布林值 WHEN 条件,这将是测试触发器是否应该被触发。

触发函数模式 和 触发函数

用户提供的函数,被声明为没有引数及返回类型触发器,当触发器触发时运行。

引数

一个当触发器运行时,指供给函数的可选的逗号分隔引数列表。引数是文本字符串常数。简单的名和数字常数可以写在这里,但他们都将被转换为字符串。请检查触发函数的实施语言描述关于在函数中触发器引数如何可访问,它可能和正常函数引数不同。

注释

定义触发器的注释。

PostgreSQL 外部表选项

外部服务器

外部表使用的现有的外部服务器名。

注意:PostgreSQL 9.1 或以上版本支持。

选项

选项与新外部表中的字段有关。允许的选项 ,是由每一个外部数据封装器中来说是特别指定的。 也是通过外部数据封装器的验证函数来验证。

拥有者

定义拥有此表的用户。

继承自

此选项指定一个新表自动继承所有列的表列表。要设置新表继承自一个或多个现有表,只需简单地点击
来打开编辑器进行编辑。

注意:PostgreSQL 9.5 或以上版本支持。

有 Oids

勾选这个选项如果你想指定新表的行是否应有 OIDs (对象识别符)分配给他们。注意:PostgreSQL 9.5 或以上版本支持。

PostgreSQL 视 图

视图是用于访问一组关联(表),就像它是一个单一的表,并限制它们访问这一点。视图也可以用来限制访问行(一个特定表的子集)。点击
来打开 视图 的对象列表。

你可以创建视图快捷方式,在对象列表窗格中的视图上右击并在弹出菜单中选择 创建打开视图快捷方式。这个选项是用来提供一个打开视图的便捷方式而无需打开主 Navicat。

按钮描述

预览
预览视图的结果。

解释
显示视图的查询计划。

美 化 SQL
在编辑器中以美化 SQL 选项设置代码的格式。

注意:你可以通过选择 查看 -> 显示结果 -> 在查询编辑器下面 在新选项卡 来选择显示结果选项卡在编辑器下面或在新选项卡。

视图创建工具(只限于完整版本)

视图创建工具 让你能视觉化地创建视图。即使不了解 SQL,它能让你创建及编辑视图。详细信息请看查询创建工具。

定义

你可以编辑视图定义为 SQL 语句(它实施的 SELECT 语句)。

提示:要自定义编辑器的视图并查看更多 sql 编辑功能,请看编辑器高级功能。

规则

使用 编辑框来设置规则名。

事件

事件是 SELECT、INSERT、UPDATE 或 DELETE 的其中一个。

代替运行

这表明应该运行这些命令,而不是原来的命令。否则,除了原有的命令,应运行这些命令。

条件

任何 SQL 条件表达式(返回 boolean)。条件表达式不一定参考任何表,除了 NEW 和 OLD,而且可能不包含聚集函数。

定义

构成规则动作的命令。有效的命令是 SELECT、INSERT、UPDATE、DELETE 或 NOTIFY。

在条件和命令,特殊的表名 NEW 和 OLD 可能是用来参考在参考表的值。NEW 是有效于 ON INSERT 及 ON

UPDATE 规则来参考被插入或更新的新行。OLD 是有效于 ON UPDATE 及 ON DELETE 规则来参考被更新或删除的现有行。

注释

定义规则的注释。

高级属性拥有者

视图的拥有者。

视图查看器

视图查看器 以网格显示视图数据。数据可以用两种模式显示:网格查看 和 表单查看。详细信息请看表查看器。

PostgreSQL 函 数

PostgreSQL 提供四种函数:

  • 查询语言函数(用 SQL 写的函数)

  • 过程语言函数(例如 PL/Tcl 或 PL/pgSQL 写的函数)

  • 内部函数

  • C-语言函数

    每种函数可以接受基本类型、复合类型或这些的组合为引数(参数)。此外,每种函数可以返回一个基本类型或复合类型。许多种函数可以接受或返回某些虚拟类型(例如多态类型),但现有设施有所不同。点击
    来打开 函数

    若要为调试 PL/pgSQL 函数安装 pldbgapi 扩展,你可以在对象列表窗格的任何位置右击并选择 安装 pldbgapi 扩展

    函数向导

    在对象列表的工具栏点击
    新建函数函数向导 弹出并让你能很容易地创建函数。当创建新过程或函数时,你是可以不显示 函数向导

    1. 定义函数的参数。在对应的列设置参数 模式类型模式类型默认值

    2. 从列表选择 模式 返回类型

    提示:一旦取消勾选 下次显示向导,你可以在选项启用它。定义

    定义包括一个有效的 SQL 过程语句。这可以是一个简单的语句,如 SELECT 或 INSERT,或它可以是一个用 BEGIN 和

    END 写的复合语句。复合语句可以包含声明循环和其它控制结构语句。

    提示:要自定义编辑器的视图并查看更多 sql 编辑功能,请看编辑器高级功能。

    参数

    定义函数参数。

    返回类型模式 和 返回类型

    函数的返回类型。

    表列

    如果返回类型是 TABLE,输入表列。

    高级属性拥有者

    函数的拥有者。

    注意:PostgreSQL 8.0 或以上版本支持。

    语言

    函数实施的语言名。可能是 SQL、C、内部或用户定义过程语言名。为了向后兼容,名可能是用单引号括着。

    挥发性

    这些属性告知查询优化器有关函数的性能。最多可指定一个选择。如果这些没有出现,VOLATILE 是默认的假设。

    IMMUTABLE函数不能修改数据库,及当给予相同的引数值时,总是返回相同的结果,也就是说,它不会做数据 库查找或以其他方式使用信息不直接出现在其引数列表。如果使用这个选项,任何函数调用的全部

    常数引数可以立即替换函数值。

    STABLE函数不能修改数据库,并在一个单一表扫描它会为相同的引数值一致地返回相同的结果,但其结果 可能会改变整个 SQL 语句。这是函数结果取决于数据库查找、参数变量(例如当前时区)等的适当选择功能。此外,请注意函数的 current_timestamp 家族限制为稳定,因为它们的值不会在事

    务中改变。

    VOLATILE函数值能在一个单一表扫描中改变,因此没有优化。相对少数数据库函数在这用处是易变的,有些例子是 random()、currval()、timeofday()。但请注意,任何具有副作用的函数必须分类为易变,

    即使其结果是相当明确的,以防止调用不断优化走,一个例子是 setval()。

    定义者安全性

    指定函数运行时使用创建它的用户权限。

    返回集

    表示函数将返回一組项目,而不是一个单一项目。

    严格

    表示每当函数的引数是 null 时,它总是返回 null。如果此参数被指定,当有 null 引数时,函数不会运行,相反,一个

    null 结果会自动假定。

    估计耗费

    一个正数来估计函数的运行耗费,用 cpu_operator_cost 的单位。如果函数返回一个集,这是每返回列的耗费。如果耗费没有被指定,C-语言及内部函数假定 1 单位及全部其他语言为 100 单位。较大的值导致策划者应尽量避免比需要使多的评估函数。

    注意:PostgreSQL 8.3 或以上版本支持。

    估计行

    一个正数来估计策划者应预期函数返回的行数。这只允许当函数被声明为返回一个集。注意:PostgreSQL 8.3 或以上版本支持。

    配置参数

    当函数输入时设置到指定值的指定配置参数。然后当函数离开时还原到它以前的值。注意:PostgreSQL 8.3 或以上版本支持。

    结果

    要运行函数,在工具栏点击
    运行。如果 SQL 语句是正确的,该语句将被运行,及如果该语句应该返回数据,结果 选项卡会打开与函数返回的数据。如果运行函数时发生错误,运行停止,显示相应的错误信息。如果函数需要输入参数,输入参数 框将弹出。使用「,」来分隔参数。

    提示:Navicat 支持返回 10 个结果集。

    调试(只限于完整版本)

    要调试 PL/pgSQL 函数,在工具栏点击
    调试函数 来启动 PostgreSQL 调试器。

    PostgreSQL 聚 集

    在 PostgreSQL 的聚集函数表示为状态值和状态转换函数。也就是说聚集可以用状态来定义,每当处理一个输入项目,它会修改。要定义一个新聚集函数,选择一个数据类型为状态值,一个初始值为状态及一个状态转换函数。状态转换函数只是一个普通的函数,可以用于聚集内容的以外。如果想要的聚集结果和保存在运行状态值的数据不同,也可以指定一个最终函数。点击
    -> 聚集 来打开 聚集 的对象列表。

    属性 拥有者

    聚集函数的拥有者。

    注意:PostgreSQL 8.0 或以上版本支持。

    输入类型

    聚集函数操作的输入数据类型。

    注意:PostgreSQL 8.2 或以上版本支持。版本 8.2 以下,只需在下拉列表选择 输入类型模式 输入类型状态类型模式 状态类型

    聚集状态值的数据狀类型。

    状态函数模式 和 状态函数

    每个输入行调用的状态转移函数。为一个 N-引数聚集函数,状态函数必须接受 N+1 引数,第一个是类型

    state_data_type 及其余符合聚集的声明输入数据类型。函数必须返回类型 state_data_type 的值。这函数接受当前状态值及当前输入数据值,并返回下一个状态值。

    最终函数模式 和 最终函数

    最终函数调用来计算查遍全部输入列后的聚集结果。函数必须接受一个类型 state_data_type 的单一引数。聚集的返回数据类型被定义为这函数的返回类型。如果没有指定最终函数,则结束状态值用来做聚集的结果,及返回类型是

    state_data_type。

    初始条件

    状态值的初始设置。这必须是数据类型 state_data_type 接受的字符串常数的形式。如果没有指定,状态值开始为 null。

    排序运算符模式 和 排序运算符

    一个 MIN- 或 MAX-like 聚集的相关排序运算符。运算符被假定为具有和聚集相同的输入数据类型(必须是一个单一引数聚集)。

    注意:PostgreSQL 8.1 或以上版本支持。

    PostgreSQL 转 换

    转换定义了一个字符集编码之间的新转换。转换名可能是用在转换函数来指定一个特定的编码转换。此外,标记为

    DEFAULT(默认)的转换可用于客户端和服务器之间的自动编码转换。为此,两个转换,由编码 A 到 B 及由编码 B 到

    A,必须定义。点击
    -> 转换 来打开 转换 的对象列表。

    属性 拥有者

    转换函数的拥有者。

    注意:PostgreSQL 8.0 或以上版本支持。

    源编码

    源编码名。

    目标编码

    目标编码名。

    函数的模式 和 函数

    用来运行转换的函数。函数名可能是模式修饰。如果不是,将在路径中查找该函数。

    函数必须具有以下特征:

    conv_proc(

    integer, -- source encoding ID integer, -- destination encoding ID

    cstring, -- source string (null terminated C string)

    internal, -- destination (fill with a null terminated C string) integer -- source string length

    ) RETURNS void;

    默认

    勾选这个框来表示转换是默认为这特定源到目标编码。在模式中,编码对应该只有一个默认编码。

    PostgreSQL 域

    域基本上是一个有可选限制的数据类型(限制在允许的值集)。定义域的用户将成为其拥有者。域有用于摘要在字段的普遍限制到单一位置供维护。例如,几个表可能包含电子邮件地址列,全部都需要相同的 CHECK 限制来验证地址的语法。定义一个域,而不是个别地设立每个表的限制。点击
    -> 来打开 的对象列表。

    常规属性

    基础类型类别

    选择基础数据类型类别:Base TypeComposite TypeEnum Type Domain。注意:PostgreSQL 8.2 或以上版本支持。

    基础类型模式

    选择基础数据类型的模式。

    基础类型

    从下拉列表选择域的基础数据类型。

    维度

    数组符的维度。

    长度 和 比例

    使用 长度 编辑框来定义字段的长度,及使用 比例 编辑框来定义小数点之后的位数。(如果选择的数据类型需要)

    排序规则

    域的排序规则。

    注意:PostgreSQL 9.1 或以上版本支持。

    默认

    DEFAULT 子句为域数据类型的列指定默认值。这值是任何没有变量的表达式(但是子查询是不允许)。默认表达式的数据类型必须符合域的数据类型。如果没有指定默认值,那么默认值是 null 值。

    默认表达式将用于任何没有为列指定一个值的插入操作。如果一个特定的列已定义默认值,它会无视任何关于域的默认。反过来,域默认会无视任何关于基础数据类型的默认值。

    不 是 null

    域的值不允许是 null。

    拥有者

    域函数的拥有者。定义域的用户成为其拥有者。注意:PostgreSQL 7.4 或以上版本支持。

    检查

    检查 选项卡是为管理域检查提供。它让你创建新的、编辑或删除选择的检查。

    CHECK 子句指定完整性限制或测试,域的值必须符合。每个限制必须是一个生成 Boolean(布尔)结果的表达式。它应使用 VALUE 关键字来参照被测试的值。

    PostgreSQL 索 引

    索引提供一个更快的访问路径到表数据。它是用一个或多个列创建,来加快 SQL 语句运行在该表。点击
    -> 索引 来打开 索引 的对象列表。

    常规属性唯一键

    使得索引独一无二,当创建索引时及每次添加数据,导致系统检查表中的重复值(如果数据已经存在)。

    表名

    被索引的表的名(可能以模式限定的)。

    方法

    定义表索引的类型。

    名或表达式

    表列的名。或基于一个或多个表列的表达式。

    排序规则

    选择索引的排序规则。

    注意:PostgreSQL 9.1 或以上版本支持。

    运算符类别模式 和 运算符类别

    运算符类别的模式和名。

    排序顺序(仅适用于 B-Tree 索引)

    指定排序顺序:ASC 或 DESC。

    Nulls 排序(仅适用于 for B-Tree 索引)

    指定 nulls 排序在 non-nulls 前(NULLS FIRST)或后(NULLS LAST)。

    高级属性簇

    CLUSTER 指示 PostgreSQL 簇指定表名的表基于指定索引名的索引。索引必须已经被定义到表名。

    当一个表被簇,PostgreSQL 记得它被簇哪个索引。CLUSTER 形式表名重新簇表在它之前簇的相同索引。

    同时

    使用此选项时,PostgreSQL 将创建索引,而不采取任何锁来防止同时在表插入、更新或删除。而常规索引在数据创建锁定写入(但不是读取),直到它完成为止。

    表空间

    创建索引的表空间。

    填充系数 (%)

    索引的填充系数是一个百分比,决定索引方法尝试包装索引页到几满。

    缓存

    使用缓存创建技术来创建索引。

    注意:PostgreSQL 9.2 或以上版本支持。

    快速更新

    此设置控制快速更新技术的使用。

    注意:PostgreSQL 8.4 或以上版本支持。

    限制

    如果你想创建部份索引,在这个编辑框输入限制条件。部份索引是一个索引包含项目给一个表的一部份,通常一部份在索引方面较表其余部份更为有用。

    PostgreSQL 实体化视图

    实体化视图是物理地实体化的查询视图。运行查询並在发出命令时用于填充视图,可能在稍后刷新。点击
    -> 实体化视图 来打开 实体化视图 的对象列表。

    注意:PostgreSQL 9.3 或以上版本支持。

    你可以创建实体化视图快捷方式,在对象列表窗格中的实体化视图上右击并在弹出菜单中选择 创建打开实体化视图快捷方式。这个选项是用来提供一个打开实体化视图的便捷方式而无需打开主 Navicat。

    若要重整并完全替换实体化视图的内容,在对象列表窗格中的实体化视图上右击并在弹出菜单中选择 重整实体化视图与

    -> 数据 没有数据

    按钮描述

    预览
    预览实体化视图的结果。

    解释
    显示实体化视图的查询计划。

    美 化 SQL
    编辑器中以美化 SQL 选项设置代码的格式。

    注意:你可以通过选择 查看 -> 显示结果 -> 在查询编辑器下面 在新选项卡 来选择显示结果选项卡在查询编辑器下面或在新选项卡。

    视图创建工具(只限于完整版本)

    视图创建工具 让你能视觉化地创建视图。即使不了解 SQL,它能让你创建及编辑视图。详细信息请看查询创建工具。

    定义

    你可以编辑视图定义为 SQL 语句(它实施的 SELECT 语句)。

    提示:要自定义编辑器的视图并查看更多 sql 编辑功能,请看编辑器高级功能。

    高级属性拥有者

    实体化视图的拥有者。

    表空间

    创建新实体化视图的表空间名。

    填充系数

    视图的填充系数是一个百分比由 10 到 100。100(完整的填充)是默认。

    配备数据

    实体化视图应该在创建时进行填充。

    视图查看器

    视图查看器 以网格显示视图数据。数据可以用两种模式显示:网格查看 和 表单查看。详细信息请看表查看器。

    PostgreSQL 运算符

    PostgreSQL 支持左单一构成的、右单一构成的及二进制运算符。运算符可以多载。LEFTARG 和 RIGHTARG 中至少有一个必须被定义。对于二进制运算符,两者都要被定义。对于左单一构成的运算符,只须定义 LEFTARG 而右单一构成的运算符只须定义 RIGHTARG。点击
    -> 运算符 来打开 运算符 的对象列表。

    注意:LEFTARG = Left 左类型;RIGHTARG = 右类型。

    常规属性拥有者

    运算符的拥有者。

    注意:PostgreSQL 8.0 或以上版本支持。

    左类型的模式 和 左类型

    运算符的左运算域的数据类型,如果有的话。左单一构成的运算符忽略此选项。

    右类型的模式 和 右类型

    运算符的右运算域的数据类型,如果有的话。右单一构成的运算符忽略此选项。

    运算符函数的模式 和 运算符函数

    用来实施此运算符的函数。

    高级属性

    限制函数的模式 和 限制函数

    运算符的限制选择性估计函数。

    联接函数的模式 和 联接函数

    运算符的联接选择性估计函数。

    交换符的模式 和 交换符

    运算符的交换符。

    否定符的模式 和 否定符

    运算符的否定符。

    哈希

    如果勾选这个选项,运算符可以支持哈希联接。

    合并

    如果勾选这个选项,运算符可以支持合并联接。

    PostgreSQL 8.3 以下版本的额外高级属性左排序运算符的模式 和 左排序运算符

    如果此运算符可以支持合并联接,左排序运算符排序此运算符的左边数据类型。

    右排序运算符的模式 和 右排序运算符

    如果此运算符可以支持合并联接,右排序运算符排序此运算符的右边数据类型。

    小于运算符的模式 和 小于运算符

    如果此运算符可以支持合并联接,小于运算符比较此运算符的输入数据类型。

    大于运算符的模式 和 大于运算符

    如果此运算符可以支持合并联接,大于运算符比较此运算符的输入数据类型。

    PostgreSQL 运算符类别

    运算符类别定义一个特定的数据类型如何与索引使用。运算符类别指定某些运算符将为数据类型及索引方法填补特定角色或「策略」。运算符类别还指定索引方法使用的支持过程当运算符类别被选择给索引列。全部运算符类别使用的运算符及函数必须在运算符类别创建前已被定义。点击
    -> 运算符类别 来打开 运算符类别 的对象列表。

    注意: 只有当两个运算符类别是为不同的索引方法,它们才可以在同一模式中有相同名。 PostgreSQL 8.0 或以上版本支持 注释 选项卡。

    常规属性拥有者

    运算符类别函数的拥有者。

    注意:PostgreSQL 8.0 或以上版本支持。

    数据类型的模式 和 数据类型

    运算符类别的列数据类型。

    索引方法

    运算符类别的索引方法名。

    存储类型的模式 和 存储类型

    数据类型实际保存在索引。通常这是和列数据类型相同,但一些索引方法(现在的 GIN 和 GiST)允许它不同。STORAGE

    子句必须省略,除非索引方法允许使用不同类型。

    运算符家族

    现有运算符家族的名来添加这个运算符类别。如果没有指定,家族命名和运算符类别使用的一样(如果它尚不存在,创建它)。

    注意:PostgreSQL 8.3 或以上版本支持。

    默认运算符类别

    选择这个选项,运算符类别将成为它数据类型的默认运算符类别。一个指定数据类型及索引方法,最多一个运算符类别可以是默认。

    运算符 策略编号

    与运算符类别相关运算符的索引方法的策略编号。

    运算符的模式 和 运算符名

    与运算符类别相关的运算符。

    重新检查

    选择这个选项,运算符的索引是「有损」,及所以检索的行使用索引必须被重新检查,来证实它们实际上符合这个运算符的限制子句。

    注意:PostgreSQL 8.4 前,OPERATOR 子句可能包括 RECHECK 选项。这已不再支持,因为一个索引运算符是否「有损」现在是在运行期间决定。这允许有效地处理运算符可能或可能不会有损。

    函数

    支持编号

    与运算符类别相关函数的索引方法的支持过程编号。

    函数的模式 和 函数名

    运算符类别的索引方法支持过程的函数。

    PostgreSQL 序 列

    序列包含创建及初始化一个新特殊的单行表。它通常用来为表的行生成唯一识别符。点击
    -> 序列 来打开 序列 的对象列表。

    常规属性拥有者

    序列函数的拥有者。

    注意:PostgreSQL 8.0 或以上版本支持。

    递增

    指定值添加到当前序列值来创建一个新值。正值是递增的序列,負值是递减的序列。默认值是 1。

    现值

    序列的开始值。

    最小

    决定序列可生成的最小值。

    最大

    决定序列的最大值。

    缓存

    指定数据库预先分配几多序列的值及存放在记憶供快速访问。

    循环

    这个选项允许序列环绕当递增或递减序列分别地达到最大值或最小值。如果达到限制,下一个生成的号码将会分别是是最大值最小值。否则,当达到序列最大值,任何调用下一个值的会返回错误。

    添加拥有者

    选择 由表拥有 由列拥有,以至于序列结合一个指定表列,例如如果删除列(或它的整个表),序列将自动删除。指定的表必须和序列有相同拥有者及在相同的模式。

    注意:PostgreSQL 8.2 或以上版本支持。

    PostgreSQL 触发器

    触发器是一种规范数据库每当某种类型操作运行自动运行特定的功能。点击
    -> 触发器 来打开 触发器 的对象列表。详细信息请看触发器。

    常规属性

    限制

    勾选这框来创建一个限制触发器。

    触发器类型

    选择触发器的类型:Table 或 View。

    注意:PostgreSQL 9.0 或以上版本支持。

    表名 或 视图名

    选择表或视图。

    BEFORE

    当尝试在行操作前,可以指定触发触发器。

    AFTER

    当尝试在行操作后,可以指定触发触发器。

    INSTEAD OF

    指定触发触发器来代替尝试在行操作。

    INSERT/UPDATE/DELETE

    选择激活触发器的事件。

    插入

    每当一个新行插入表,触发器会被激活。

    更新

    每当修改一个行,触发器会被激活。

    删除

    每当从表删除一个行,触发器会被激活。

    TRUNCATE

    触发器定义为触发 TRUNCATE。

    更新字段

    指定一个列列表。如果至少一个列出的列在 UPDATE 命令提及为目标,触发器将会触发。

    STATEMENT

    指定触发器过程应在每 SQL 语句触发一次。

    ROW

    指定触发器过程应在触发器事件影响一行时触发一次。

    指定一个布林值 WHEN 条件,这将是测试触发器是否应该被触发。注意:PostgreSQL 9.0 或以上版本支持。

    触发函数模式 和 触发函数

    用户提供的函数,被声明为没有引数及返回类型触发器,当触发器触发时运行。

    函数引数

    一个当触发器运行时,指供给函数的可选的逗号分隔引数列表。引数是文本字符串常数。简单的名和数字常数可以写在这里,但他们都将被转换为字符串。请检查触发函数的实施语言描述关于在函数中触发器引数如何可访问,它可能和正常函数引数不同。

    限制 可搁置

    可搁置限制。

    INITIALLY IMMEDIATE

    在每个语句后检查限制。

    INITIALLY DEFERRED

    只在事务结束时检查限制。

    参考表模式 和 参考表名

    限制参考的另一个表的模式和名。

    PostgreSQL 触发函数

    触发函数可以用 PL/pgSQL 创建及参考在 PostgreSQL 触发器定义。所谓「触发函数」是一个参考触发器打算启用函数的简单方法。触发器定义当在数据库发生特定事件时运行的操作。PL/pgSQL 触发函数可以被触发器参考为当触发器的事件发生时运行的操作。

    触发器的定义及它关联的触发函数定义是两个不同的東西。触发器是以 CREATE TRIGGER 语句来定义,而触发函数是以 CREATE FUNCTION 语句来定义。点击
    -> 触发函数 来打开 触发函数 的对象列表。

    详细信息请看触发器。

    定义

    定义包括一个有效的 SQL 过程语句。这可以是一个简单的语句,如 SELECT 或 INSERT,或它可以是一个用 BEGIN 和

    END 写的复合语句。复合语句可以包含声明循环和其它控制结构语句。

    参数

    定义触发函数参数。

    返回类型模式 和 返回类型

    触发函数的返回类型。

    提示:要自定义编辑器的视图并查看更多 sql 编辑功能,请看编辑器高级功能。

    高级属性拥有者

    触发函数的拥有者。

    注意:PostgreSQL 8.0 或以上版本支持。

    语言

    函数实施的语言名。可能是 C、内部或用户定义过程语言名。为了向后兼容,名可能是用单引号括着。

    揮发性

    这些属性告知查询优化器有关函数的性能。最多可指定一个选择。如果这些没有出现,VOLATILE 是默认的假设。

    IMMUTABLE函数不能修改数据库,及当给予相同的引数值时,总是返回相同的结果,也就是说,它不会做数 据库查找或以其他方式使用信息不直接出现在其引数列表。如果使用这个选项,任何函数调用的

    全部常数引数可以立即替换函数值。

    STABLE函数不能修改数据库,并在一个单一表扫描它会为相同的引数值一致地返回相同的结果,但其结果可能会改变整个 SQL 语句。这是函数结果取决于数据库查找、参数变量(例如当前时区)等的适当选择功能。此外,请注意函数的 current_timestamp 家族限制为稳定,因为它们的值不会

    在事务中改变。

    VOLATILE函数值能在一个单一表扫描中改变,因此没有优化。相对少数数据库函数在这用处是易变的,有些例子是 random()、currval()、timeofday()。但请注意,任何具有副作用的函数必须分类为易

    变,即使其结果是相当明确的,以防止调用不断优化走,一个例子是 setval()。

    定义者安全性

    指定函数运行时使用创建它的用户权限。

    返回集

    表示函数将返回一组项目,而不是一个单一项目。

    严格

    表示每当函数的引数是 null 时,它总是返回 null。如果此参数被指定,当有 null 引数时,函数不会运行,相反,一个

    null 结果会自动假定。

    估计耗费

    一个正数来估计函数的运行耗费,用 cpu_operator_cost 的单位。如果函数返回一个集,这是每返回行的耗费。如果耗费没有被指定,C-语言及内部函数假定 1 单位及全部其他语言为 100 单位。较大的值导致策划者应尽量避免比需要使多的评估函数。

    注意:PostgreSQL 8.2 或以上版本支持。

    估计行

    一个正数来估计策划者应预期函数返回的行数。这只允许当函数被声明为返回一个集。注意:PostgreSQL 8.2 或以上版本支持。

    配置参数

    当函数输入时设置到指定值的指定配置参数。然后当函数离开时还原到它以前的值。注意:PostgreSQL 8.2 或以上版本支持。

    调试(只限于完整版本)

    要调试 PL/pgSQL 函数,在工具栏点击
    调试函数 来启动 PostgreSQL 调试器。

    PostgreSQL 类 型

    类型为当前表注册一个新数据类型。如果模式名已给,那么类型创建在指定的模式。否则,它是创建在当前的模式。在同一模式,类型名必须和任何现有类型或域的名不同。(因为表有关联的数据类型,在同一模式,类型名也必须和任何现有表名不同。)点击
    -> 类型 来打开 类型 的对象列表。

    基本类型 是那些像 int4,在 SQL 语言级别下实施(通常在一个低层次的语言,例如 C)。它们常规对应通常被称为抽象数据类型。PostgreSQL 只能通过用户提供的函数来操作这种类型,及只明白用户描述这种类型性能的范围。基本类型进一步细分为纯量和数组类型。对于每个纯量类型,相应的数组类型会自动创建,可以容纳纯量类型的可变大小数组。

    复合类型 或列类型,创建于每当用户创建表,它也可以定义一个「独立」没有关联表的复合类型。复合类型仅是一个基本类型与字段名的列表。复合类的值是一列或字段值的记录。用户可以从 SQL 查询访问元件字段。

    枚举(Enum)类型 是数据类型,由一个静态的、预先定义及有特定排序的一组值。它们相等于一些其他程序语言的枚举类型。枚举类型的例子可能是星期几,或一部份数据的一组状态值。

    范围类型 代表某元素类型(称为该范围的子类型)在一定范围内的值。范围类型在 PostgrerSQL 9.2 版本添加。注意:枚举类型在 PostgreSQL 8.3 版本添加。

    基本类型的常规属性

    输入模式 和 输入

    一个函数用来转换数据由数据的外部文本形式到它的内部文本形式。

    输出模式 和 输出

    一个函数用来转换数据由数据的内部文本形式到它的外部文本形式。

    长度

    一个数字常量用来指定新类型的内部表示的长度,以字节为单位。默认的假设是它是可变的长度。

    变量

    勾选这个选项如果类型长度是未知。

    默认

    数据类型的默认值。如果省略,则默认是 null。

    元素

    正在创建的类型是数组,这指定数组元素的类型。

    分隔符

    分隔符使用在这类型的数组中值与值之间。

    排列

    数据类型的保存对齐要求。如果指定,它必须是 char、int2、int4 或 double,默认是 int4。

    存储

    数据类型的存储策略。如果指定,它必须是平常、外部、扩展及主要,默认是平常。

    依值传递

    表明这数据类型的值是依值传递,而不是通过参考。

    拥有者

    类型的拥有者。

    注意:PostgreSQL 8.0 或以上版本支持。

    基本类型的高级属性

    PostgreSQL 7.4 或以上版本支持 高级 选项卡。

    接收模式 和 接收

    一个函数用来转换数据由数据的外部二进制形式到它的内部二进制形式。

    传送模式 和 传送

    一个函数用来转换数据由数据的内部二进制形式到它的外部二进制形式。

    分析模式 和 分析

    一个函数用来为数据类型运行统计分析。注意:PostgreSQL 8.0 或以上版本支持。

    类型修改符输入模式 和 类型修改符输入

    一个函数用来转换类型修改符的数组到内部形式。注意:PostgreSQL 8.3 或以上版本支持。

    类型修改元输符模式 和 类型修改符输出

    一个函数用来转换类型修改符的内部形式到外部文本部形式。注意:PostgreSQL 8.3 或以上版本支持。

    复合类型的常规属性

    复合类型的属性(列)名。

    类型

    现有数据类型的名,成为一个复合类型的列。

    长度 和 比例

    使用 长度 编辑框来定义字段的长度,及使用 比例 编辑框来定义小数点之后的位数。(如果选择的数据类型需要)

    维度

    数组符的维度。

    排序规则

    与复合类型列有关的现有排序规则的名。

    拥有者

    类型的拥有者。

    注意:PostgreSQL 8.0 或以上版本支持。

    枚举类型的常规属性

    标签

    一个字符串文本代表与枚举类型的一值相关的文本标签。

    拥有者

    类型的拥有者。

    范围类型的常规属性 子类型模式 和 子类型

    范围类型将代表的范围的元素类型的模式和名。

    运算符类别模式 和 运算符类别

    该子类型的 b-tree 运算符类别的模式和名。

    排序规则

    与范围类型列有关的现有排序规则的名。

    标准化模式 和 标准化

    范围类型的标准化函数的模式和名。

    子类型差异模式 和 子类型差异

    子类型的差异函式的模式和名。

    拥有者

    类型的拥有者。

    PostgreSQL 表空间

    表空间允许超级用户定义一个在文件系统的替代立置,可能属于包含数据库对象(例如表及索引)的数据文件。点击

    -> 表空间 来打开 表空间 的对象列表。

    注意: 表空间在 PostgreSQL 8.0 版本添加。 PostgreSQL 8.2 或以上版本支持 注释 选项卡。

    常规属性位置

    表空间将使用的目录。目录必须是空的及必须是 PostgreSQL 系统用户拥有。目录必须是指定为绝对路径名。

    拥有者

    拥有表空间的用户名。如果忽略,默认为运行命令的用户。只有超级用户可创建表空间,但他们会可指定表空间的拥有权给非超级用户。

    PostgreSQL 编 制

    编制指定如果在两个数据类型间运行转换。点击
    -> 编制 来打开 编制 的对象列表。注意:PostgreSQL 8.0 或以上版本支持 注释 选项卡。

    常规属性

    源类型的模式 和 源类型

    编制的源数据类型的模式和名。

    目标类型的模式 和 目标类型

    编制的目标数据类型的模式和名。

    函数的模式 和 函数

    用来运行编制的函数。函数名可能是模式修饰。如果不是,将在模式路径中查找该函数。函数的结果数据类型必须符合编制的目标类型。

    如果没有指定函数,表明源类型及目标类型是二进制兼容,所以不需要函数来运行编制。

    不言明

    表明编制可以在任何内容不言明启用。

    指派

    表明编制可以在指派内容不言明启用。

    PostgreSQL 外部服务器

    一个外部服务器通常封装用于访问外部数据源的外部数据封装器(foreign-data wrapper)的连接信息。用户特定的额外连接信息可以由用户对应的方式来指定。点击
    -> 外部服务器 来打开 外部服务器 的对象列表。

    注意:PostgreSQL 8.4 或以上版本支持。

    若要访问外部 PostgreSQL 服务器的数据,你可以安装 postgres_fdw 扩展。右击对象列表窗格的任何位置并选择 安装 postgres_fdw 扩展

    常规属性

    FDW 名

    管理服务器的外部数据封装器的名。

    选项

    定义连接的详细信息,但实际上名和值是依赖服务器的外部数据封装器。

    服务器类型

    指定服务器的类型。

    服务器版本

    指定服务器的版本。

    拥有者

    外部服务器的拥有者。

    用户对应名

    对应到外部服务器的现有用户的名。

    选项

    指定用户对应的选项。这选项通常定义对应的实际用户名和密码。

    PostgreSQL 语 言

    语言可以在 PostgreSQL 数据库注册一个新的过程语言。随后,函数及触发器过程可以定义在这个新语言。用户必须有

    PostgreSQL 超级用户权限来注册新语言。点击
    -> 语言 来打开 语言 的对象列表。注意:PostgreSQL 8.0 或以上版本支持 注释 选项卡。

    常规属性

    拥有者

    语言的拥有者。

    注意:PostgreSQL 8.3 或以上版本支持。

    操作符的模式 和 操作符

    调用操作符是以前注册的函数名,将被调用来运行过程语言函数。过程语言的调用操作符用一个已编译的语言写,例如 C与版本 1 调用转换及在 PostgreSQL 注册为一个没有引数的函数及返回 language_handler 类型,佔位符类型只是用来定义函数为调用操作符。

    验证符的模式 和 验证符

    验证符函数是以前注册的函数名,将被调用当在语言中新函数创建,来验证新函数。如果没有指定验证符函数,那麼当新函数创建时将不会检查它。验证符函数必须有一个类型 oid 的引数,这将是将要创建的函数的 OID,并通常会返回

    void。

    验证符函数通常会检查函数主体的语法正确性,但它也可以看函数的其他属性,例如,如果语言不可以处理某些引数类型。要发出错误信号,验证符函数应使用 ereport() 函数。函数的返回值将被忽略。

    信任

    指定语言的调用操作符是安全的,也就是說,它不提供未经授权的用户任何功能来绕过访问限制。当注册语言时,如果忽略这个关键字,只有 PostgreSQL 超级用户权限的用户可以用这个语言创建新函数。