PostgreSQL实战-体系结构

本文详细阐述了PostgreSQL数据库的体系结构,包括物理存储结构(如文件系统布局、表空间与数据文件命名)、逻辑存储结构(数据库集簇、Schema与对象管理)、内存结构(本地内存与共享内存),以及进程结构(如postmaster与postgres进程及辅助进程)。

体系结构
    数据库:PostgreSQL 数据库是由一系列位于文件系统上的物理文件组成,通常将这些物理文件称为数据库,
        将这些物理文件、管理这些物理文件的进程、进程管理的内存称为这个数据库的实例。
        
    PostgreSQL 的内部功能实现上,可以分为:
        系统控制器:负责接收外部连接请求
        查询分析器:对连接请求查询进行分析并生成优化后的查询解析树,从文件系统获取结果集或通过事务系统对数据做处理,并由文件系统持久化数据
        事务系统
        恢复系统、
        文件系统
        .....
        
    逻辑存储结构    
        数据库集簇( Database Cluster ):指由单个PostgreSQL 服务器实例管理的数据库集合,组成数据库集簇的这些数据库使用相同的全局配置文件和监昕端口、共用进程和内存结构
        数据库集群:一组数据库服务器构成的集群
        
        Database Cluster:
            数据库Database(Database1...Databasen)
                Schema
                    表、索引、序列、视图、函数等这些对象
            Users
            
        创建一个Database 时会为这个Database创建一个名为public 的默认Schema ,每个Database 可以有多个Schema
        在这个数据库中创建其他数据库对象时如果没有指定Schema ,默认创建在public这个Schema 中。
        Schema 可以理解为一个数据库中的命名空间,在数据库中创建的所有对象都在Schema中,不同的Schema 中可以有多个相同名称的Table 、Index 、View 、Sequence、Function 等数据库对象。
        一个用户可以从同一个客户端连接中访问不同的Schema 。

    物理存储结构
        数据库的文件默认保存在initdb 时创建的数据目录中。包括:
            数据文件
            参数文件
            控制文件
            数据库运行日志
            预写日志
            ......
            
            
        数据目录结构:
            ~]# yum install tree
            
            查看数据目录下文件
            ~]# tree -L 1 -d /opt/pg/data/9.5/
                /opt/pg/data/9.5/
                ├── base
                ├── global
                ├── pg_clog
                ├── pg_commit_ts
                ├── pg_dynshmem
                ├── pg_log
                ├── pg_logical
                ├── pg_multixact
                ├── pg_notify
                ├── pg_replslot
                ├── pg_serial
                ├── pg_snapshots
                ├── pg_stat
                ├── pg_stat_tmp
                ├── pg_subtrans
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值