[pgsql-jp: 40778] Re: 【質問】baseフォルダ配下のファイル削除について

m.murakami m.murakami @ lightcafe.co.jp
2011年 5月 16日 (月) 13:39:18 JST


MauMauさん

お疲れさんです。村上です。

'select relname from pg_class where relfilenode = y'

上記SQLですが、"y"にあたるものがなく、relfilenodeに入っている数字を
指定してみたところ、使用しているindex名などが表示されました。

今回問題となっている(消えてくれないファイル)の数字がpg_classの一覧に
あるか確認しましたが、表示されませんでした。ファイルの日付も5/11から更新され
ていません。

この場合、対象のデータベース名では、すでに使用されておらず、
OSからのrmコマンドなどで、削除してしまっても対象のデータベースの動作に
影響(起動しなくなるなど)はでないでしょうか?
何か情報がございましたら、ご教示お願い致します。

以上、よろしくお願い致します。

-----Original Message-----
From: pgsql-jp-bounces @ ml.postgresql.jp
[mailto:pgsql-jp-bounces @ ml.postgresql.jp] On Behalf Of m.murakami
Sent: Saturday, May 14, 2011 6:16 PM
To: 'PostgreSQL Japanese Mailing List'
Subject: [pgsql-jp: 40777] Re: 【質問】baseフォルダ配下のファイル削除につい
て

MauMauさん

ご返信ありがとうございます。
では、週明け接続を実施し対象オブジェクトの
確認をしてみます。
詳細な情報ありがとうございました。

-----Original Message-----
From: pgsql-jp-bounces @ ml.postgresql.jp
[mailto:pgsql-jp-bounces @ ml.postgresql.jp] On Behalf Of MauMau
Sent: Saturday, May 14, 2011 3:52 PM
To: PostgreSQL Japanese Mailing List
Subject: [pgsql-jp: 40776] Re: 【質問】baseフォルダ配下のファイル削除につい
て

村上さん

ファイル$PGDATA/x/yがどのテーブルまたはインデックスのためのものかを確認する
には、次のようにします。

まず、任意のデータベースに接続し、xというoidを持つデータベース名を確認しま
す。


$ psql -c 'select datname from pg_database where oid = x' postgres

次に、上で得られたデータベースに接続し、yというoidを持つテーブルまたはイン
デックスが何かを確認できます。

$ psql -c 'select relname from pg_class where relfilenode = y' <上で得られた
データベース名>

上記の操作の説明は、マニュアルの次のページに記されています。

http://www.postgresql.jp/document/9.0/html/storage-file-layout.html

以上です。

From: "m.murakami" <m.murakami @ lightcafe.co.jp>
> MauMauさん、梅田さん
>
> ご回答ありがとうございます。
> 村上です。
>
>>base/16384/に大きなファイルが残っているとのことですので、それらのファイル
が
>>
> どのテーブルやインデックスのためのファイルかを確認してみ>てください。その
た
>
> めにはシステムカタログpg_databaseとpg_classを検索します。おそらく、何らか
の
>
> テーブルやインデックスをDROPしてい>ないものと思われます。
> pg_classのselectの確認・\dtなどでテーブルがないか確認していましたが、
> ユーザが使用しているようなオブジェクトが残っていませんでしたので、何もの
こっ
>
> ていないのか
> と認識しておりました。
>
> お手数ですが、pg_databaseとpg_classで対象のテーブル、インデックスの検索方
法
>
>> 詳細を教えていただけないでしょうか?参考URLでも問題ありません。
>
>>ちなみに、「ロック状態」というのはPostgreSQLのマニュアルに登場しないように
> 思いますが、どのような状態のことでしょう?
> こちらはpg_locksでロック状態を確認しました。
>
> 以上、よろしくお願い致します。
>


__________ Information from ESET NOD32 Antivirus, version of virus signature
database 6118 (20110513) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com




__________ Information from ESET NOD32 Antivirus, version of virus signature
database 6118 (20110513) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com



__________ Information from ESET NOD32 Antivirus, version of virus signature
database 6120 (20110513) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com



__________  ESET NOD32 Antivirus からの情報, ウイルス定義データベースのバー
ジョン 6120 (20110513) __________

このメッセージは ESET NOD32 Antivirus によって検査済みです。

http://canon-its.jp




__________ Information from ESET NOD32 Antivirus, version of virus signature
database 6124 (20110515) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com




pgsql-jp メーリングリストの案内