jpg - postgresql insert binary file




Postgres bytea columnをファイルとしてダウンロードするには (3)

現在、postgres 8.4にはいくつかのファイルがbyteaとして保存されています。 ファイルの種類は.doc、.odt、.pdf、.txtなどです。

私はバックアップをする必要があるので、Postgresに保存されているすべてのファイルをダウンロードする方法を知っていてもいいですか? 私はbytea形式の代わりに元のファイル形式でそれらを必要とします。

ありがとう!


1つの簡単なオプションは、16進形式へのencode COPYコマンドを使用し、次にxxdシェルコマンドを適用することxxd (-p 連続 xxd スタイルスイッチを使用)。 たとえば、サンプルテーブルのbyteaカラムにjpgイメージがあるとします。

\copy (SELECT encode(file, 'hex') FROM samples LIMIT 1) TO
    '/home/grzegorz/Desktop/image.hex'

$ xxd -p -r image.hex > image.jpg

私が確認したように、それは実際に動作します。


これを試して:

 COPY (SELECT yourbyteacolumn FROM yourtable WHERE <add your clauses here> ...) TO 'youroutputfile' (FORMAT binary)

私が知っている最高の、ファイルへのbyteaは、アプリケーションレベルで行う必要があります。

(9.1は、ファイルシステムのデータラッパーcontribでこれを変更するかもしれません。lo_export関数もありますが、ここでは適用できません)。





byte