小编Pet*_*ter的帖子

PostgreSQL:查询全局表空间的位置?

我一直在努力让我们的数据库客户端主动避免填满他们正在使用的数据库所在的分区。

由于我们所有的客户端都与数据库管理器在同一台主机上,因此对于用户创建的表空间来说应该很容易;客户端可以查找表空间的文件系统路径(在 spclocation 中),并使用操作系统调用来检查有多少可用空间:

adb=> select * from pg_tablespace;

  spcname   | spcowner |    spclocation    |       spcacl        
------------+----------+-------------------+---------------------
 pg_default |       10 |                   | 
 pg_global  |       10 |                   | 
 adb        |  2033793 | /database/adb     | {adb=C/adb}
Run Code Online (Sandbox Code Playgroud)

我无法从客户端看到如何获取全局表空间存储位置的路径;在上面的查询中为它返回一个空字符串。

不幸的是,我们在该领域有许多遗留系统使用在全局表空间中创建的特定数据库,将它移到用户创建的表空间中将是一项巨大的努力。

希望我只是错过了一些非常简单的东西。

postgresql disk-space

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

disk-space ×1

postgresql ×1