PostgreSQL
The PostgreSQL Development Team
Edited by
Thomas Lockhart
PostgreSQL
is Copyright ?1996-2000 by PostgreSQL Inc.
编译:何伟平 laser@zhengmai.com.cn
中文译稿版权声明:
本文的中文译稿版权属于其中文译稿作者。您可对本手册进行非商业用途的自由传播,但务必保证手册的完整性,转载时请保留本版权声明.由于译者水平有限,错误之处在所难免,希望各位用户指正.由此带来的一切后果,本人概不负责.
-
内容
-
摘要
-
I. 用户手册
-
1. 简介
-
何为 Postgres?
-
简单回顾 Postgres
-
关于这个版本
-
资源
-
术语
-
符号
-
问题汇报指导
-
Y2K 声明
-
版权和商标
-
2. SQL 语法
-
关键字
-
注释
-
名称
-
常量
-
域和列(字段)
-
操作符
-
表达式
-
3. 数据类型
-
数值类型
-
货币类型
-
字符类型
-
日期/时间类型
-
布尔类型
-
几何类型
-
IP 版本 4 网络和主机地址
-
4. 操作符
-
语法优先级
-
通用操作符
-
数字操作符
-
几何操作符
-
时间间隔操作符
-
IP V4 CIDR 操作符
-
IP V4 INET 操作符
-
5. 函数
-
SQL 函数
-
数学函数
-
字符串函数
-
日期/时间函数
-
格式化函数
-
几何函数
-
IP V4 函数
-
6. 类型转换
-
概述
-
操作符
-
函数
-
查询目标
-
UNION 查询
-
7. 索引和键字
-
键字
-
部分索引
-
8. 数组
-
9. 继承
-
10. PL/pgSQL - SQL 过程语言
-
概述
-
描述
-
例子
-
11. PL/Tcl - TCL 过程语言
-
概述
-
描述
-
12. PL/perl - Perl 过程语言
-
概述
-
制作和安装
-
使用 PL/Perl
-
13. 多版本并行控制
-
介绍
-
事务隔离
-
读已提交隔离级别
-
可串行化隔离级别
-
锁和表
-
锁和索引
-
应用层的数据完整性检查
-
14. 设置运行环境
-
15. 管理数据库
-
创建数据库
-
变换数据库位置
-
访问数据库
-
删除数据库
-
16. 磁盘存储
-
17. 理解性能
-
使用 EXPLAIN
-
18. 向数据库添加记录
-
关闭自动提交
-
使用 COPY FROM
-
删除索引
-
19. SQL 命令
-
ABORT - 退出当前事务
-
ALTER GROUP - 向组中增加新用户,从组中删除用户
-
ALTER TABLE - 修改表属性
-
ALTER USER - 修改用户帐户信息
-
BEGIN - 以链模式开始一个事务
-
CLOSE - 关闭一个游标
-
CLUSTER - 给服务器存储簇建议
-
COMMENT - 向一个对象增加评注
-
COMMIT - 提交当前事务
-
COPY - 在文件和表之间拷贝数据
-
CREATE AGGREGATE - 定义一个新的聚集函数
-
CREATE CONSTRAINT TRIGGER - 创建一个支持约束的触发器
-
CREATE DATABASE - 创建一个新数据库
-
CREATE FUNCTION - 定义一个新函数
-
CREATE GROUP - 创建一个新组
-
CREATE INDEX - 构造一个从索引
-
CREATE LANGUAGE - 为函数定义一门新语言
-
CREATE OPERATOR - 定义一个新的用户操作符
-
CREATE RULE - 定义一个新规则
-
CREATE SEQUENCE - 创建一个新的序列数生成器
-
CREATE TABLE - 创建一个新表
-
CREATE TABLE AS - 创建一个新表
-
CREATE TRIGGER - 创建一个新触发器
-
CREATE TYPE - 定义一个新的基本数据类型
-
CREATE USER - 创建一个新的数据库用户
-
CREATE VIEW - 构造一个虚拟表
-
DECLARE - 定义一个访问数据库的游标
-
DELETE - 从表中删除行
-
DROP AGGREGATE - 删除一个聚集函数的定义
-
DROP DATABASE - 删除一个现有的表
-
DROP FUNCTION - 删除一个用户定义的 C
函数
-
DROP GROUP - 删除一个组
-
DROP INDEX - 从一个数据库里删除一个索引
-
DROP LANGUAGE - 删除一个用户定义的过程语言
-
DROP OPERATOR - 从数据库里删除一个操作符
-
DROP RULE - 从数据库里删除一个现有规则
-
DROP SEQUENCE - 删除一个现存序列
-
DROP TABLE - 从一个数据库里删除现存表
-
DROP TRIGGER - 删除一个触发器的定义
-
DROP TYPE - 从系统表里面删除一个用户定义类型
-
DROP USER - 删除一个用户
-
DROP VIEW - 从数据库里删除一个现存视图
-
END - 提交当前事务
-
EXPLAIN - 显示语句执行规划
-
FETCH - 用一个游标获取行
-
GRANT - 给一个用户,一个组或者所有用户赋予权限
-
INSERT - 向数据库中插入新行
-
LISTEN -侦听一个通知条件的响应
-
LOAD - 动态装载一个对象文件
-
LOCK - 在一个事务内部显式锁定一个表
-
MOVE - 移动游标的位置
-
NOTIFY - 通知所有侦听某一通知条件的后端和前端
-
REINDEX - 在单进程单用户 Postgres 条件下恢复被破坏了的系统索引
-
RESET -为会话恢复缺省的运行时参数
-
REVOKE -废除一个用户,一个组或者所有用户的访问权限
-
ROLLBACK - 退出当前的事务
-
SELECT -从一个表或者视图里检索行
-
SELECT INTO - 从一个现有的表或者视图里创建新表
-
SET - 为会话设置运行时参数
-
SHOW - 为会话显示运行时参数
-
TRUNCATE - 清空一个表
-
UNLISTEN - 停止通知条件的侦听
-
UPDATE - 调换一个表里某行的字段的值
-
VACUUM - 清理和分析一个 Postgres
数据库
-
20. 应用
-
createdb
- 创建一个新的 Postgres 数据库
-
createlang
- 向一个 Postgres 数据库里增加一门新的编程语言
-
createuser
- 创建一个新的 Postgres 用户
-
dropdb -
删除一个现存 Postgres 数据库
-
droplang
- 从一个 Postgres 数据库里删除一门编程语言
-
dropuser
- 删除一个 Postgres 用户
-
ecpg - 嵌入的
SQL C 预编译器
-
pgaccess
-Postgres 图形化交互客户端
-
pgadmin
- Postgres 用于 Windows
95/98/NT 平台的数据库管理和设计工具
-
pg_ctl - 启动,停止 和重新启动
postmaster
-
pg_dump -
把一个 Postgres 数据库抽出到一个脚本文件里
-
pg_dumpall
- 把所有 Postgres 数据库抽出到一个脚本文件里
-
psql - Postgres
交互的终端
-
pgtclsh
- Postgres TCL shell 客户端
-
pgtksh - Postgres
图形化的 TCL/TK shell
-
vacuumdb
- 清理和分析一个 Postgres 数据库
-
21. 系统应用
-
initdb -
创建一个新的 Postgres 数据库安装
-
initlocation
- 创建一个从属的 Postgres 数据库存储区
-
ipcclean
- 为退出的后端设置共享内存和信号灯
-
pg_passwd
- 管理平面口令文件
-
pg_upgrade
- 允许不重新装载数据从前面版本升级
-
postgres
- 运行一个 Postgres 单用户后端
-
postmaster
- 运行 Postgres 多用户后端
-
II. 管理员手册
-
22. 移植
-
目前支持的平台
-
不支持的平台
-
23. 配置选项
-
配置参数 (configure)
-
制作参数(make)
-
本地化支持
-
Kerberos 认证
-
24. 系统布局
-
25. 安装
-
安装之前
-
安装过程
-
26. 在 Win32 上安装
-
制作库
-
安装库
-
使用库
-
27. 运行时环境
-
在 Unix 里使用 Postgres
-
启动 postmaster
-
使用 pg_options
-
28. 安全性
-
用户认证
-
用户名和组
-
访问控制
-
函数和规则
-
安全 TCP/IP 联接
-
29. 添加和删除用户
-
30. 磁盘管理
-
改变(存储)位置
-
31. 管理数据库
-
创建数据库
-
访问数据库
-
删除数据库
-
备份和恢复
-
32. 蜕变测试
-
Postmaster 启动失败
-
客户端联接问题
-
调试信息
-
33. 数据库恢复
-
34. 蜕变测试
-
蜕变测试环境
-
蜕变测试过程
-
蜕变分析
-
平台相关的比较文件
-
35. 版本信息
-
版本 7.0
-
版本 6.5.3
-
版本 6.5.2
-
版本 6.5.1
-
版本 6.5
-
版本 6.4.2
-
版本 6.4.1
-
版本 6.4
-
版本 6.3.2
-
版本 6.3.1
-
版本 6.3
-
版本 6.2.1
-
版本 6.2
-
版本 6.1.1
-
版本 6.1
-
版本 v6.0
-
版本 v1.09
-
版本 v1.02
-
版本 v1.01
-
版本 v1.0
-
Postgres95 Beta 0.03
-
Postgres95 Beta 0.02
-
Postgres95 Beta 0.01
-
计时结果
-
III. 程序员手册
-
36. 体系结构
-
Postgres
体系概念
-
37. 扩展的 SQL:
概述
-
扩展性是如何工作的
-
Postgres 类型系统
-
关于 Postgres
系统表
-
38. 扩展的 SQL: 函数
-
查询语言(SQL)函数
-
过程语言函数
-
内部函数
-
编译(C)语言函数
-
函数重载
-
39. 扩展的 SQL:
类型
-
用户定义类型
-
40. 扩展的 SQL: 操作符
-
操作符优化信息
-
41. 扩展的 SQL: 聚集
-
42. Postgres
规则系统
-
Querytree(查询树)是什么?
-
视图和规则系统
-
INSERT,UPDATE 和 DELETE 的规则
-
规则和权限
-
规则与触发器之比较
-
43. 扩展索引接口
-
44. 索引开销计算函数
-
45. GiST 索引
-
46. 链接动态链接的函数
-
Linux
-
DEC OSF/1
-
SunOS 4.x, Solaris
2.x 和 HP-UX
-
47. 触发器
-
创建触发器
-
与触发器管理器交互
-
数据改变的可视性
-
例子
-
48. 服务器编程接口
-
接口函数
-
接口支持函数
-
存储器管理
-
数据改变的可视性
-
例子
-
49. 过程语言
-
安装过程语言
-
IV. 接口
-
50. 函数
-
51. 大对象
-
历史信息
-
实现的特点
-
接口
-
内建的已注册函数
-
通过 LIBPQ 访问大对象
-
例子程序
-
52. ecpg - 在 C
里嵌入 SQL
-
为什么要嵌入 SQL?
-
概念
-
如何使用 ecpg
-
局限
-
从其他 RDBMS 软件包移植
-
安装
-
寄语开发者
-
53. libpq - C 库
-
数据库联接函数
-
查询执行函数
-
异步查询处理
-
捷径
-
异步通知
-
与 COPY 命令相关联的函数
-
libpq 跟踪函数
-
libpq 控制函数
-
环境变量
-
线程特性
-
例子程序
-
54. libpq - C++ 绑定库
-
控制和初始化
-
libpq++ 类
-
数据库联接函数
-
查询执行函数
-
异步通知
-
与 COPY 命令相关联的函数
-
55. pgtcl - TCL 绑定库
-
命令
-
例子
-
pgtcl 命令参考信息
-
56. libpgeasy - 简化了的 C 绑定库
-
57. ODBC 接口
-
背景
-
Windows 应用
-
Unix 安装
-
配置文件
-
ApplixWare
-
58. JDBC 接口
-
制作 JDBC
接口
-
为 JDBC准备数据库
-
使用驱动
-
装入 JDBC
-
装载驱动
-
与数据库联接
-
发出查询和处理结果
-
执行更新
-
关闭联接
-
使用大对象
-
Postgres 对 JDBC API的扩展
-
深入阅读
-
59. Lisp 编程接口
-
V. 开发者手册
-
60. Postgres 源代码
-
格式
-
61. PostgreSQL 内部概貌
-
查询的过程
-
联接是如何建立起来的
-
分析器阶段
-
Postgres 规则系统
-
规划器/优化器
-
执行器
-
62. pg_options
-
63. 数据库系统里的基因查询优化
-
作为复杂优化问题的查询处理
-
基因算法(GA)
-
Postgres 里的基因查询优化(GEQO)
-
Postgres GEQO
未来的实现任务
-
64. 前端/后端协议
-
概述
-
协议
-
消息数据类型
-
消息格式
-
65. Postgres
信号
-
66. gcc 缺省优化
-
67. 后端接口
-
BKI 文件格式
-
通用命令
-
宏命令
-
调试命令
-
例子
-
68. 页面文件
-
页面结构
-
文件
-
臭虫
-
VI. 教程
-
69. SQL
-
关系数据模型
-
关系数据模型公式
-
在关系数据模型上的操作
-
SQL 语言
-
70. 体系结构
-
Postgres 体系概念
-
71. 开始
-
设置你的运行环境
-
运行SQL界面 (psql)
-
管理数据库
-
72. 查询语言
-
SQL 界面
-
概念
-
创建新表
-
向表中加入记录
-
查询一个表
-
重新定向 SELECT 查询
-
联接表
-
更新
-
删除
-
使用聚集函数
-
73. Postgres SQL
高级特性
-
继承
-
非原子数值
-
更多高级特性
-
VII. 附录
-
UG1. 日期/时间支持
-
时区
-
历史
-
DG1. CVS 仓库
-
CVS 树的组织
-
通过匿名 CVS获取源代码
-
通过CVSup获取源代码
-
DG2. 文档
-
文档地图
-
文档项目计划
-
文档源文件
-
制作文档
-
手册页
-
v7.0文档硬拷贝生成
-
工具集
-
可选工具集
-
参考书目
-
表目录
-
3-1. Postgres
数据类型
-
3-2. Postgres
函数常量
-
3-3. Postgres
数字类型
-
3-4. Postgres
货币类型
-
3-5. Postgres
字符类型
-
3-6. Postgres
特殊字符类型
-
3-7. Postgres
日期/时间类型
-
3-8. Postgres
日期输入
-
3-9. Postgres
月份缩写
-
3-10. Postgres
星期缩写
-
3-11. Postgres
时间输入
-
3-12. Postgres
带时区时间输入
-
3-13. Postgres
时区输入
-
3-14. Postgres
特殊日期/时间常量
-
3-15. Postgres
日期/时间输出风格
-
3-16. Postgres
日期顺序传统
-
3-17. Postgres
布尔类型
-
3-18. Postgres
几何类型
-
3-19. PostgresIP
版本 4 类型
-
3-20. PostgresIP
类型例子
-
4-1. 操作符顺序(优先级下降)
-
4-2. Postgres
操作符
-
4-3. Postgres
数字操作符
-
4-4. Postgres
几何操作符
-
4-5. Postgres
时间间隔操作符
-
4-6. PostgresIP
V4 CIDR 操作符
-
4-7. PostgresIP
V4 INET 操作符
-
5-1. SQL 函数
-
5-2. 数学函数
-
5-3. 超越数学函数
-
5-4. SQL92
字符串函数
-
5-5. 字符串函数
-
5-6. 日期/时间函数
-
5-7. 格式化函数
-
5-8. 用于日期/时间转换的模板
-
5-9. 用于日期/时间模板 to_char() 的后缀
-
5-10. 用于 to_char(numeric)的
模板
-
5-11. to_char 例子
-
5-12. 几何函数
-
5-13. 几何类型转换函数
-
5-14. 几何升级函数
-
5-15. PostgresIP
V4 函数
-
13-1. Postgres
隔离级别
-
19-1. 一个二进制拷贝文件的内容
-
22-1. 支持的平台
-
22-2. 不支持的平台
-
22-3. 不兼容的平台
-
23-1. Kerberos 参数例子
-
34-1. 目录布局
-
37-1. Postgres 系统表
-
38-1. 用于内建 Postgres
类型的等效 C 类型
-
43-1. 索引构型
-
43-2. B-tree 策略
-
55-1. pgtcl 命令
-
65-1. Postgres
信号
-
68-1. 例子页面布局
-
UG1-1. Postgres
识别的时区
-
UG1-2. Postgres
澳大利亚时区
-
DG2-1. Postgres
文档产品
-
DG2-2. 目录等效格式
-
图片列表
-
24-1. Postgres
文件布局
-
36-1. 联接是如何建立起来的
-
37-1. 主要的 Postgres
系统表
-
70-1. 联接是如何建立起来的
-
例子列表
-
19-1. 一个循环重写规则的例子
-
27-1. pg_options 文件
-
61-1. 一个简单查询
-
69-1. 供应商和部件数据库
-
69-2. 一个内部联接
-
69-3. 一个使用关系代数的查询
-
69-4. 带条件的简单查询
-
69-5. 聚集
-
69-6. 聚集
-
69-7. Having
-
69-8. 子查询
-
69-9. Union, Intersect, Except
-
69-10. 创建表
-
69-11. 创建索引
� � �