PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引。
死锁的成因与解决方式
数据库中的表达式
背景介绍 传统数据库的主备架构,主备有各自的存储,备节点回放WAL日志并读写自己的存储,主备节点在存储层没有耦合。PolarDB的实现是基于共享存储的一写多读架构,主备使用共享存储中的一份数据。读写节
背景介绍 PolarDB采用了共享存储一写多读架构,读写节点RW和多个只读节点RO共享同一份存储,读写节点可以读写共享存储中的数据;只读节点仅能各自通过回放日志,从共享存储中读取数据,而不能写入,只读
概述 在共享存储一写多读的架构下,数据文件实际上只有一份。得益于多版本机制,不同节点的读写实际上并不会冲突。但是有一些数据操作不具有多版本机制,其中比较有代表性的就是文件操作。多版本机制仅限于文件内的
什么是PolarDB PostgreSQL PolarDB PostgreSQL(下文简称为PolarDB)是一款阿里云自主研发的云原生数据库产品,100%兼容PostgreSQL,采用基于Share
3.1. 引言上一章我们描述了PostgreSQL中使用SQL存储和访问数据的基本概念。接下来我们将会讨论一些简化管理和防止数据丢失或损坏的高级特性。最后,我们将会了解一些PostgreSQL扩展。本章将会引用第2章中的一些示例,并且进行修改和改进,所以最好先阅读第2章。本章的某些示例也可以在tutorial目录中的advanced.sql中找到。该文件中还包含一些示例数据。3.2.
本章讲述如何创建用于存储数据的数据库结构。在关系数据库中,原始数据存储在表中,因此本章主要涉及如何创建和修改表,以及控制表中存储的数据的特性。然后,我们讨论了如何在模式中组织表,以及表的权限管理。最后,我们将简单了解与数据存储有关的其他特性,例如继承,视图,函数和触发器。5.1. 表的基础知识 关系数据库中的表就像书面上的表格一样:由行和列组成。列的数量和顺序是固定的,并且每个列有一个...
上一章讨论了如何创建存储数据的表和其他结构。接下来就需要往表中填充数据。本章设计如何插入,更新,以及删除表中的数据。下一章将最后说明如何从数据库中查询久违的数据。6.1. 插入数据 表刚被创建时,没有任何数据。数据库能够使用之前的第一件事就是插入数据。从概念上讲,每次插入一行数据。当然你也可以插入多行数据,但是无法插入少于一行的数据。即使你只知道某些字段值,也必须创建一个完整的行。I...
上一章介绍了如何创建表,如何填充数据,如何操作数据。本章我们将要讨论如何检索数据库中的数据。7.1. 概述 检索数据的过程或者命令称为查询。在SQL中SELECT命令用于指定查询。SELECT命令的一般语法如下:[WITH with_queries] SELECT select_list FROM table_expression [sort_specification]随后的章节将...
1.1. 安装要使用,先安装!可能你的环境中已经安装了PostgreSQL,也许是操作系统已经包含了PostgreSQL,也许是系统管理员已经安装了PostgreSQL。如果是这样的话,你应该通过操作系统文档或者系统管理员了解如何访问PostgreSQL。如果你不确定是否已经安装了PostgreSQL或者是否能够用于实验,可以自己安装。安装并不难,而且是一个很好的练习。PostgreSQL可以
PostgreSQL 11 增加了一个新的模式对象:存储过程(Stored Procedure)。存储过程和函数(Function)类似,不过它没有返回值。存储过程最大的优势就是能够支持事务控制,也就是可以在定义中使用 COMMIT 或者 ROLLBACK 语句。使用 CREATEALTERDROP PROCEDURE 命令创建修改删除存储过程,使用 CALL 命令调用存储过程。支持存储...
文章目录Barman 简介Barman 简介Barman(Backup and Recovery Manager,备份与恢复管理器)是一个用于 PostgreSQL 数据库灾难恢复的开源管理工具,使用 Python 编写。Barman 使得企业能够执行多个关键业务数据库的远程备份,并且协助 DBA 执行灾难时的数据恢复。Barman 用于 PostgreSQL 数据库的物理备份,与 Ora...
pgAdmin 是一个非常流行、功能强大并且开源的 PostgreSQL 管理与开发平台。pgAdmin 支持 Linux、Unix、Mac OS X 以及 Windows 操作系统,可以管理 PostgreSQL 9.2 以及更高版本。
PostgreSQL 11 支持基于分区表创建索引,并且自动为每个分区创建具有相同属性的索引。PostgreSQL 11 还支持分区表上的唯一约束(主键和唯一键)。
文章目录索引相关的性能、功能和管理内联 WITH 查询(通用表表达式)分区增强遵循 SQL/JSON 规范的 JSON 路径查询排序规则最频繁值统计计算列可插拔式表存储接口页面校验和认证与连接安全变更注意事项2019-05-23 PostgreSQL 全球开发组发布消息称,PostgreSQL 12 第一个 beta 版提供下载测试。这个版本包含了 PostgreSQL 12 正式版中的所有特性...
介绍 PostgreSQL 获取当前日期时间的函数及注意事项:包括 CURRENT_DATE、CURRENT_TIME、LOCALTIME、CURRENT_TIMESTAMP、LOCALTIMESTAMP、transaction_timestamp()、statement_timestamp()、clock_timestamp()、timeofday()、now() 以及 pg_sleep()。
介绍如何通过 PostgreSQL 服务器的参数优化数据库的性能,包括查看参数设置的 SHOW 命令、pg_settings 视图、以及设置参数的各种方式。同时介绍了 max_connections、shared_buffers、wal_buffers、effective_cache_size、work_mem 以及 maintenance_work_mem 几个重要的参数。
PostgreSQL 中的每个表都包含了 6 个隐藏的系统字段:tableoid、xmin、xmax、cmin、cmax、ctid,这些字段可以用于获取关于数据行的一些内部信息。
在 PostgreSQL 中可以利用表达式索引(函数索引)基于常量值创建一个唯一索引,从而限制表中只能包含一行数据。同时,可以使用 INSERT ON CONFLICT 语句实现数据的插入和更新,通过触发器禁止防止数据被删除。
当我们连接PostgreSQL遇到FATAL: sorry, too many clients already.或者FATAL: remaining connection slots are reserved for non-replication superuser connections这种连接数过多的错误时,可以通过pg_stat_activity或者ps命令查看连接进程。使用pg_cancel_backend()、pg_terminate_backend()或者kill命令终止正在运行的语句和进程。
介绍如何在 PostgreSQL 中生成连续的数字、字符以及时间序列值。包括使用 generate_series 函数生成连接的数字序列、间隔的数字序列、连续的字符序列以及间隔的时间序列,使用通用表表达式生成等差数字序列、等比数字序列、斐波那契数列、连续的字符序列以及间隔的时间序列。
数据透视表(Pivot Table)是进行数据汇总、分析、浏览和展示的强大工具,可以帮助我们了解数据中的对比情况、模式和趋势,是数据分析师和运营人员必备技能之一。本文介绍了在 PostgreSQL 中实现数据透视表的三种方式,包括使用 CASE 条件表达式和分组聚合相结合、聚合函数的 FILTER 子句以及扩展模块 tablefunc 中的 crosstab 函数生成数据透视表。