質問

システムにファイルをpostgres BLOBに書き込む関数があります。関数は pg_lo_write です。システムはPHP、ADODB、PostgreSQLを使用します。

知りたいのは、このデータがどこに保存されているか、postgresディレクトリ内のテーブル内のファイルですか?

どうもありがとう!

回答情報

Bran Fransenの回答に感謝します。BLOBは実際には pg_largeobject テーブルに格納されています。私はpgAdminを使用しており、テーブルはビューから隠されていますが、クエリを使用してアクセスできます。

SELECT * FROM pg_largeobject WHERE LOID = 123456
役に立ちましたか?

解決

間違っている場合は修正してください。ただし、データベースにファイルを保存しているときは、バイナリデータとして保存されています。ファイルのバイナリ値はBLOBフィールドに保存されます。そのファイルを取得しようとすると、バイナリ値が元のファイルに再構築されます。

他のヒント

今後の参照については、PostgreSQLマニュアルの関連セクションを参照してください。

第31章ラージオブジェクト、31.2。実装機能

第44章システムカタログ、44.23。 pg_largeobject

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top