PG技术大讲堂 - Part 4:PostgreSQL实例结构

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PG技术大讲堂。

PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PG技术大讲堂。

Part 4:PG实例结构

内容1:PostgreSQL实例简介

内容2:PostgreSQL初始化参数文件

内容3:PostgreSQL内存结构

内容4:PostgreSQL后台进程

1.1、PG实例简介

PostgreSQL实例:用来访问PostgreSQL数据库

一个实例对应一个数据库集簇

由内存和后台进程组成

1.2、建立一个连接和创建一个会话

连接到一个PostgreSQL实例建立一个用户连接

创建一个会话

2、初始化参数文件

两种类型的参数显式:在文件中对参数进行设置

隐式:文件中没有设置,使用Postgres默认值

可以存在多个初始化参数文件静态参数文件:postgresql.conf

动态参数文件:postgresql.auto.conf

可选参数文件:postgresql.conf.user

读取顺序postgresql.conf

postgresql.auto.conf

postgresql.conf.user

2.1、postgresql.conf参数文件

postgresql.conf参数文件文本文件

使用操作系统编辑器修改

手动修改

更改将在下次启动时生效

仅在实例启动期间读取

默认位置为$PGDATA

2.2、postgresql.auto.conf参数文件

postgresql.auto.conf参数文件文本文件

由Postgres服务器维护

支持用文本编辑器修改(不推荐)

ALTER SYSTEM命令修改的参数保存在该文件

能够在关闭和启动期间持续进行更改

可以实现自我调整参数值

默认位置为$PGDATA

改变一个参数的值,会在文件中自动添加参数

ALTER SYSTEM SET archive_mode = on;

恢复一个参数默认值,会在文件中自动删除参数

ALTER SYSTEM RESET archive_mode;

2.3、参数生效条件

参数生效条件 sighup:表示需要超级管理员修改,reload就能够生效。

superuser:表示使用超级管理员可以为普通用户、数据库、或者超级管理员自己修改。(注:有些参数是可以针对用户、数据库、实例)

postmaster:表示需要超级管理员修改,需要重启才能够生效。

user:表示普通用户可以修改该参数值,立即生效。

3、Memory Architecture

PostgreSQL中的内存架构可以分为两大类:Local memory area –由每个后端进程分配给自己使用

Shared memory area –由PostgreSQL服务器的所有进程使用

3.1、Memory Architecture

Local Memory Area:

Shared Memory Area:

4、Process Architecture

PostgreSQL进程结构:

postgres server process :postgres服务器进程是与数据库群集管理相关的所有进程的父进程。

backend process:每个后端进程处理连接的客户端发出的所有查询和语句。

background processes:各种后台进程执行用于数据库管理的每个特性的进程(例如清空和检查点进程)。

replication associated processes:在与复制相关联的进程中,它们执行流式复制。

background worker process-:在版本9.3支持的后台工作进程中,它可以执行用户实现的任何处理。

PostgreSQL进程结构:

4.1、Postgres Server Process

Postgres Server Processpostgres服务器进程是PostgreSQL服务器中所有进程的父进程。早期版本它被称为“postmaster”。

pg_ctl实用程序启动该进程,然后派生出各个后台进程。同时分配共享内存区域。

一个postgres服务器进程侦听一个网络端口,默认端口为5432。

4.2、Backend Processes

Backend Processes后端进程(也称为postgres)由postgres服务器进程启动,并处理一个连接的客户端发出的所有查询。

PostgreSQL允许多个客户端同时连接;配置参数max_connections控制客户端的最大数量。

Background Processes

postgres> pstree -p 9687-+= 00001 root /sbin/launchd-+- 09687 postgres /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data |--= 09688 postgres postgres: logger process|--= 09690 postgres postgres: checkpointer process |--= 09691 postgres postgres: writer process|--= 09692 postgres postgres: wal writer process|--= 09693 postgres postgres: autovacuum launcher process |--= 09694 postgres postgres: archiver process|--= 09695 postgres postgres: stats collector process|--= 09697 postgres postgres: postgres sampledb 192.168.1.100(54924) idle--= 09717 postgres postgres: postgres sampledb 192.168.1.100(54964) idle in transaction

相关阅读:

从小白到专家 PG技术大讲堂 - Part 1:PG简介

从小白到专家 PG技术大讲堂 - Part 2:PG源代码安装

从小白到专家 PG技术大讲堂 - Part 3:PG建库与使用

以上就是Part 4 - PG实例结构 的内容,大家练习的时候如果遇到困难,可以进群一起探讨,钉钉交流群:35,82,24,60

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
1月前
|
Cloud Native 关系型数据库 分布式数据库
开发者视角看云原生数据库一体化技术趋势
随着云原生数据库技术的不断发展,一体化数据库解决方案成为技术圈的热点,云原生数据库一体化技术是当前数据库领域的重要趋势,对于开发者而言,学习理解和应对这一趋势,对于业务开发的成功实施非常重要。比如,阿里云瑶池数据库和PolarDB-X等产品通过离在线一体化、处理分析一体化和集中分布一体化等创新理念,引领了数据库领域的新变革。那么本文就来从开发者的角度探讨云原生数据库一体化技术趋势,并分析在业务处理分析一体化、集中式与分布式数据库边界模糊和云原生一体化数据库的选择等方面的影响。
194 4
|
2月前
|
关系型数据库 分布式数据库 数据库
阿里云PolarDB登顶2024中国数据库流行榜:技术实力与开发者影响力
近日,阿里云旗下的自研云原生数据库PolarDB在2024年中国数据库流行度排行榜中夺冠,并刷新了榜单总分纪录,这一成就引起了技术圈的广泛关注。这一成就源于PolarDB在数据库技术上的突破与创新,以及对开发者和用户的实际需求的深入了解体会。那么本文就来分享一下关于数据库流行度排行榜的影响力以及对数据库选型的影响,讨论PolarDB登顶的关键因素,以及PolarDB“三层分离”新版本对开发者使用数据库的影响。
82 3
阿里云PolarDB登顶2024中国数据库流行榜:技术实力与开发者影响力
|
3月前
|
存储 关系型数据库 Java
polardb有没有搞过pg 全量及增量备份管理的
【1月更文挑战第3天】【1月更文挑战第11篇】 polardb有没有搞过pg 全量及增量备份管理的
34 1
|
4月前
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL版并行查询技术探索与实践
PolarDB MySQL版并行查询技术探索与实践 PolarDB MySQL版在企业级查询加速特性上进行了深度技术探索,其中并行查询作为其重要组成部分,已经在线稳定运行多年,持续演进。本文将详细介绍并行查询的背景、挑战、方案、特性以及实践。
109 2
|
1月前
|
负载均衡 监控 关系型数据库
PostgreSQL从小白到高手教程 - 第48讲:PG高可用实现keepalived
PostgreSQL技术大讲堂 - 第48讲:PG高可用实现keepalived
65 1
|
1月前
|
Cloud Native OLAP OLTP
如何看待云原生数据库一体化的技术趋势?
面对业务处理分析一体化,开发者需平衡OLTP和OLAP数据库需求。关键在于理解业务目标,选择适合的数据库:OLTP注重高并发、低延迟,如MySQL、PostgreSQL;OLAP侧重复杂查询和数据聚合,如Greenplum、ClickHouse。云原生数据库提供弹性扩展和容灾能力。数据同步、一致性、安全性和合规性也是重要考量因素。开发者应持续关注新技术,以适应不断变化的业务需求。
|
1月前
|
关系型数据库 PostgreSQL
postgresql日程排程函数的编写实例
postgresql日程排程函数的编写实例
|
2月前
|
SQL 关系型数据库 数据库
PostgreSQL从小白到高手教程 - 第44讲:pg流复制部署
PostgreSQL技术大讲堂 - 第44讲:pg流复制部署
58 0
|
3月前
|
关系型数据库 分布式数据库 数据库
业界声音|PolarDB最值得关注的技术创新有哪些?
"PolarDB一路走来,见证了国产数据库发展的不平凡之路。"
业界声音|PolarDB最值得关注的技术创新有哪些?
|
3月前
|
缓存 运维 关系型数据库
PostgreSQL技术大讲堂 - 第43讲:流复制原理
PostgreSQL技术大讲堂 - 第43讲:流复制原理
51 2