PostgreSQL学习手册(目录)

  • 格式:pdf
  • 大小:156.78 KB
  • 文档页数:3

PostgreSQL学习⼿册(⽬录)

事实上之前有很长⼀段时间都在纠结是否有必要好好学习它,但是始终都没有⼀个很好的理由说服⾃⼰。甚⾄是直到这个项⽬最终决定选⽤

PostgreSQL时,我都没有真正意识到学习它的价值,当时只是想反正和其它数据库差不多,能⽤就⾏了。然⽽有⼀天晚上,⾃⼰也不知道为什么,

躺在床上开始回想整个项⽬的实施过程,想着想着就想到了数据库选型这⼀问题上了。事情是这样的,最初客户将他们的产品⽬标定位为主打中型规

模,同时也要在⼀定程度上⽀持⼩型规模。鉴于此,我们为他们提供的⽅案是中型规模的数据库选⽤Oracle,⼩型规模的选定MySQL,在经过多轮商

谈之后这个⽅案通过了。然⽽随着项⽬的深⼊,客户突然有⼀天提出,由于成本和市场推⼴等问题,该产品的数据库部分需要进⾏⼀定的调整,调整

的结果是中型规模可以同时⽀持Oracle和MySQL,⽽⼩型规模则要同时⽀持MySQL和PostgreSQL,原因⾮常简单,PostgreSQL是纯免费的数据库

产品。听到这个消息之后,我当时就⾮常恼⽕,因为当初为了保证运⾏时效率(国标),我们的数据库访问层是完全基于数据库供应商提供的原始C接

⼝开发的,甚⾄都没有考虑ODBC提供的原始C接⼝,以防在转换中失去效率,或是ODBC本⾝为了强调通⽤性⽽不得不牺牲某些数据库的优化特

征,如批量插⼊、批量读取等。最后的结果显⽽易见,客户就是上帝,上帝的意见就是真理,这样我们就不得不基于现有的访问层接⼝⼜重新开发了

⼀套⽀持PostgreSQL原⽣C接⼝的驱动。然⽽随着对PostgreSQL的不断学习,对它的了解也在逐步加深,后来发现它的功能还是⾮常强⼤的,特别

是对GIS空间数据的⽀持就更加的吸引我了。于是就在脑⼦⾥为MySQL和PostgreSQL做了⼀个简单的对⽐和分析,最后得出⼀个结论,相⽐

MySQL,PostgreSQL并没有什么刚性的缺点,但是它的纯免费特征确实是MySQL⽆法⽐拟的。它完全可以成为软件产品解决⽅案中⾮常重要的⼀

环,特别是针对很多中低端⽤户,不仅在使⽤中不会感到任何差异,⽽且还能节省⼀部分额外的费⽤,这对于产品的市场推⼴是⾮常有帮助的。想到

这⾥便决定起⽽⾏之,花上⼀段时间好好的学习和研究它,于是就有了这个系列的博客。

好了,闲淡扯的差不多了,让我们还是⾔归正传吧!

PostgreSQL学习⼿册(数据表)

⼀、表的定义

⼆、系统字段

三、表的修改

四、权限

PostgreSQL学习⼿册(模式Schema)

PostgreSQL学习⼿册(表的继承和分区)

⼀、表的继承

⼆、分区表

PostgreSQL学习⼿册(常⽤数据类型)

⼀、数值类型

⼆、字符类型

三、⽇期/时间类型

四、布尔类型

五、位串类型

六、数组

七、复合类型

PostgreSQL学习⼿册(函数和操作符<⼀>)

⼀、逻辑操作符

⼆、⽐较操作符

三、数学函数和操作符

四、字符串函数和操作符

五、位串函数和操作符

PostgreSQL学习⼿册(函数和操作符<⼆>)

六、模式匹配

七、数据类型格式化函数

⼋、时间/⽇期函数和操作符

PostgreSQL学习⼿册(函数和操作符<三>)

九、序列操作函数

⼗、条件表达式

⼗⼀、数组函数和操作符

⼗⼆、系统信息函数

⼗三、系统管理函数

PostgreSQL学习⼿册(索引)

⼀、索引的类型⼆、复合索引

三、组合多个索引

四、唯⼀索引

五、表达式索引

六、部分索引

七、检查索引的使⽤

PostgreSQL学习⼿册(事物隔离)

PostgreSQL学习⼿册(性能提升技巧)

⼀、使⽤EXPLAIN

⼆、批量数据插⼊

PostgreSQL学习⼿册(服务器配置)

⼀、服务器进程的启动和关闭

⼆、服务器配置

三、内存相关的参数配置

PostgreSQL学习⼿册(⾓⾊和权限)

⼀、数据库⾓⾊

⼆、⾓⾊属性

三、权限

四、⾓⾊成员

PostgreSQL学习⼿册(数据库管理)

⼀、概述

⼆、创建数据库

三、修改数据库配置

四、删除数据库

五、表空间

PostgreSQL学习⼿册(数据库维护)

⼀、恢复磁盘空间

⼆、更新规划器统计

三、VACUUM和ANALYZE的⽰例

四、定期重建索引

五、观察磁盘使⽤情况

PostgreSQL学习⼿册(系统表)

⼀、pg_class

⼆、pg_attribute

三、pg_attrdef

四、pg_authid

五、pg_auth_members

六、pg_constraint

七、pg_tablespace

⼋、pg_namespace

九、pg_database

⼗、pg_index

PostgreSQL学习⼿册(系统视图)

⼀、pg_tables

⼆、pg_indexes

三、pg_views

四、pg_user

五、pg_roles

六、pg_rules

七、pg_settings

PostgreSQL学习⼿册(客户端命令<⼀>)

零、⼝令⽂件⼀、createdb

⼆、dropdb

三、reindexdb

四、vacuumdb

五、createuser

六、dropuser

PostgreSQL学习⼿册(客户端命令<⼆>)

七、pg_dump

⼋、pg_restore

九、psql

PostgreSQL学习⼿册(SQL语⾔函数)

⼀、基本概念

⼆、基本类型

三、复合类型

四、带输出参数的函数

五、返回结果作为表数据源

六、返回集合的SQL函数

七、多态的SQL函数

⼋、函数重载

PostgreSQL学习⼿册(PL/pgSQL过程语⾔)

⼀、概述

⼆、PL/pgSQL的结构

三、声明

四、基本语句

五、控制结构

六、游标

七、错误和消息

如果您觉得这个系列的博客可以让您有所收获,请保持持续的关注。

如果您发现博客中有明显的纰漏,欢迎指正。

如果您有意进⾏技术上的交流,可以通过邮件共同探讨(stephenland74@hotmail.com)。

如果您有更好的建议或更好的实现⽅式,敬请赐教。

如果您已经是我的关注者,希望随后发布的Lua系列不会让您失望。

I am Stephen Liu.