
PostgreSQL开发指南
文章平均质量分 96
PostgreSQL 安装与配置,用户与角色管理,数据库的维护、备份与恢复操作。SQL 语句,常见函数,高级查询,数据库事务、索引、视图、存储过程/函数、触发器,Java、PHP、Python 编程接口。
不剪发的Tony老师
《SQL编程思想》作者,PostgreSQL ACE。
展开
-
《PostgreSQL开发指南》第32篇 物化视图
物化视图(Materialized View)是 PostgreSQL 提供的一个扩展功能,它是介于视图和表之间的一种对象。原创 2023-08-18 20:51:10 · 1765 阅读 · 0 评论 -
《PostgreSQL开发指南》第31篇 JSON文档存储
本文介绍了 PostgreSQL 中的文档存储功能,包括 JSON/JSONB 数据类型,JSON 函数和操作符,以及 GIN 全文索引优化。原创 2023-03-15 22:09:13 · 3222 阅读 · 0 评论 -
如果有人问你 SQL 约束,记得把这篇文章给他
介绍 SQL 标准中定义的完整性约束,包括非空约束、唯一约束、主键约束、外键约束、检查约束和默认值,以及主流数据库中的实现:Oracle、MySQL、Microsoft SQL Server、PostgreSQL、SQLite。原创 2020-03-06 15:58:05 · 4351 阅读 · 7 评论 -
《PostgreSQL开发指南》第30篇 Java访问PostgreSQL
介绍如何在 Java 程序中利用 JDBC 接口连接和操作 PostgreSQL 数据库,包括创建和删除表、执行数据的增删改查操作、事务的管理以及调用存储过程。原创 2020-06-16 09:20:52 · 4077 阅读 · 1 评论 -
《PostgreSQL开发指南》第29篇 Python访问PostgreSQL
利用 Python 驱动程序接口 psycopg 连接和操作 PostgreSQL 数据库,包括创建和删除表、执行数据的增删改查操作、事务的管理以及调用存储过程和函数。原创 2020-06-08 18:01:30 · 2107 阅读 · 1 评论 -
《PostgreSQL开发指南》第28篇 PHP访问PostgreSQL
介绍如何利用 PHP 数据对象(PDO)接口连接和操作 PostgreSQL 数据库,包括创建和删除表、执行数据的增删改查操作、事务的管理以及调用存储过程和函数。原创 2020-06-03 22:35:45 · 1605 阅读 · 1 评论 -
《PostgreSQL开发指南》第27篇 触发器
PostgreSQL 触发器(trigger)是一种特殊的函数,当某个数据变更事件(INSERT、UPDATE、DELETE 或者 TRUNCATE)或者数据库事件(DDL 语句)发生时自动执行,而不是由用户或者应用程序进行调用。基于某个表或者视图数据变更的触发器被称为数据变更触发器(DML 触发器),基于数据库事件的触发器被称为事件触发器(DDL 触发器)。原创 2020-05-25 17:55:33 · 1503 阅读 · 2 评论 -
《PostgreSQL开发指南》第26篇 存储过程
介绍如何使用 PL/pgSQL 创建存储过程和函数,包括代码的块结构、变量声明与赋值、条件语句和循环控制结构、游标的使用、错误处理等。原创 2020-05-18 22:09:53 · 2714 阅读 · 1 评论 -
《PostgreSQL开发指南》第25篇 视图
本篇介绍 PostgreSQL 中视图(View)的概念和作用,如何创建、修改、删除视图,以及可更新视图的使用与控制。原创 2020-05-06 20:55:51 · 1401 阅读 · 0 评论 -
《PostgreSQL开发指南》第24篇 索引与优化
本篇介绍 PostgreSQL 中的索引概念,包括 B-树索引、哈希索引等类型,唯一索引、多列索引、函数索引、部分索引以及覆盖索引等方式。如何利用索引优化数据库的查询性能,以及创建索引、查看索引、维护索引等操作。原创 2020-04-27 20:21:53 · 1663 阅读 · 0 评论 -
《PostgreSQL开发指南》第23篇 事务与并发控制
本篇介绍 PostgreSQL 中的数据库事务概念和 ACID 属性,并发事务可能带来的问题以及 4 种隔离级别,演示了如何使用事务控制语句(TCL)对事务进行处理,包括 BEGIN、COMMIT、ROLLBACK 以及 SAVEPOINT 语句。原创 2020-04-23 21:09:14 · 1689 阅读 · 0 评论 -
《PostgreSQL开发指南》第22篇 DML语句
介绍如何在 PostgreSQL 中对表的数据进行修改操作,包括插入数据的 INSERT 语句、更新数据的 UPDATE 语句、删除数据的 DELETE 语句,以及合并数据的 MERGE 语句。原创 2020-04-15 09:20:13 · 1646 阅读 · 1 评论 -
《PostgreSQL开发指南》第21篇 窗口函数
PostgreSQL 窗口函数(分析函数)基于和当前数据行相关的一组数据计算出一个结果。窗口函数使用 OVER 子句进行定义,包括 PARTITION BY、ORDER BY 以及 frame_clarse 三个选项。常见的窗口函数可以分为以下几类:聚合窗口函数、排名窗口函数以及取值窗口函数。原创 2020-04-07 20:53:08 · 1649 阅读 · 0 评论 -
《PostgreSQL开发指南》第20篇 通用表表达式
通用表表达式(Common Table Expression)是一个临时的查询结果或者临时表,可以在其他SELECT、INSERT、UPDATE以及DELETE语句中使用。使用 CTE 可以提高复杂查询的可读性,递归 CTE 可以遍历各种层次数据。CTE 和 DML 语句一起使用可以在一个语句中执行多个表的操作。原创 2020-03-26 15:26:34 · 2340 阅读 · 0 评论 -
《PostgreSQL开发指南》第19篇 集合操作
介绍 PostgreSQL 中的集合操作符,UNION 用于将两个查询结果合并成一个结果集,返回出现在第一个查询或者出现在第二个查询中的数据 ;INTERSECT 用于返回两个查询结果中的共同部分,即同时出现在第一个查询结果和第二个查询结果中的数据; EXCEPT 用于返回出现在第一个查询结果中,但不在第二个查询结果中的数据。原创 2020-03-20 17:32:22 · 2461 阅读 · 0 评论 -
《PostgreSQL开发指南》第18篇 子查询
子查询(Subquery)是指嵌套在其他 SELECT、INSERT、UPDATE 以及DELETE 语句中的查询语句。本文介绍了 PostgreSQL 中的子查询、关联子查询、横向子查询、IN、ALL、ANY 以及 EXISTS 操作符。原创 2020-03-18 14:16:35 · 1707 阅读 · 1 评论 -
《PostgreSQL开发指南》第17篇 常用函数(二)
我们继续学习常用的 PostgreSQL 日期时间函数以及类型转换函数。原创 2020-03-09 21:57:32 · 1460 阅读 · 0 评论 -
《PostgreSQL开发指南》第16篇 常用函数(一)
本文主要介绍 PostgreSQL 中常用的数学函数和字符函数。原创 2020-02-27 22:17:05 · 3352 阅读 · 0 评论 -
《PostgreSQL开发指南》第15篇 CASE表达式
CASE 表达式为 SQL 语句增加类似于 IF-THEN-ELSE 的逻辑处理功能,可以根据不同的条件返回不同的结果。PostgreSQL 支持两种形式的条件表达式:简单 CASE 表达式和搜索 CASE 表达式。另外,为了方便空值处理,还提供了两个缩写形式的 CASE 表达式(函数):NULLIF 和 COALEASE。原创 2019-06-28 20:21:28 · 1794 阅读 · 0 评论 -
《PostgreSQL开发指南》第14篇 多表连接
连接查询(join)基于两个表中的连接字段将数据行拼接到一起,可以同时返回两个表中的相关数据。PostgreSQL 支持各种类型的 SQL 连接查询:内连接(INNER JOIN)、左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)、全外连接(FULL OUTER JOIN)、交叉连接(CROSS JOIN)、自然连接(NATURAL JOIN)、自连接。原创 2019-06-21 14:23:03 · 3810 阅读 · 2 评论 -
《PostgreSQL开发指南》第13篇 分组汇总
聚合函数(aggregate function)针对一组数据行进行运算,并且返回一条结果。GROUP BY 可以将数据分成多个组,针对每个组应用聚合计算。HAVING 子句用于对分组后的结果进行过滤。GROUPING SETS、CUBE、ROLLUP 提高了更高级的分组功能,能够提高多维度的数据分析和汇总功能。原创 2019-06-18 20:48:12 · 3289 阅读 · 4 评论 -
《PostgreSQL开发指南》第12篇 限定数量
查询语句的结果可能包含成百上千行数据,但是前端显示时也许只需要其中的一小部分,例如 TOP-N 排行榜;或者为了便于查看,每次只显示一定数量的结果,例如分页功能。为了处理这类应用,SQL 提供了标准的`FETCH`和`OFFSET`子句。另外,PostgreSQL 还实现了扩展的`LIMIT`语法。原创 2019-06-02 21:26:10 · 1636 阅读 · 0 评论 -
《PostgreSQL开发指南》第11篇 排序显示
介绍在 PostgreSQL 中如何使用 ORDER BY 进行查询结果的排序显示,包括单列排序、多列排序,升序和降序排序、空值排序等。原创 2019-05-13 11:00:04 · 1389 阅读 · 0 评论 -
《PostgreSQL开发指南》第10篇 查询条件
如果只想返回满足某些条件的数据,比如某个部门或者某些职位的员工、姓名以特定字符串开头的员工等,需要使用 SQL 中的WHERE子句。原创 2019-05-12 22:02:41 · 1416 阅读 · 0 评论 -
《PostgreSQL开发指南》第09篇 简单查询
介绍 PostgreSQL 中的简单查询语句,如何使用 SELECT 和 FROM 查询单个表中的数据。原创 2019-04-22 16:54:05 · 1588 阅读 · 0 评论 -
《PostgreSQL开发指南》第08篇 备份与恢复
服务器系统错误、硬件故障或者人为失误都可能导致数据的丢失或损坏。因此,备份和恢复对于数据库的高可用性至关重要。数据库管理员应该根据业务的需求制定合适的备份策略,并提前演练各种故障情况下的恢复过程,做到有备无患。原创 2019-03-29 10:55:44 · 1832 阅读 · 0 评论 -
《PostgreSQL开发指南》第07篇 管理表空间
在 PostgreSQL 中,表空间(tablespace)表示数据文件的存放目录,这些数据文件代表了数据库的对象,例如表或索引。当我们访问表时,系统通过它所在的表空间定位到对应数据文件所在的位置。本篇介绍 PostgreSQL 中如何管理表空间,包括 CREATE TABLESPACE、ALTER TABLESPACE 以及 DROP TABLESPACE 语句。原创 2019-02-21 13:48:26 · 2087 阅读 · 1 评论 -
《PostgreSQL开发指南》第06篇 管理数据表
在关系型数据库中,用于存储数据的对象主要是表(table)。在上一篇中,我们已经了解到,表包含在模式中,模式包含在数据库中。接下来我们介绍如何管理数据库中的表,包括创建表、修改表以及删除表等操作。原创 2019-02-15 16:45:07 · 1638 阅读 · 2 评论 -
《PostgreSQL开发指南》第05篇 数据库与模式
一个 PostgreSQL 实例管理一个数据库集群,一个集群可以包含一个或多个数据库(database),一个数据库包含一个或多个模式(shcema),模式就像是一个命名空间,其中包含了许多数据库对象,例如表、索引等等。本文介绍 PostgreSQL 中数据库和模式的相关操作。原创 2019-02-13 11:17:46 · 1857 阅读 · 1 评论 -
《PostgreSQL开发指南》第04篇 角色与用户
PostgreSQL 通过角色的概念来控制数据库的访问权限。角色又包含了两种概念,具有登录权限的角色称为用户,包含其他成员(也是角色)的角色称为组(group)。因此,一个角色可以是一个用户,也可以是一个组,或者两者都是。数据库对象的授权使用GRANT语句,撤销授权使用REVOKE语句。原创 2019-02-12 15:21:13 · 1742 阅读 · 0 评论 -
《PostgreSQL开发指南》第03篇 PostgreSQL安装
本文简单介绍如何在不同的操作系统上安装 PosgtreSQL。主要介绍了 Linux 下的 PosgtreSQL 安装过程和 Windows 系统下的图形安装工具。原创 2019-02-02 09:51:26 · 1974 阅读 · 0 评论 -
《PostgreSQL开发指南》第02篇 PostgreSQL简介
PostgreSQL 是世界上最先进的开源对象-关系型数据库管理系统(ORDBMS)。它基于加利福尼亚大学伯克利分校开发的 POSTGRES, Version 4.2。原创 2019-02-01 14:31:02 · 2167 阅读 · 1 评论 -
《PostgreSQL开发指南》第01篇 课程介绍
本专栏主要面向 PostgreSQL 初级 DBA 和开发人员,内容包括:PostgreSQL 介绍、PostgreSQL 安装,用户和角色、数据库与模式的管理、表空间与表的维护、数据库的备份与恢复、各种 SQL 查询语句、常用函数、DML 语句,以及一些高级功能,例如通用表表达式、窗口函数、数据库事务、索引、视图、存储过程及函)、触发器、应用程序编程接口等。原创 2019-01-31 11:16:03 · 2906 阅读 · 1 评论