postgresql核心架构--安装后的目录介绍
来源:互联网 发布:淘宝返利机器人微信 编辑:程序博客网 时间:2024/06/08 17:45
进程和内存架构图:
主进程:
Postmaster
位于安装目录的bin目录下,主进程是整个数据库实例的总控进程,负责启动和关闭该数据库实例。
可以运行postmaster、postgres命令并加上合适的参数启动数据库,实际上postmaster命令是一个指向postgres的链接。
更多的时候是通过pg_ctl来启动数据库,pg_ctl也是通过运行postgres来启动数据库的。
客户端每次与数据库建立连接时,postgresql数据库会启动一个服务进程来给这个连接服务,所以postgresql是进程架构模型。
当某个服务进程出现错误时,Postmaster主进程会自动完成系统的恢复。
辅助进程:
SyslogLogger(系统日志)进程
在postgresql.conf文件中配置,参数为logging_collect=on
设置了日志文件的大小和存在时间,当达到条件时就会关闭旧的日志文件,并创建新的日志文件。
BgWriter(后台写)进程
周期性地把共享内存中的脏页写到磁盘上的进程。
当网数据库中插入或更新数据时,并不会马上把数据持久到数据文件中,主要是为了提高插入、更新、删除数据的性能。
通过 “bgwriter_”开头的配置参数来控制。
WaLWriter(预写式日志)进程
在修改数据之前,必须把这些修改操作记录到磁盘中,这样后面更新实际数据时,就不需要实时地把数据持久化到文件中了。
日志保存在pg_xlog下,每个xlog文件默认大小是16MB.
PgArch(归档)进程
在wal日志被覆盖前,把wal日志备份出来。
AutoVAcuum(系统自动清理)进程
PgStat(统计收集)进程
系统表pg_statistic中存储了PgStat收集的各类统计信息。
共享内存
主要用作数据块的缓冲区,以便提高读写性能。wal日志缓冲区和clog缓冲区也存在共享内存中。
本地内存
暂存一些不需要全局存储的数据。主要分为临时缓冲区,work_mem,maintenance_work_mem.
安装目录的结构
/usr/local/pgsql
bin 二进制可执行文件目录
include 头文件目录
lib 动态库目录
share 文档和配置模板文件
数据目录的结构
一般使用PGDATA指向数据目录的根目录。这个目录是在安装时指定的
目录的初始化使用initdb来完成,完成后根目录下就会生成3个配置文件
postgresql.conf : 数据库实例的主配置文件,基本上所有的配置参数都在此文件中;
pg_hba.conf: 认证配置文件,配置了允许哪些ip访问数据库,认证的方法是什么等信息;
pg_ident.conf :认证方式的用户映射文件。
此目录下还有一些子目录:
base:默认表空间目录
global: 一些共享系统表的目录
pg_clog: commit log的目录
pg_log:系统日志目录,在查询一些系统错误时就可查看此目录下的日志文件
pg_stat_tmp:统计信息的存储目录
pg_tblsp: 存储了指向各个用户自建表空间实际目录的链接方式
pg_twophase:使用两阶段提交功能时分布式事务的存储目录
pg_xlog:wal日志的目录
表空间的目录
创建完表空间后,会在表空间的根目录下生成带有“catelog version”的子目录,可由 pg_controldata 命令查询处来。
阅读全文
0 0
- postgresql核心架构--安装后的目录介绍
- 基于nginx的中间件架构(3)安装目录介绍
- UCHOME安装后的主要目录与文件介绍
- postgresql 安装完后的配置
- centos7安装postgresql后的初始化问题
- postgresql安装完成后的操作
- 【postgresql 】postgresql 安装后配置远程连接
- 03--MySQL自学教程:MySQL安装后的目录结构介绍和简单语法指令
- postgresql安装后环境变量配置
- Postgresql安装后,只能本地连接
- 蓝牙核心系统架构介绍
- CCNx安装后bin目录下主要工具介绍
- postgreSQL安装后的简单测试和使用
- PostgreSQL学习第三篇--安装后的配置
- strtus整体架构及核心标签库的介绍
- PostgreSQL安装与配置介绍
- PostgreSQL的新书介绍
- yum 安装nginx 后 nginx的 目录
- 使用AOP 实现Redis缓存注解,支持SPEL
- Autodesk Structural Bridge Design 2018(桥梁结构设计软件)中文版下载
- Android文件夹路径/data/data/包名/
- Linux的肘后备急方
- mongo 复制 collection ,重命名 字段
- postgresql核心架构--安装后的目录介绍
- 解决SSM不能将SQL打印到控制台
- Linux文件系统
- python基础知识二
- GZOJ 1361. 国王游戏【NOIP2012提高组DAY1】
- pat 1115----指针建树,层次遍历
- idea自动更新服务器上文件
- vue与react的一些常用区别
- Konektatbed Electra 6.20 1CD