自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选。 本文介绍PostgreSQL的安装和基本用法,供初次使用者上手。 一、安装 首先,安装PostgreSQL客户端。 sudo apt-get install postgresql-client 然后,安装PostgreSQL服务器。 sudo apt-get install postgresql 正常情况下,安装完成后,PostgreSQL服务器会自动在本机的5432端口开启。 添加新用户和新数据库,除了在PostgreSQL控制台内,还可以在shell命令行下完成。这是因为PostgreSQL提供了命令行程序createuser和createdb。 如果当前Linux系统用户,同时也是PostgreSQL用户,则可以省略用户名(-U参数的部分)。
PostgreSQL入门 centos7 安装 以下是centos7的配置过程,仅供参考。详细安装官网教程地址。 -11-2.noarch.rpm 第二步: 安装客户端 yum install postgresql11 第三步: 安装服务器端的包 yum install postgresql11-server 第四步 安装PostgreSQL自动创建的用户。 sudo su - postgres 下一步,使用psql命令登录PostgreSQL控制台。 修改PostgreSQL的配置文件允许远程连接 第一步:修改postgresql.conf,监听本机的所有的ip地址。 0 0.0.0.0:5432 客户端推荐 Admin4 Barman 参考 1.PostgreSQL新手入门 1.PostgreSQL官网 1.PostgreSQL 配置文件postgresql.conf
PostgreSQL入门介绍一、介绍PostgreSQL是一个功能强大的 开源 的关系型数据库。底层基于C实现。PostgreSQL的开源协议和Linux内核版本的开源协议是一样的。。 BDS协议,这个协议基本和MIT开源协议一样,说人话,就是你可以对PostgreSQL进行一些封装,然后商业化是收费。PostgreSQL的名字咋来的。 PostgreSQL相对MySQL上述问题的特点: PostgreSQL的数据类型嘎嘎丰富。 PostgreSQL是有序列的概念的。 PostgreSQL的插件特别丰富。 PostgreSQL支持主从复制的同步操作,可以实现数据的0丢失。 PostgreSQL的MVCC实现和MySQL不大一样,PostgreSQL一行数据会存储多个版本,最多可以存储40亿个事务版本。
desc结构中的Buffer header lock没有单独的变量,保存在state中的第22位。 #define BM_LOCKED (1U << 22) /* buffer header is locked */ #define BM_DIRTY (1U << 23) /* data needs writing */ #define BM_VALID (1U << 24) /* data is valid */ #define BM_TAG_VALID (1U << 25) /* tag is assigned */ #define BM_IO_IN_PROGRESS (1U << 26) /* read or write in progress */ #define BM_IO_ERROR (1U << 27) /* previous I/O failed */ #define BM_JUST_DIRTIED (1U << 28) /* dirtied since write started */ #define BM_PIN_COUNT_WAITER (1U << 29) /* have waiter for sole pin */ #define BM_CHECKPOINT_NEEDED (1U << 30) /* must write for checkpoint */ #define BM_PERMANENT (1U << 31) /* permanent buffer (not unlogged,* or init fork) */
推荐把JSON 数据存储为jsonb 在把文本 JSON 输入转换成jsonb时,JSON的基本类型(RFC 7159[1] )会被映射到原生的 PostgreSQL类型。 比如:jsonb将拒绝除 PostgreSQL numeric数据类型范围之外的数字,而json则不会。 JSON 基本类型和相应的PostgreSQL类型 JSON 基本类型 PostgreSQL类型 注释 string text 不允许\u0000,如果数据库编码不是 UTF8,非 ASCII Unicode [6]•PostgreSQL 9种索引的原理和应用场景[7]•PostgreSQL GIN索引实现原理[8] References [1] RFC 7159: https://tools.ietf.org [7] PostgreSQL 9种索引的原理和应用场景: https://yq.aliyun.com/articles/111793 [8] PostgreSQL GIN索引实现原理: https:/
自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选。 本文介绍PostgreSQL的安装和基本用法,供初次使用者上手。 一、安装 首先,安装PostgreSQL客户端。 sudo apt-get install postgresql-client 然后,安装PostgreSQL服务器。 sudo apt-get install postgresql 正常情况下,安装完成后,PostgreSQL服务器会自动在本机的5432端口开启。 sudo su - postgres 下一步,使用psql命令登录PostgreSQL控制台。 添加新用户和新数据库,除了在PostgreSQL控制台内,还可以在shell命令行下完成。这是因为PostgreSQL提供了命令行程序createuser和createdb。
psql提供了很好的在线帮助文档,总入口命令是help,输入这个命令就可以看到 vsb9=# help You are using psql, the command-line interface to PostgreSQL
针对这3个功能,以PostgreSQL为例,我们只需要从以下4个方面来学习即可。 1、数据库与数据表 了解数据库,有几个重要的概念需要清楚。 市场上有很多选择,比如MySQL、Oracle、PostgreSQL等,不同软件特性也不一样,你尽量选择主流的去学习。 同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。 另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。 除了上述函数外,PostgreSQL系统自定义了许多用于处理特殊场景的函数,比如几何函数、文本搜索函数等。
MySQL(本章节) PostgreSQL(本章节) MongoDB Redis Etcd 我们上一个章节比较详细介绍了MySQL,本章节就来介绍另外一个很重要的关系型数据库:PostgreSQL,简称 一、什么是 PostgreSQL? PostgreSQL(通常读作 "Post-Gres-Q-L")是一个功能强大的、开源的对象-关系型数据库管理系统。 因此,PostgreSQL 以其高度符合 SQL 标准、功能丰富和可扩展性而闻名。 最著名的例子是 PostGIS,它为 PostgreSQL 添加了完整的地理信息系统支持,使其成为空间数据库的领导者。 随着现代应用对数据处理的复杂度和可靠性要求越来越高,PostgreSQL 在企业级市场和高技术需求场景中变得越来越流行。
psql提供了很好的在线帮助文档,总入口命令是help,输入这个命令就可以看到 vsb9=# help You are using psql, the command-line interface to PostgreSQL
放弃不难,但坚持很酷~ PostgreSQL版本:9.6.12 PostGIS版本:2.4.6 一、概述 1.1 PostgreSQL概述 PostgreSQL是一个功能强大的对象关系型数据库管理系统( PostgreSQL的特点如下: PostgreSQL支持SQL的许多功能,例如复杂SQL查询、SQL子选择、外键、触发器、视图、事务、多进程并发控制、流式复制、热备等。 解决方案: 解决linux下查看文件乱码问题: vim ~/.vimrc set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 查看文件编码: # 在 关于PostgreSQL的一些官方学习资料如下,请参考: https://www.postgresql.org/files/documentation/pdf/9.6/postgresql-9.6-A4 .pdf https://wiki.postgresql.org/wiki/9.1%E7%AC%AC%E4%BA%8C%E7%AB%A0 https://wiki.postgresql.org/wiki
this value is specified without units, it is taken as WAL blocks, that is XLOG_BLCKSZ bytes, typically 8kB XLogRecPtr lastBackupStart; /* * WAL insertion locks. */ 【日志插入的锁,这里是个分区锁,有NUM_XLOGINSERT_LOCKS 8个
在这篇指南中,我们将会讨论如何在 CentOS 8 上安装 PostgreSQL 数据库服务器。在选择你要安装哪个版本之前,请确认你的应用支持它。 二、 在 CentOS 8 上安装 Postgresql 在写这篇文章的时候,有两个 PostgreSQL 服务器的版本可用来安装:9.6 和 10.0 。 服务器版本 10,是默认的版本: CentOS-8 - AppStream Name Stream Profiles Summary postgresql OK 启动 PostgreSQL 服务,并且启用开机启动 PostgreSQL 服务。 without a password host all jane 192.168.1.134 trust 六、总结 CentOS 8
在本文中,我们将详述如何在RHEL 8 Linux发行版中安装,保护和配置PostgreSQL数据库管理系统。 安装PostgreSQL包 1. PostgreSQL包含在RHEL 8的默认存储库中,可以使用以下dnf命令进行安装,该命令将安装PostgreSQL服务器10,库和客户端二进制文件。 # dnf install @postgresql 在RHEL 8中安装PostgreSQL 注意:要在RHEL 8系统上安装PostgreSQL 11软件包,您需要安装PostgreSQL RPM存储库 密码验证 8.现在重新启动Postgres服务以应用配置中的最近更改。 在本指南中,我们展示了如何在RHEL 8中安装,保护和配置PostgreSQL数据库管理系统。请记住,您可以通过下面的反馈表给我们反馈。
PostgreSQL 12专注于性能和优化。此版本的发布并未考虑到全新的闪亮功能;相反,它是对现有PostgreSQL功能的微调和精心设计的实现。 PostgreSQL 11引入了一些分区性能改进,而PostgreSQL 12提供了完善的实现。 8.并发重新编制索引 索引并发功能已经存在多年,允许用户创建索引而又不阻止写入索引。重新索引不允许您在写入数据库时创建索引。同时使用reindex,通过在同一位置创建新索引来替换现有索引。 长期以来要求的功能很难开发,但最终在PostgreSQL 12中交付。 升级到PostgreSQL 12 这八个功能只是PostgreSQL 12中许多改进中的几个。 原文:https://www.enterprisedb.com/ko/blog/8-major-improvements-postgresql-12 本文:http://jiagoushi.pro/8-
PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG 第36讲:PostgreSQL逻辑备份 内容1:逻辑备份概述 内容2:pg_dump使用 内容3:pg_dumpall使用 内容4:copy使用 PG导出导入工具 PG导出导入概述 · 可以使用这些实用程序执行以下操作 : 归档历史数据 保存表定义以防止用户出错 在计算机和数据库之间或PostgreSQL服务器的不同版本之间移动数据 在数据库之间传输数据 调用导出和导入程序的方法 命令行接口 其它管理工具 导出模式 · [数据库名字] 示例: pg_dump testdb > testdb.sql pg_dump -F c -f testdb.dmp -C -E UTF8 -h 127.0.0.1 -U postgres testdb pg_dump -F p -f testdb.sql -C -E UTF8 -h 127.0.0.1 -U postgres testdb 逻辑恢复 · 恢复顺序 1.创建新表 2.
特性 MySQL 8 PostgreSQL 10 查询 & 分析 公用表表达式 (CTEs) ✔ New ✔ 窗口函数 ✔ New ✔ 数据类型 JSON 支持 ✔ Improved ✔ GIS 公共表表达式(CTEs) 和窗口函数是选择 PostgreSQL 的主要原因。 来复习下: 特性 MySQL 8 PostgreSQL 10 架构 单进程 多进程 并发 多线程 fork(2) 表结构 聚簇索引 堆 页压缩 Transparent TOAST 更新 In-Place (8KB vs 16KB) ? PostgreSQL物理存储的介绍 页结构看起来就像右边的图。它包含一些我们不打算在这里讨论的条目,但是它们包含关于页的元数据。 如果存在一行必须适合两个数据库的单个页面,,这意味着一行必须小于 8KB。(至少有 2 行必须适合 MySQL 的页面,恰巧是 16KB/2 = 8KB) ?
你是不是正在尝试探索PostgreSQL这个深不可测的数据库世界呢?或者是为了解决某个实际问题,搜寻着“如何开始学习PostgreSQL”、“PostgreSQL入门技巧”等搜索词条? PostgreSQL,作为一个开源、稳定并且功能强大的关系型数据库,受到了广大开发者的喜爱。 正文 1. PostgreSQL简介 1.1 什么是PostgreSQL? 1.2 PostgreSQL的历史 从1980年代初开始,PostgreSQL的发展已经有了长远的历程,经历了众多版本的迭代和优化。 2. 但通常的步骤是… $ sudo apt-get update $ sudo apt-get install postgresql postgresql-contrib 2.2 配置 配置是确保PostgreSQL 参考资料 Official PostgreSQL Documentation PostgreSQL: Up and Running by Regina Obe and Leo Hsu The PostgreSQL
Server yum install postgresql96-server ; 初始化数据库,默认路径为/var/lib/pgsql/9.6/data # service postgresql 管理PostgreSQL Server 登录PostgreSQL PostgreSQL 安装完成后,会建立一下‘postgres'用户,用于执行PostgreSQL,数据库中也会建立一个'postgres '用户,如果我们要使用PostgreSQL就必须先登录此帐号。 添加新用户和新数据库,除了在PostgreSQL控制台内,还可以在shell命令行下完成。这是因为PostgreSQL提供了命令行程序createuser和createdb。 :\c interface 5、查看某个库中的某个表结构:\d 表名 6、查看某个库中某个表的记录:select * from apps limit 1; 7、显示字符集:\encoding 8、
一、安装postgresql13-server yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86 _64/pgdg-redhat-repo-latest.noarch.rpm yum install -y postgresql13-server 二、初始化PostgreSQL 先创建postgresql 否则后续初始化是会报错 切换postgres用户正式初始化 su postgres /usr/pgsql-13/bin/initdb -D /home/pgsql-13/data 三、启动postgresql 13/data -l logfile start 这里注意继续使用postgres用户操作,否则会报错 四、修改配置文件和创建数据库密码和数据库 vi /home/pgsql-13/data/postgresql.conf backdata/bin/backup.sh 自定义PGDATA、PATH sudo vi .bash_profile PGDATA=/home/pgsql-13/data PATH=/usr/local/src/postgresql