美文网首页
PostgreSQL 数据库初始化

PostgreSQL 数据库初始化

作者: 椟夜 | 来源:发表于2018-07-16 15:39 被阅读0次

    按照先后顺序创建

    1. 创建全局数据库(GLOBAL)
    • 全局数据库中存储与数据库集群相关的信息,例如集群中的数据库、用户、 角色等。
    • 用户不能连接全局数据库。
    • 全局数据库中的数据操作由DBMS自动完成
    1. 创建临时数据库(TEMPDB)
    • 临时数据库用于存储DBMS在运行过程中产生的临时信息,例如排序、创建hash表等。
    • 用户不能连接临时数据库,临时数据库中的数据操作由DBMS自动完成。
    1. 创建模板数据库(TEMPLATE0和TEMPLATE1)
    • 模板数据库中存储了每个数据库的系统表信息,它是创建一个新数据库的样板。
    • Template0 : 最原始的模板库,不允许建立数据库连接。
    • Template1 : 创建其他数据库使用的模板数据库,可以进行定制。
    1. 创建样例数据库(SAMPLE)

    2. 创建用户数据库(TEMPLATE2)

    • 工具使用的数据库。

    表空间与数据文件对应关系

    • 新创建的数据库包括:
    • Catalog表空间 – databasename.dbf

    Catalog表空间 存放系统表信息。

    • PG表空间 – Udatabasename.dbf
    • PG表空间 存放用户数据。
    • 若表空间只对应一个数据文件,该表空间中的所有对象都存储在这个数据文件中
      若表空间对应多个数据文件,可以将一个对象的数据存储在任意数据文件中,甚至同一个对象的数据可以分布在多个数据文件中。
    • Temp表空间-- Tdatabasename.dbf

    数据字典(系统表)

    • 数据库中的系统表存储数据库中数据的元信息,如表定义,函数定义等。
    • 数据库中的系统表以PG_开头,从存储结构上看,系统表也是普通的用户表,所不同的只是用户不能通过INSERT、UPDATE、DELETE语句对其进行修改。
    • 执行DDL语句,如CREATE TABLE、CREATE DATABASE等,系统会自动更新系统表。
    • 常用的系统表:

    pg_database
    pg_namespace
    pg_class
    pg_attribute
    pg_proc
    … …

    更多交流加群: PostgreSQL内核开发群 876673220

    相关文章

      网友评论

          本文标题:PostgreSQL 数据库初始化

          本文链接:https://www.haomeiwen.com/subject/fahbpftx.html