2016-09-13 8 views
1

私は下の私のPostgresのインストールで70ギガバイトの大規模なフォルダを持っている: data base postgresフォルダのデータベース名の検索方法は?

D:\Program Files\PostgreSQL\9.5\data\base\130205

質問:どのように私は、そのフォルダに基づいているデータベースを見つけることができますか? 同じサーバー上で実行されている10個のデータベースがあり、そのほとんどが別のドライブにテーブルスペースを持っています。

しかし、おそらく私はどこかに大きなマッピングがないかもしれません。これらのデータ量の「原因」データベースを調べるにはどうすればよいですか?

+0

数は、データベースのOIDです: 'ERRORを::https://www.postgresql.org/docs/current/static/storage-file-layout.htmlは –

答えて

0

おかげで、次のステートメントは、OIDとテーブル名を示しています

SELECT oid,* from pg_database

0

oid2nameをPostgreSQLオペレーティングシステムユーザとして実行するだけです。

0

あなたは(hereから取られた)あなたの最大のデータベースのサイズを見つけるために、次のクエリを使用することができます。@a_horseのヒントに

SELECT d.datname AS Name, pg_catalog.pg_get_userbyid(d.datdba) AS Owner, 
    CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT') 
     THEN pg_catalog.pg_size_pretty(pg_catalog.pg_database_size(d.datname)) 
     ELSE 'No Access' 
    END AS SIZE 
FROM pg_catalog.pg_database d 
    ORDER BY 
    CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT') 
     THEN pg_catalog.pg_database_size(d.datname) 
     ELSE NULL 
    END DESC -- nulls first 
    LIMIT 20 
+0

これが与える実行のstatができませんでしたファイル "base/24593/146476":Perm ission SQLの状態が拒否されました:42501' – membersound

+0

おそらくdb管理者として実行する必要があります。 – redneb

関連する問題