web-dev-qa-db-ja.com

DB内のどこに格納されているpostgresテーブルスペースの場所

RedHat6でpostgres9.2を使用しています

これは単純なはずですが、どこにも見つかりません。 postgresテーブルスペースの場所を格納するデータベーステーブルと列を探しています。PG_TABLESPACEにあると思いましたが、

select * from pg_tablespace

ショー...

postgres=# select * from pg_tablespace;
     spcname     | spcowner | spcacl | spcoptions
-----------------+----------+--------+------------
 pg_default      |       10 |        |
 pg_global       |       10 |        |
 C_TBL_DB91SABIR |       10 |        |
(3 rows)

しかし、場所はありません、場所が保持されているアイデアはありますか?

ありがとう

9
davegreen100

pg_tablespace_location(tablespace_oid) (PostgreSQL 9.2+)を使用して、tablespaceが配置されているファイルシステム内のパスを取得します。

pg_tablespaceからoidtablespaceを取得するため、クエリは次のようになります。

select spcname
      ,pg_tablespace_location(oid) 
from   pg_tablespace;
18
Vivek S.