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)
相关文章
|
2天前
|
Python
python如何使用os模块进行文件和目录操作?
python如何使用os模块进行文件和目录操作?
|
7月前
|
存储 Linux Python
Python分享之路径与文件 (os.path包, glob包)
Python分享之路径与文件 (os.path包, glob包)
|
7月前
|
Unix Go
Golang 语言的标准库 os 包怎么操作目录和文件?
Golang 语言的标准库 os 包怎么操作目录和文件?
29 0
|
7月前
|
Linux Shell Go
《Linux操作系统编程》 第五章 文件和文件系统: 了解文件和文件系统的概念和特性,掌握Linux文件系统的基本操作
《Linux操作系统编程》 第五章 文件和文件系统: 了解文件和文件系统的概念和特性,掌握Linux文件系统的基本操作
74 0
|
2天前
|
Python
在Python中,利用`os模块`的`path.exists()`函数可判断文件是否存
【5月更文挑战第12天】在Python中,利用`os模块`的`path.exists()`函数可判断文件是否存在,该函数对路径进行检查,存在则返回True,不存在则返回False。示例代码展示了如何检查'example.txt'文件是否存在并相应打印消息。此外,`os.path.isfile()`用于确认路径是否为文件,仅当是文件时返回True,否则返回False,同样配以示例说明其用法。
23 2
|
2天前
|
Ubuntu Linux iOS开发
LabVIEW在不同操作系统上使VI、可执行文件或安装程序
LabVIEW在不同操作系统上使VI、可执行文件或安装程序
13 3
|
2天前
|
Linux Shell
Linux操作系统下查找大文件或目录的技巧
Linux操作系统下查找大文件或目录的技巧
12 2
|
2天前
|
Go API 开发者
Golang深入浅出之-文件与目录操作:os与path/filepath包
【4月更文挑战第26天】Go语言标准库`os`和`path/filepath`提供文件读写、目录操作等功能。本文涵盖`os.Open`, `os.Create`, `os.Mkdir`, `filepath.Join`等API的使用,强调了文件关闭、路径处理、并发写入和权限问题的处理,并给出实战代码示例,帮助开发者高效、安全地操作文件与目录。注意使用`defer`关闭文件,`filepath`处理路径分隔符,以及通过同步机制解决并发写入冲突。
27 2
|
2天前
|
数据安全/隐私保护 索引 Python
「Python系列」Python OS文件/目录方法、Python错误和异常
Python的`os`模块提供了与操作系统交互的方法,包括文件和目录的操作。
19 1
|
2天前
|
Python
Python中的`os`和`sys`模块:深入解析文件和系统操作
Python是一种强大且易用的编程语言,其内置的`os`和`sys`模块提供了丰富的文件和系统操作功能。这些模块允许Python程序与操作系统进行交互,执行各种任务,如读取和写入文件、获取系统信息、管理目录和文件路径等。