当前位置:首页 > 工业技术
PostgreSQL 7数据库开发指南
PostgreSQL 7数据库开发指南

PostgreSQL 7数据库开发指南PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:许宏松编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2001
  • ISBN:7111087615
  • 页数:399 页
图书介绍:
《PostgreSQL 7数据库开发指南》目录

第1章 PostgreSQL简介 1

1.1 什么是PostgreSQL 1

1.1.1 伯克利Postgres项目 2

1.1.2 Postgres95 2

1.1.3 PostgreSQL 2

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

1.3 PostgreSQL的许可协议 4

1.4 关于本书 5

1.5 说明 5

第2章 安装和配置 7

2.1 下载与解压缩 7

2.2 快速安装 7

2.3 编译、安装与回归测试 9

2.3.1 运行Postgres的要求 9

2.3.2 安装过程 9

第3章 快速入门 20

3.1 Postgres架构 20

3.2 Postgres的几个概念 21

3.3 设置环境 22

3.4 交互式监视器 22

3.5 数据类型 24

3.6 创建和删除数据库 25

3.7 创建表、视图和索引等 26

3.7.1 创建表 26

3.7.2 创建索引 27

3.7.3 创建视图 28

3.7.4 删除表、索引和视图 29

3.8 查询数据 29

3.8.1 简单SELECT语句 30

3.8.2 连接 31

3.8.3 聚集运算符 32

3.8.4 分组 32

3.8.5 Having 33

3.8.6 子查询 34

3.8.7 UNION,INTERSECT和EXCEPT 34

3.9 数据操纵 36

3.10 高级的特性 37

3.10.1 继承 37

3.10.2 非原子值 38

第4章 数据类型和运算符 41

4.1 数据类型 41

4.1.1 数值类型 42

4.1.2 serial类型 43

4.1.3 货币类型 43

4.1.4 字符类型 43

4.1.5 日期/时间类型 44

4.1.6 布尔类型 51

4.1.7 几何类型 51

4.1.8 IPv4网络地址和主机地址 53

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

4.2.1 通用运算符 54

4.2.2 数值运算符 55

4.2.3 几何运算符 56

4.2.4 时间间隔运算符 56

4.2.5 IPv4CIDR运算符 57

4.2.6 IP v4INET运算符 57

4.2.7 运算符的内部表示形式 58

4.2.8 字典优先级 58

4.3 与数据类型相关的函数 59

4.3.1 数学函数 59

4.3.2 字符串函数 60

4.3.3 日期/时间函数 61

4.3.4 几何函数 61

4.3.5 IP v4函数 63

4.3.6 Postgres函数常量 63

4.4 数据类型转换 63

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

4.4.2 函数运算中的转换规则 66

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

4.4.4 UNION查询中的类型转换 69

第5章 SQL语法 71

5.1 关键词 71

5.1.1 保留关键词 71

5.1.2 非保留关键词 73

5.2 注释 74

5.3 名称 75

5.4 常量 75

5.4.1 字符串常量 75

5.4.2 整数常量 75

5.4.3 浮点数常量 75

5.4.4 Postgres用户定义类型常量 76

5.4.5 数组常量 76

5.5 域和列 76

5.5.1 域 76

5.5.2 列 77

5.6 运算符 77

5.7 表达式 77

5.7.1 参数 77

5.7.2 函数表达式 78

5.7.3 聚集表达式 78

5.8 目标表 78

5.9 限定条件 78

5.10 From列表 79

第6章 管理数据库 80

6.1 创建和删除数据库 80

6.1.1 为数据库指定存储位置 80

6.1.2 创建数据库 82

6.1.3 使用createdb程序创建数据库 84

6.1.4 删除数据库 85

6.1.5 使用dropdb删除数据库 86

6.2 运行时参数 87

6.2.1 设置运行时参数 88

6.2.2 恢复运行时参数 90

6.2.3 显示会话的运行时参数 90

6.3 用户管理 90

6.3.1 创建新用户 91

6.3.2 修改用户信息 94

6.3.3 删除用户 94

6.3.4 赋予用户权限 95

6.3.5 撤销用户权限 96

6.4 备份与恢复 97

6.4.1 用pg_dump备份数据 98

6.4.2 pg_dumpall 100

6.5 Postgres系统表 101

第7章 创建表 103

7.1 创建/删除序列 104

7.2 指定缺省值 106

7.3 数据完整性约束 107

7.3.1 NOTNULL约束 108

7.3.2 UNIQUE约束 109

7.3.3 CHECK约束 109

7.3.4 PRIMARY KEY约束 109

7.3.5 表约束CONSTRAINT子句 110

7.3.6 表UNIQUE约束 110

7.3.7 表PRIMARY KEY约束 111

7.4 数组列及继承 112

7.5 CREATE TABLE示例 113

7.6 CREATETABLEAS 114

7.7 修改表定义 114

7.8 删除表 116

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

8.1 查询数据 118

8.1.1 简单查询 119

8.1.2 高级查询技术 123

8.1.3 查询示例 126

8.2 插入数据 128

8.3 删除记录 130

8.4 修改记录 131

8.5 正则表达式 132

8.5.1 原子 133

8.5.2 匹配范围 134

8.5.3 子表达式 134

8.5.4 方括号表达式 134

8.5.5 分支 135

8.5.6 反向引用 136

8.5.7 正则表达式示例 136

第9章 索引 137

9.1 创建和删除索引 138

9.2 创建与删除索引示例 139

第10章 psql 141

10.1 连接到数据库 142

10.2 命令行选项 142

10.3 psql元命令 145

10.4 psql高级特性 152

10.4.1 变量 152

10.4.2 SQL代换 154

10.4.3 psql提示 154

10.5 示例 155

10.6 其他问题 157

10.6.1 Bug和解决办法 157

10.6.2 GNU readline 157

第11章 规则系统 159

11.1 创建规则 160

11.2 删除规则 161

11.3 SELECT规则 162

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

11.3.2 直接将查询重定向 162

11.4 INSERT规则 163

11.4.1 根据用户身份执行操作 163

11.4.2 直接取消当前INSERT操作 164

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

11.4.4 实现FOREIGN KEY约束 164

11.5 删除规则 165

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

11.5.2 实现外键DELETE约束 165

11.5.3 实现对视图的删除 166

11.5.4 执行其他命令 166

11.6 UPDATE规则 167

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

11.6.2 实现视图更新 167

11.6.3 撤销UPDATE操作 168

11.6.4 执行其他SQL命令 168

第12章 视图 169

12.1 创建和删除视图 169

12.1.1 用CREATE创建视图 170

12.1.2 用DROPVIEW删除视图 170

12.2 视图的许可权限 171

第13章 触发器 173

13.1 创建触发器 173

13.2 删除触发器 174

13.3 触发器管理器交互 174

13.4 数据变化可见性 175

13.5 示例 176

第14章 大对象接口 179

14.1 在SQL语句中访问大对象 179

14.2 在libpq中访问大对象 180

第15章 多版本并发控制 186

15.1 事务 186

15.2 事务隔离 187

15.2.1 ANSI/ISO隔离级别 187

15.2.2 读提交隔离级别 188

15.2.3 串行化隔离级别 188

15.3 加锁和表 188

15.3.1 表级锁 188

15.3.2 行级锁 190

15.4 加锁和索引 190

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

第16章 安全 194

16.1 用户验证 194

16.2 基于主机的存取控制 195

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

第17章 扩展PostgreSQL 197

17.1 Postgres类型系统 197

17.2 扩展SQL:函数 198

17.2.1 查询语言SQL函数 199

17.2.2 程序语言函数 202

17.2.3 编译语言C函数 202

17.2.4 函数重载 207

17.2.5 删除自定义函数 208

17.3 扩展SQL:类型 208

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

17.3.2 自定义数据类型 211

17.3.3 删除自定义数据类型 211

17.4 扩展SQL:运算符 212

17.4.1 创建新运算符 212

17.4.2 运算符优化信息 213

17.4.3 删除运算符 216

17.5 扩展SQL:聚集函数 217

17.5.1 创建聚集函数 217

17.5.2 删除聚集函数 219

第18章 服务器编程接口 221

18.1 SPI接口函数 221

18.1.1 SPI_connect 221

18.1.2 SPI_finish 222

18.1.3 SPI exec 222

18.1.4 SPI_prepare 224

18.1.5 SPI_saveplan 224

18.1.6 SPI execp 225

18.1.7 SPI_copytuple 226

18.1.8 SPI_modifytuple 226

18.1.9 SPI_fnumber 227

18.1.10 SPI_fname 227

18.1.11 SPIgetvalue 227

18.1.12 SPI_getbinval 228

18.1.13 SPI_gettype 228

18.1.14 SPI_gettypeid 228

18.1.15 SPI_getrelname 229

18.1.16 SPI_palloc 229

18.1.17 SPI_repalloc 229

18.1.18 SPI_pfree 230

18.2 内存管理 230

18.3 数据变化的可见性 230

18.4 示例 231

第19章 libpq 234

19.1 数据库连接函数 234

19.1.1 PQconnectdb 234

19.1.2 PQsetdbLogin 235

19.1.3 PQsetdb 235

19.1.4 PQconnectStart和PQconnectPoll 236

19.1.5 PQconndefaults 237

19.1.6 PQfinish 238

19.1.7 PQreset 238

19.1.8 PQresetStart和PQresetPoll 238

19.1.9 返回连接属性的函数 238

19.1.10 PQerrorMessage 239

19.1.11 PQbackendPID 239

19.1.12 用于环境协商的函数 239

19.2 查询执行函数 240

19.2.1 PQexec 240

19.2.2 PQresultStatus 240

19.2.3 PQresStatus 241

19.2.4 PQresultErrorMessage 241

19.2.5 PQntuples 241

19.2.6 PQnfields 241

19.2.7 PQbinaryTuples 241

19.2.8 pQfname 241

19.2.9 PQfnumber 241

19.2.10 pQftype 242

19.2.11 PQfsize 242

19.2.12 PQfmod 242

19.2.13 PQgetvalue 242

19.2.14 PQgetlength 242

19.2.15 PQgetisnull 243

19.2.16 PQcmdStatus 243

19.2.17 PQcmdTuples 243

19.2.18 PQoidValue 243

19.2.19 PQoidStatus 243

19.2.20 PQprint 243

19.2.21 PQprintTuples 244

19.2.22 PQdisplayTuples 244

19.2.23 PQclear 244

19.2.24 PQmakeEmptyPGresult 245

19.3 异步查询处理 245

19.3.1 PQsendQuery 245

19.3.2 PQgetResult 245

19.3.3 PQconsumeInput 246

19.3.4 PQisBusy 246

19.3.5 PQsocket 246

19.3.6 PQrequestCancel 247

19.4 快速路径接口 247

19.5 异步通知 248

19.5.1 PQnotifies 248

19.5.2 PQgetline 249

19.5.3 PQgetlineAsync 249

19.5.4 PQputline 250

19.5.5 PQputnbytes 250

19.5.6 PQendcopy 250

19.6 Libpq跟踪函数 251

19.6.1 PQtrace 251

19.6.2 PQuntrac 251

19.7 Libpq控制函数 251

19.8 环境变量 251

19.9 示例程序 252

19.9.1 示例程序1 252

19.9.2 示例程序2 254

19.9.3 示例程序3 256

第20章 libpq++ 260

20.1 环境变量 260

20.2 libpq++类 261

20.2.1 数据库连接函数 261

20.2.2 查询执行函数 262

20.2.3 异步通知 263

20.2.4 与COPY命令相关联的函数 264

第21章 pgtcl 266

21.1 pgtcl命令 266

21.1.1 pg_connect 266

21.1.2 pg_disconnect 267

21.1.3 pg_conndefaults 267

21.1.4 pg_exec 268

21.1.5 pg_result 268

21.1.6 pg_select 269

21.1.7 pg_listen 270

21.1.8 pg_lo_creat 270

21.1.9 pg_lo_open 271

21.1.10 pg_lo_close 271

21.1.11 pg_lo_read 272

21.1.12 Pg_lo_write 272

21.1.13 pg_lo lseek 272

21.1.14 pg_lo_tell 273

21.1.15 pg_lo_unlink 273

21.1.16 pg_lo_import 273

21.1.17 pg_lo_export 274

21.2 示例 274

第22章 ecpg 275

22.1 运行ecpg 275

22.2 使用嵌入式SQL语言 276

22.2.1 声明部分 276

22.2.2 包含语句 277

22.2.3 连接语句 277

22.2.4 断开连接 278

22.2.5 打开游标语句 278

22.2.6 提交语句 278

22.2.7 回滚语句 278

22.2.8 其他语句 279

22.3 错误处理 280

22.4 示例 281

第23章 编程语言 283

23.1 编程语言概述 283

23.2 创建编程语言 283

23.2.1 使用CREATE LANGUAGE 283

23.2.2 使用createlang 286

23.3 删除编程语言 286

23.3.1 使用DROP LANGUAGE 286

23.3.2 使用droplang 287

23.4 PL/pgSQL 288

23.4.1 PL/pgSQL的结构 288

23.4.2 注释 288

23.4.3 声明变量 289

23.4.4 数据类型 289

23.4.5 表达式 290

23.4.6 语句 291

23.4.7 触发器程序 293

23.4.8 例外处理 294

23.4.9 示例 294

23.5 PL/Tcl 295

23.5.1 在PL/Tcl中定义函数 296

23.5.2 在PL/Tcl中的全局数据 296

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

23.5.4 从PL/Tcl中访问数据库 298

23.5.5 模块和未知命令 299

第24章 实用程序 300

24.1 普通应用程序 300

24.1.1 createdb 300

24.1.2 createlang 301

24.1.3 createuser 302

24.1.4 dropdb 303

24.1.5 droplang 304

24.1.6 dropuser 305

24.1.7 pgaccess 306

24.1.8 pgadmin 308

24.1.9 pg_dump 308

24.1.10 pg_dumpall 310

24.1.11 pgtclsh 311

24.1.12 pgtksh 311

24.1.13 vacuumdb 312

24.2 系统实用程序 313

24.2.1 initdb 313

24.2.2 initlocation 315

24.2.3 ipcclean 316

24.2.4 pg_passwd 316

24.2.5 pg_upgrade 318

24.2.6 postgres 318

24.2.7 postmaster 320

第25章 SQL命令参考 324

25.1 CREATE DATABASE 324

25.2 DROP DATABASE 325

25.3 CREATETABLE 326

25.4 CREATETABLEAS 334

25.5 ALTER TABLE 334

25.6 DROP TABLE 336

25.7 CREATE USER 336

25.8 ALTERUSER 338

25.9 DROP USER 339

25.10 CREATE AGGREGATE 340

25.11 DROP AGGREGATE 341

25.12 CREATE FUNCTION 342

25.13 DROPFUNCTION 344

25.14 CREATEINDEX 344

25.15 DROPINDEX 346

25.16 CREATELANGUAGE 346

25.17 DROPLANGUAGE 349

25.18 CREATEOPERATOR 350

25.19 DROPOPERATOR 351

25.20 CREATERULE 352

25.21 DROPRULE 354

25.22 CREATE SEQUENCE 355

25.23 DROP SEQUENCE 356

25.24 CREATETRIGGER 357

25.25 DROPTRIGGER 358

25.26 CREATETYPE 358

25.27 DROPTYPE 360

25.28 CREATEVIEW 361

25.29 DROPVIEW 362

25.30 SELECT 362

25.31 SELECTINTO 367

25.32 UPDATE 368

25.33 DELETE 369

25.34 INSERT 370

25.35 GRANT 371

25.36 REVOKE 372

25.37 BEGIN 373

25.38 COMMIT 374

25.39 ROLLBACK 375

25.40 ABORT 375

25.41 END 376

25.42 DECLARE 376

25.43 FETCH 378

25.44 MOVE 380

25.45 CLOSE 380

25.46 LISTEN 381

25.47 NOTIFY 382

25.48 UNLISTEN 383

25.49 LOAD 384

25.50 LOCK 385

25.51 COPY 388

25.52 SET 390

25.53 RESET 394

25.54 SHOW 395

25.55 EXPLAIN 396

25.56 TRUNCATE 396

25.57 CLUSTER 397

25.58 VACUUM 398

返回顶部