postgres表空间和os的文件的对应关系

简介: postgres 自带了两个表空间,pg_default, pg_global

postgres 自带了两个表空间,pg_default, pg_global

表空间pg_default是用来存储系统目录对象、用户表、用户表index、和临时表、临时表index、内部临时表的默认空间。对应存储目录P A D A T A / b a s e / 表 空 间 p g g l o b a l 用 来 存 放 系 统 字 典 表 ; 对 应 存 储 目 录 PADATA/base/ 表空间pg_global用来存放系统字典表;对应存储目录PADATA/base/表空间pg

g

lobal用来存放系统字典表;对应存储目录PADATA/global/


pgsql 中表空间/数据库/模式 的关系:


表空间是物理结构,同一表空间下可以有多个数据库

数据库是逻辑结构,是表/索引/视图/存储过程的集合,一个数据库下可以有多个schema

模式是逻辑结构,是对数据库的逻辑划分

数据库以oid方式在base目录下存放。

postgres=# select * from pg_tablespace;
 oid  |  spcname   | spcowner | spcacl | spcoptions 
------+------------+----------+--------+------------
 1663 | pg_default |       10 |        | 
 1664 | pg_global  |       10 |        | 
(2 rows)
root@scutech:/var/lib/postgresql/12/main# du -h base
7.8M  base/1
11M base/16386
11M base/13432
7.7M  base/13431
7.8M  base/16385
45M base
root@scutech:/var/lib/postgresql/12/main# 
postgres=# select oid, datname, datlastsysoid, dattablespace from pg_catalog.pg_database order by 1,2;
  oid  |  datname  | datlastsysoid | dattablespace 
-------+-----------+---------------+---------------
     1 | template1 |         13431 |          1663
 13431 | template0 |         13431 |          1663
 13432 | postgres  |         13431 |          1663
 16385 | test      |         13431 |          1663
 16386 | mydb      |         13431 |          1663
(5 rows)
相关文章
|
7月前
|
Python
python如何使用os模块进行文件和目录操作?
python如何使用os模块进行文件和目录操作?
125 1
|
存储 Linux Python
Python分享之路径与文件 (os.path包, glob包)
Python分享之路径与文件 (os.path包, glob包)
|
Unix Go
Golang 语言的标准库 os 包怎么操作目录和文件?
Golang 语言的标准库 os 包怎么操作目录和文件?
44 0
|
Linux Shell Go
《Linux操作系统编程》 第五章 文件和文件系统: 了解文件和文件系统的概念和特性,掌握Linux文件系统的基本操作
《Linux操作系统编程》 第五章 文件和文件系统: 了解文件和文件系统的概念和特性,掌握Linux文件系统的基本操作
126 0
|
19天前
|
Python
文件元数据获取方法对比:`os.path` 与 `os.stat`
本文对比了Python中两种获取文件元数据的方法:`os.path`和`os.stat`。通过示例代码展示了如何获取文件大小和修改时间,并从性能、功能性和代码可读性三方面进行了详细对比。最终给出了根据具体需求选择合适方法的最佳实践建议。
24 2
|
2月前
|
存储 Java iOS开发
MacOS环境-手写操作系统-43-dir命令的实现 和 文件写入
MacOS环境-手写操作系统-43-dir命令的实现 和 文件写入
36 0
|
6月前
|
缓存 Linux Windows
初识Linux操作系统(根目录下的重要文件)(命令提示符的含义)
Linux系统基于"一切皆文件"的理念,重要文件分布在如/root(root用户目录)、/home(普通用户目录)、/etc(应用配置)、/dev(设备文件)、/boot(内核及启动文件)、/proc(动态系统信息)、/lib64(库文件)、/opt(软件存放)、/tmp(临时文件)。"[root@localhost ~]#"代表管理员在root目录,"$"代表普通用户。创建新用户用`useradd`命令。调节终端字体大小:Ctrl+Shift++增大,Ctrl+减号缩小。绝对路径从根目录开始,相对路径从当前目录开始。
|
6月前
|
Unix 关系型数据库 API
Python OS 文件/目录方法
Python OS 文件/目录方法
|
6月前
|
Java 开发工具 Android开发
详细解读Android开发DNK开发将.c文件打包成os
详细解读Android开发DNK开发将.c文件打包成os
34 0
|
6月前
|
消息中间件 Java Kafka
实时计算 Flink版操作报错合集之RocksDB在尝试打开更多文件时达到了操作系统允许的最大打开文件数限制,该怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
127 0