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. 创建索引
???