PostgreSQL

The PostgreSQL Development Team

Edited by

Thomas Lockhart

PostgreSQLis 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 图形化交互客户端
pgadminPostgres 用于  Windows 95/98/NT  平台的数据库管理和设计工具
pg_ctl - 启动,停止 和重新启动 postmaster
pg_dump - 把一个 Postgres 数据库抽出到一个脚本文件里
pg_dumpall - 把所有 Postgres 数据库抽出到一个脚本文件里
psqlPostgres 交互的终端
pgtclshPostgres TCL shell 客户端
pgtkshPostgres 图形化的 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.xSolaris 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. 创建索引

    下一页
    摘要