PostgreSQL 7数据库开发指南

PostgreSQL 7数据库开发指南
作 者: 许宏松
出版社: 机械工业出版社
丛编项: Linux与自由软件资源丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: postgreSQL
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《PostgreSQL 7数据库开发指南》作者简介

内容简介

PostgreSQL是“对象/关系”型数据库管理系统,它具有开放源码、支持多平台、免费使用等特点。本书主要介绍PostgreSQL的基本概念及应用技巧,内容包括:PostgreSQL基础知识、PostgreSQL快速入门、PostgreSQL管理、PostgreSQL数据库实现、规则与触发器、扩展PostgreSQL、服务器编程接口、PostgreSQL的C语言库libpq、C++接口libpq++、实用程序、PostgreSQL的SQL命令指南等内容。

图书目录

第1章 PostgreSQL简介

1.1 什么是PostgreSQL

1.1.1 伯克利Postgres项目

l.1.2 Postgres95

1.1.3 PostgreSQL

1.2 Postgres目前支持的平台和不支持的平台

1.3 PostgreSQL的许可协议

1.4 关于本书

1.5 说明

第2章 安装和配置

2.1 下载与解压缩

2.2 快速安装

2.3 编译、安装与回归测试

2.3.1 运行Postgres的要求

2.3.2 安装过程

第3章 快速入门

3.1 Postgres架构

3.2 Postgres的几个概念

3.3 设置环境

3.4 交互式监视器

3.5 数据类型

3.6 创建和删除数据库

3.7 创建表、视图和索引等

3.7.1 创建表

3.7.2 创建索引

3.7.3 创建视图

3.7.4 删除表、索引和视图

3.8 查询数据

3.8.1 简单SELECT语句

3.8.2 连接

3.8.3 聚集运算符

3.8.4 分组

3.8.5 Having

3.8.6 子查询

3.8.7 UNION INTERSECT和EXCEPT

3.9 数据操纵

3.10 高级的特性

3.10.1 继承

3.10.2 非原子值

第4章 数据类型和运算符

4.1 数据类型

4.1.1 数值类型

4.1.2 serial类型

4.1.3 货币类型

4.1.4 字符类型

4.1.5 日期/时间类型

4.1.6 布尔类型

4.1.7 几何类型

4.1.8 IP v4网络地址和主机地址

4.2 与数据类型相关的运算符

4.2.1 通用运算符

4.2.2 数值运算符

4.2.3 几何运算符

4.2.4 时间间隔运算符

4.2.5 IP v4 CIDR运算符

4.2.6 IP v4 INET运算符

4.2.7 运算符的内部表示形式

4.2.8 字典优先级

4.3 与数据类型相关的函数

4.3.1 数学函数

4.3.2 字符串函数

4.3.3 日期/时间函数

4.3.4 几何函数

4.3.5 IP v4函数

4.3.6 Postgres函数常量

4.4 数据类型转换

4.4.1 运算符表达式的转换规则

4.4.2 函数运算中的转换规则

4.4.3 查询目标中的类型转换规则

4.4.4 UNION查询中的类型转换

第5章 SQL语法

5.1 关键词

5.1.1 保留关键词

5.1.2 非保留关键词

5.2 注释

5.3 名称

5.4 常量

5.4.1 字符串常量

5.4.2 整数常量

5.4.3 浮点数常量

5.4.4 Postgres用户定义类型常量

5.4.5 数组常量

5.5 域和列

5.5.1 域

5.5.2 列

5.6 运算符

5.7 表达式

5.7.1 参数

5.7.2 函数表达式

5.7.3 聚集表达式

5.8 目标表

5.9 限定条件

5.10 From列表

第6章 管理数据库

6.1 创建和删除数据库

6.1.1 为数据库指定存储位置

6.1.2 创建数据库

6.1.3 使用createdb程序创建数据库

6.1.4 删除数据库

6.1.5 使用dropdb删除数据库

6.2 运行时参数

6.2.1 设置运行时参数

6.2.2 恢复运行时参数

6.2.3 显示会话的运行时参数

6.3 用户管理

6.3.1 创建新用户

6.3.2 修改用户信息

6.3.3 删除用户

6.3.4 赋予用户权限

6.3.5 撤销用户权限

6.4 备份与恢复

6.4.1 用pg-dump备份数据

6.4.2 pg_dumpall

6.5 Postgres系统表

第7章 创建表

7.1 创建/删除序列

7.2 指定缺省值

7.3 数据完整性约束

7.3.1 NOT NULL约束

7.3.2 UNIQUE约束

7.3.3 CHECK约束

7.3.4 PRIMARY KEY约束

7.3.5 表约束CONSTRAINT子句

7.3.6 表UNIQUE约束

7.3.7 表PRIMARY KEY约束

7.4 数组列及继承

7.5 CREATE TABLE示例

7.6 CREATE TABLE AS

7.7 修改表定义

7.8 删除表

第8章 查询、插入、修改和删除

8.1 查询数据

8.1.1 简单查询

8.1.2 高级查询技术

8.1.3 查询示例

8.2 插入数据

8.3 删除记录

8.4 修改记录

8.5 正则表达式

8.5.1 原子

8.5.2 匹配范围

8.5.3 子表达式

8.5.4 方括号表达式

8.5.5 分支

8.5.6 反向引用

8.5.7 正则表达式示例

第9章 索引

9.1 创建和删除索引

9.2 创建与删除索引示例

第10章 psql

10.1 连接到数据库

10.2 命令行选项

10.3 psql元命令

10.4 psql高级特性

10.4.1 变量

10.4.2 SQL代换

10.4.3 psql提示

10.5 示例

10.6 其他问题

10.6.1 Bug和解决办法

10.6.2 GNU readline

第11章 规则系统

11.1 创建规则

11.2 删除规则

11.3 SELECT规则

11.3.1 根据用户身份执行不同的操作

11.3.2 直接将查询重定向

11.4 INSERT规则

11.4.1 根据用户身份执行操作

11.4.2 直接取消当前INSERT操作

11.4.3 将当前操作重定向为其他SQL语句

11.4.4 实现FOREIGN KEY约束

11.5 删除规则

11.5.1 根据用户身份确定删除操作

11.5.2 实现外键DELETE约束

11.5.3 实现对视图的删除

11.5.4 执行其他命令

11.6 UPDATE规则

11.6.1 根据用户身份确定UPDATE操作

11.6.2 实现视图更新

11.6.3 撤销UPDATE操作

11.6.4 执行其他SQL命令

第12章 视图

12.1 创建和删除视图

12.1.1 用CREATE创建视图

12.1.2 用DROP VIEW删除视图

12.2 视图的许可权限

第13章 触发器

13.1 创建触发器

13.2 删除触发器

13.3 与触发器管理器交互

13.4 数据变化可见性

13.5 示例

第14章 大对象接口

14.1 在SQL语句中访问大对象

14.2 在libpq中访问大对象

第15章 多版本并发控制

15.1 事务

15.2 事务隔离

15.2.1 ANSI/ISO隔离级别

15.2.2 读提交隔离级别

15.2.3 串行化隔离级别

15.3 加锁和表

15.3.1 表级锁

15.3.2 行级锁

15.4 加锁和索引

15.5 应用程序级的数据一致性检查

第16章 安全

16.1 用户验证

16.2 基于主机的存取控制

16.3 基于用户/组的存取控制

第17章 扩展PostgreSQL

17.1 Postgres类型系统

17.2 扩展SQL:函数

17.2.1 查询语言SQL函数

17.2.2 程序语言函数

17.2.3 编译语言C函数

17.2.4 函数重载

17.2.5 删除自定义函数

17.3 扩展SQL:类型

17.3.1 用户定义类型所需的函数

17.3.2 自定义数据类型

17.3.3 删除自定义数据类型

17.4 扩展SQL:运算符

17.4.1 创建新运算符

17.4.2 运算符优化信息

17.4.3 删除运算符

17.5 扩展SQL:聚集函数

17.5.1 创建聚集函数

17.5.2 删除聚集函数

第18章 服务器编程接口

18.1 SPI接口函数

18.1.1 SPI_connect

18.1.2 SPI_finish

18.1.3 SPI exec

18.1.4 SPI_prepare

18.1.5 SPI_saveplan

18.1.6 SPI_execp

18.1.7 SPI_copytuple

18.1.8 SPI_modifytuple

18.1.9 SPI_fnumber

18.1.10 SPI_fname

18.1.11 SPI_getvalue

18.1.12 SPI_getbinval

18.1.13 SPI_gettype

18.1.14 SPI_gettypeid

18.1.15 SPI_getrelname

18.1.16 SPI_palloc

18.1.17 SPI_repalloc

18.1.18 SPI_pfree

18.2 内存管理

18.3 数据变化的可见性

18.4 示例

第19章 libpq

19.1 数据库连接函数

19.1.1 PQconnectdb

19.1.2 PQsetdbLogin

19.1.3 PQsetdb

19.1.4 PQconnectStart和PQconnectPoll

19.1.5 PQconndefaults

19.1.6 PQfinish

19.1.7 PQreset

19.1.8 PQresetStart和PQresetPoll

19.1.9 返回连接属性的函数

19.1.10 PQerrorMessage

19.1.11 PQbackendPID

19.1.12 用于环境协商的函数

19.2 查询执行函数

19.2.1 PQexec

19.2.2 PQresultStatus

19.2.3 PQresStatus

19.2.4 PQresultErrorMessage

19.2.5 PQntuples

19.2.6 PQnfields

19.2.7 PQbinaryTuples

19.2.8 PQfname

19.2.9 PQfnumber

19.2.10 PQftype

19.2.11 PQfsize

19.2.12 PQfmod

19.2.13 PQgetvalue

19.2.14 PQgetlength

19.2.15 PQgetisnull

19.2.16 PQcmdStatus

19.2.17 PQcmdTuples

19.2.18 PQoidValue

19.2.19 PQoidStatus

19.2.20 PQprint

19.2.21 PQprintTuples

19.2.22 PQdisplayTuples

19.2.23 PQclear

19.2.24 PQmakeEmptyPGresult

19.3 异步查询处理

19.3.1 PQsendQuery

19.3.2 PQgetResult

19.3.3 PQconsumelnput

19.3.4 PQisBusy

19.3.5 PQsocket

19.3.6 PQrequestCancel

19.4 快速路径接口

19.5 异步通知

19.5.1 PQnotifies

19.5.2 PQgetline

19.5.3 PQgetlineAsync

19.5.4 PQputline

19.5.5 PQputnbytes

19.5.6 PQendcopy

19.6 Libpq跟踪函数

19.6.1 PQtrace

19.6.2 PQuntrac

19.7 Libpq控制函数

19.8 环境变量

19.9 示例程序

19.9.1 示例程序1

19.9.2 示例程序2

19.9.3 示例程序3

第20章 libpq++

20.1 环境变量

20.2 libpq++类

20.2.1 数据库连接函数

20.2.2 查询执行函数

20.2.3 异步通知

20.2.4 与COPY命令相关联的函数

第21章 pgtcl

21.1 pgtcl命令

21.1.1 pgconnect

ZI.1.2 pg_disconnect

21.1.3 pg_conndefaults

21.1.4 pg_exec

21.1.5 pg_result

21.1.6 pg_select

21.1.7 pg_listen

21.1.8 pg_lo_creat

21.1.9 pg_lo_open

21.1.10 pg_lo_close

21.1.11 pg_lo_read

21.1.12 pg_lo_write

21.1.13 pg_lo_lseek

21.1.14 pg_lo_tell

21.1.15 pg_lo_unlink

21.1.16 pg_lo_import

21.1.17 pg_lo_export

21.2 示例

第22章 ecpg

22.1 运行ecpg

22.2 使用嵌入式SQL语言

22.2.1 声明部分

22.2.2 包含语句

22.2.3 连接语句

22.2.4 断开连接

22.2.5 打开游标语句

22.2.6 提交语句

22.2.7 回滚语句

22.2.8 其他语句

22.3 错误处理

22.4 示例

第23章 编程语言

23.1 编程语言概述

23.2 创建编程语言

23.2.1 使用CREATE LANGUAGE

23.2.2 使用createlang

23.3 删除编程语言

23.3.1 使用DROP LANGUAGE

23.3.2 使用droplang

23.4 PL/pgSQL

23.4.1 PL/pgSQL的结构

23.4.2 注释

23.4.3 声明变量

23.4.4 数据类型

23.4.5 表达式

23.4.6 语句

23.4.7 触发器程序

23.4.8 例外处理

23.4.9 示例

23.5 PL/Tcl

23.5.1 在PL/Tcl中定义函数

23.5.2 在PL/Tcl中的全局数据

23.5.3 用PL/Tcl创建触发器程序

23.5.4 从PL/Tcl中访问数据库

23.5.5 模块和未知命令

第24章 实用程序

24.1 普通应用程序

24.1.1 createdb

24.1.2 createlang

24.1.3 createuser

24.1.4 dropdb

24.1.5 droplang

24.1.6 dropuser

24.1.7 pgaccess

24.1.8 pgadmin

24.1.9 pg_dump

24.1.10 pg_dumpall

24.1.11 pgtclsh

24.1.12 pgtksh

24.1.13 vacuumdb

24.2 系统实用程序

24.2.1 initdb

24.2.2 initlocation

24.2.3 ipcclean

24.2.4 pg_passwd

24.2.5 pg_upgrade

24.2.6 postgres

24.2.7 postmaster

第25章 SQL命令参考

25.1 CREATE DATABASE

25.2 DROP DATABASE

25.3 CREATE TABLE

25.4 CREATE TABLEAS

25.5 ALTER TABLE

25.6 DROP TABLE

25.7 CREATE USER

25.8 ALTER USER

25.9 DROP USER

25.10 CREATE AGGREGATE

25.11 DROP AGGREGATE

25.12 CREATE FUNCTION

25.13 DROP FUNCTION

25.14 CREATE INDEX

25.15 DROP INDEX

25.16 CREATE LANGUAGE

25.17 DROP LANGUAGE

25.18 CREATE OPERATOR

25.19 DROP OPERATOR

25.20 CREATE RULE

25.21 DROP RULE

25.22 CREATE SEQUENCE

25.23 DROP SEQUENCE

25.24 CREATE TRIGGER

25.25 DROP TRIGGER

25.26 CREATE TYPE

25.27 DROP TYPE

25.28 CREATE VIEW

25.29 DROP VIEW

25.30 SELECT

25.31 SELECT INTO

25.32 UPDATE

25.33 DELETE

25.34 INSERT

25.35 GRANT

25.36 REVOKE

25.37 BEGIN

25.38 COMMIT

25.39 ROLLBACK

25.40 ABORT

25.41 END

25.42 DECLARE

25.43 FETCH

25.44 MOVE

25.45 CLOSE

25.46 LISTEN

25.47 NOTIFY

25.48 UNLISTEN

25.49 LOAD

25.50 LOCK

25.51 COPY

25.52 SET

25.53 RESET

25.54 SHOW

25.55 EXPLAIN

25.56 TRUNCATE

25.57 CLUSTER

25.58 VACUUM