当前位置: gth163->优技培训 > 从小白到专家 PostgreSQL技术大讲堂 - Part 4:PG实例结构

从小白到专家 PostgreSQL技术大讲堂 - Part 4:PG实例结构

2022-12-30作者:gth163来源:www.gth163.com

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

Part 3: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实例结构 的内容,大家练习的时候如果遇到困难,可以进群一起探讨,QQ交流群:752027153   微信交流群:联系客服拉你进微信PG交流群    如果单看文档不太懂,可以加入钉钉群,以后可能会有公开课专门讲解此内容,钉钉交流群:35822460

  • PostgreSQL认证证书(实图)
  • 国内PostgreSQL认证,工信部人才交流中心PG技术能力提升培训认证
  • 中国PostgreSQL技术能力培训认证
  • 10月25日,CUUG新鲜出炉的Oracle DB 19C OCP证书
  • 10月26日,CUUG新鲜出炉的Oracle DB 19C OCP证书
  • 揭秘Oracle全球数据库的威力:Oracle Database 23c的进步
  • PostgreSQL技术大讲堂 - 第32讲:数据库参数调整
  • PostgreSQL技术大讲堂 - 第34讲:调优工具pgBagder部署
  • PostgreSQL技术大讲堂 - 第33讲:并行查询管理
  • PostgreSQL技术大讲堂 - 第29讲:执行计划与成本估算
  • Postgres社区创始人:关系型数据库的未来是光明的
  • 甲骨文基于PostgreSQL的OCI数据库即将登场
  • PostgreSQL技术大讲堂 - 第30讲:多表连接方式
  • PostgreSQL认证考试中心
  • 工信人才信创PG认证培训红头文件【2023年】
  • 10月28日,PostgreSQL初级、中级认证考试顺利结束
  • 10月份PG考试的证书来啦!工信人才培训证书+认证证书!
  • PostgreSQL技术大讲堂 - 第31讲:SQL调优技巧
  • PostgreSQL PGCP是什么级别的认证?
  • PGCP中级认证考试的三个维度考核
  • PolarDB-X高可用与容灾(WIP)
  • PolarDB-X体系架构architecture
  • 什么是 PolarDB-X 云原生分布式数据库系统
  • postgresql从小白到高手 - 第38讲:数据库备份
  • postgresql从小白到高手 - 第37讲:postgres物理备份和恢复概述
  • postgresql从小白到高手 - 第36讲:postgresql逻辑备份
  • postgresql从小白到高手 - 第35讲:中间件PgBouncer部署
  • PostgreSQL PGCP是什么级别的认证?
  • PGCP中级认证考试的三个维度考核
  • 国内PostgreSQL认证,工信部人才交流中心PG技术能力提升培训认证
  • 11月18日直播!杭州峰会大咖晚宴煮酒论英雄+PG技术大讲堂(34)
  • 11月27日,CUUG新鲜出炉的Oracle DB 19C OCP证书
  • Oracle 19c OCM认证好考吗?CUUG OCM成绩公布
  • Oracle 19c OCM认证考试成绩出炉!- CUUG WDP培训中心
  • 菏泽学院 - 国产数据库工作室揭牌仪式圆满成功
  • postgresql技术大讲堂 - 第39讲:数据库完全恢复
  • PostgreSQL技术大讲堂 - 第41讲:表空间备份与恢复
  • PostgreSQL技术大讲堂 - 第42讲:pg_rman部署与使用
  • PostgreSQL技术大讲堂 - 第43讲:流复制原理
  • 阿里云PolarDB开发者大会圆满结束,CUUG两次获奖
  • 2024年首张Oracle OCP证书-CUUG胡同学
  • 北京培黎职业学院 - PolarDB开源国产数据库工作室成立揭牌 - CUUG
  • 10月16日,昨天新鲜出炉的Oracle DB 19C OCP证书
  • 大连财经学院 - 国产数据库工作室揭牌仪式圆满成功(CUUG)
  • 河北工程技术学院 - 国产数据库工作室揭牌仪式圆满成功
  • 2023年12月,PostgreSQL认证培训红头文件【工信部人才交流中心】
  • 温州大学 - 开源国产数据库工作室成立揭牌仪式圆满结束
  • postgresql技术大讲堂 - 第40讲:数据库不完全恢复
  • 1月17日阿里云PolarDB开发者大会PolarDB DevCon
  • 2024-1-12,恭喜CUUG 王同学获得Oracle OCP证书