从小白到专家 PostgreSQL手艺大讲堂 - Part 4:PG实例构造

9小时前 (10:06:25)阅读2回复0
猪脚
猪脚
  • 管理员
  • 注册排名6
  • 经验值116750
  • 级别管理员
  • 主题23350
  • 回复0
楼主

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

假设单看文档不太懂,能够加进钉钉群,以后可能会有公开课专门讲解此内容,钉钉交换群:35822460

0
回帖

从小白到专家 PostgreSQL手艺大讲堂 - Part 4:PG实例构造 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息