PostgreSQL学习手册(目录)

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 原文地址:http://www.cnblogs.com/stephen-liu74/archive/2012/06/08/2315679.html     事实上之前有很长一段时间都在纠结是否有必要好好学习它,但是始终都没有一个很好的理由说服自己。

原文地址:http://www.cnblogs.com/stephen-liu74/archive/2012/06/08/2315679.html

    事实上之前有很长一段时间都在纠结是否有必要好好学习它,但是始终都没有一个很好的理由说服自己。甚至是直到这个项目最终决定选用PostgreSQL时,我都没有真正意识到学习它的价值,当时只是想反正和其它数据库差不多,能用就行了。然而有一天晚上,自己也不知道为什么,躺在床上开始回想整个项目的实施过程,想着想着就想到了数据库选型这一问题上了。事情是这样的,最初客户将他们的产品目标定位为主打中型规模,同时也要在一定程度上支持小型规模。鉴于此,我们为他们提供的方案是中型规模的数据库选用Oracle,小型规模的选定MySQL,在经过多轮商谈之后这个方案通过了。然而随着项目的深入,客户突然有一天提出,由于成本和市场推广等问题,该产品的数据库部分需要进行一定的调整,调整的结果是中型规模可以同时支持Oracle和MySQL,而小型规模则要同时支持MySQL和PostgreSQL,原因非常简单,PostgreSQL是纯免费的数据库产品。听到这个消息之后,我当时就非常恼火,因为当初为了保证运行时效率(国标),我们的数据库访问层是完全基于数据库供应商提供的原始C接口开发的,甚至都没有考虑ODBC提供的原始C接口,以防在转换中失去效率,或是ODBC本身为了强调通用性而不得不牺牲某些数据库的优化特征,如批量插入、批量读取等。最后的结果显而易见,客户就是上帝,上帝的意见就是真理,这样我们就不得不基于现有的访问层接口又重新开发了一套支持PostgreSQL原生C接口的驱动。然而随着对PostgreSQL的不断学习,对它的了解也在逐步加深,后来发现它的功能还是非常强大的,特别是对GIS空间数据的支持就更加的吸引我了。于是就在脑子里为MySQL和PostgreSQL做了一个简单的对比和分析,最后得出一个结论,相比MySQL,PostgreSQL并没有什么刚性的缺点,但是它的纯免费特征确实是MySQL无法比拟的。它完全可以成为软件产品解决方案中非常重要的一环,特别是针对很多中低端用户,不仅在使用中不会感到任何差异,而且还能节省一部分额外的费用,这对于产品的市场推广是非常有帮助的。想到这里便决定起而行之,花上一段时间好好的学习和研究它,于是就有了这个系列的博客。
    好了,闲淡扯的差不多了,让我们还是言归正传吧!


PostgreSQL学习手册(数据表)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/16/2290803.html
一、表的定义
二、系统字段
三、表的修改
四、权限

PostgreSQL学习手册(模式Schema)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/18/2291526.html

PostgreSQL学习手册(表的继承和分区)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/18/2291814.html
一、表的继承
二、分区表

PostgreSQL学习手册(常用数据类型)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/19/2293602.html
一、数值类型
二、字符类型
三、日期/时间类型
四、布尔类型
五、位串类型
六、数组
七、复合类型

PostgreSQL学习手册(函数和操作符<一>)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/19/2294071.html
一、逻辑操作符
二、比较操作符
三、数学函数和操作符
四、字符串函数和操作符
五、位串函数和操作符

PostgreSQL学习手册(函数和操作符<二>)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/20/2294643.html
六、模式匹配
七、数据类型格式化函数
八、时间/日期函数和操作符

PostgreSQL学习手册(函数和操作符<三>)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/20/2295273.html
九、序列操作函数
十、条件表达式
十一、数组函数和操作符
十二、系统信息函数
十三、系统管理函数

PostgreSQL学习手册(索引)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/22/2298182.html
一、索引的类型
二、复合索引
三、组合多个索引
四、唯一索引
五、表达式索引
六、部分索引
七、检查索引的使用

PostgreSQL学习手册(事物隔离)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/25/2300863.html

PostgreSQL学习手册(性能提升技巧)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/25/2301064.html
一、使用EXPLAIN
二、批量数据插入

PostgreSQL学习手册(服务器配置)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/26/2302241.html
一、服务器进程的启动和关闭
二、服务器配置
三、内存相关的参数配置

PostgreSQL学习手册(角色和权限)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/26/2302639.html
一、数据库角色
二、角色属性
三、权限
四、角色成员

PostgreSQL学习手册(数据库管理)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/27/2303510.html
一、概述
二、创建数据库
三、修改数据库配置
四、删除数据库
五、表空间

PostgreSQL学习手册(数据库维护)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/27/2304155.html
一、恢复磁盘空间
二、更新规划器统计
三、VACUUM和ANALYZE的示例
四、定期重建索引
五、观察磁盘使用情况

PostgreSQL学习手册(系统表)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/28/2305415.html
一、pg_class
二、pg_attribute
三、pg_attrdef
四、pg_authid
五、pg_auth_members
六、pg_constraint
七、pg_tablespace
八、pg_namespace
九、pg_database
十、pg_index

PostgreSQL学习手册(系统视图)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/29/2306115.html
一、pg_tables
二、pg_indexes
三、pg_views
四、pg_user
五、pg_roles
六、pg_rules
七、pg_settings

PostgreSQL学习手册(客户端命令<一>)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/29/2306493.html
零、口令文件
一、createdb
二、dropdb
三、reindexdb
四、vacuumdb
五、createuser
六、dropuser

PostgreSQL学习手册(客户端命令<二>)
http://www.cnblogs.com/stephen-liu74/archive/2011/12/30/2307813.html
七、pg_dump
八、pg_restore
九、psql

PostgreSQL学习手册(SQL语言函数)
http://www.cnblogs.com/stephen-liu74/archive/2012/01/04/2312194.html
一、基本概念
二、基本类型
三、复合类型
四、带输出参数的函数
五、返回结果作为表数据源
六、返回集合的SQL函数
七、多态的SQL函数
八、函数重载

PostgreSQL学习手册(PL/pgSQL过程语言)
http://www.cnblogs.com/stephen-liu74/archive/2012/01/05/2312759.html
一、概述
二、PL/pgSQL的结构
三、声明
四、基本语句
五、控制结构
六、游标
七、错误和消息

如果您觉得这个系列的博客可以让您有所收获,请保持持续的关注。
如果您发现博客中有明显的纰漏,欢迎指正。
如果您有意进行技术上的交流,可以通过邮件共同探讨(stephenland74@hotmail.com)。
如果您有更好的建议或更好的实现方式,敬请赐教。
如果您已经是我的关注者,希望随后发布的Lua系列不会让您失望。
I am Stephen Liu.

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
5月前
|
关系型数据库 数据库 C语言
PostgreSQL服务端开发学习 -- Datum
在使用C语言开发PostgreSQL后端、客户端应用时,Datum无处不在,所以必须要对Datum有很清楚的了解。
128 2
|
6月前
|
SQL 关系型数据库 测试技术
沉浸式学习PostgreSQL|PolarDB 20: 学习成为数据库大师级别的优化技能
在上一个实验《沉浸式学习PostgreSQL|PolarDB 19: 体验最流行的开源企业ERP软件 odoo》 中, 学习了如何部署odoo和polardb|pg. 由于ODOO是非常复杂的ERP软件, 对于关系数据库的挑战也非常大, 所以通过odoo业务可以更快速提升同学的数据库优化能力, 发现业务对数据库的使用问题(如索引、事务对锁的运用逻辑问题), 数据库的代码缺陷, 参数或环境配置问题, 系统瓶颈等.
760 1
|
6月前
|
关系型数据库 分布式数据库 数据库
沉浸式学习PostgreSQL|PolarDB 19: 体验最流行的开源企业ERP软件 odoo
本文主要教大家怎么用好数据库, 而不是怎么运维管理数据库、怎么开发数据库内核.
677 1
|
7月前
|
存储 关系型数据库 物联网
沉浸式学习PostgreSQL|PolarDB 14: 共享单车、徒步、旅游、网约车轨迹查询
本文的目的是帮助你了解如何设计轨迹表, 如何高性能的写入、查询、分析轨迹数据.
605 0
|
7月前
|
人工智能 关系型数据库 分布式数据库
沉浸式学习PostgreSQL|PolarDB 16: 植入通义千问大模型+文本向量化模型, 让数据库具备AI能力
本文将带领大家来体验一下如何将“千问大模型+文本向量化模型”植入到PG|PolarDB中, 让数据库具备AI能力.
23501 18
沉浸式学习PostgreSQL|PolarDB 16: 植入通义千问大模型+文本向量化模型, 让数据库具备AI能力
|
5月前
|
关系型数据库 C语言 PostgreSQL
PostgreSQL服务端开发学习 --- 常用结构及宏定义1
本篇主要讲解使用C语言开发PostgreSQL服务端应用(libpq、自定义函数、扩展)常用到的结构及宏定义。
92 0
|
7天前
|
Docker 容器 关系型数据库
【PolarDB-X从入门到精通】 第四讲:PolarDB分布式版安装部署(源码编译部署)
本期课程将于4月11日19:00开始直播,内容包括源码编译基础知识和实践操作,课程目标是使学员掌握源码编译部署技能,为未来发展奠定基础,期待大家在课程中取得丰富的学习成果!
【PolarDB-X从入门到精通】 第四讲:PolarDB分布式版安装部署(源码编译部署)
|
5月前
|
关系型数据库 C语言 PostgreSQL
PostgreSQL服务端开发学习 -- fmgr.h
fmgr按官方的解释就是Postgres函数管理器和函数调用接口,在使用C语言开发PostgreSQL后端应用时,所以与backend交互时必须遵循fmgr.h中定义的一些规范。
124 0
|
6月前
|
关系型数据库 定位技术 分布式数据库
沉浸式学习PostgreSQL|PolarDB 18: 通过GIS轨迹相似伴随|时态分析|轨迹驻点识别等技术对拐卖、诱骗场景进行侦查
本文主要教大家怎么用好数据库, 而不是怎么运维管理数据库、怎么开发数据库内核.
1066 1
|
2月前
|
SQL 存储 关系型数据库
MySQL技能完整学习列表——1、数据库基础概念——1、关系型数据库(Relational Database)
MySQL技能完整学习列表——1、数据库基础概念——1、关系型数据库(Relational Database)
172 0