COPY TOコマンドが出力するファイルは暗号化されません。そのため、他のシステムにファイルを転送する場合は、OpenSSLのコマンドなどでファイルを暗号化したり、scpやsftpなどで通信中のデータを暗号化してください。
平文のファイルは、不要になったら安全な方法で削除してください。
ファイルを安全に削除するには、以下の方法が利用できます。
shredコマンド
例
# テーブルmy_tableの内容をCSV形式のファイルにエクスポートする。 > psql -c "COPY my_table TO '/tmp/my_table.csv' (FORMAT CSV)" postgres # エクスポートしたファイルを暗号化する。 > openssl enc -e -aes256 -in my_table.csv -out my_table.csv.enc (ここで暗号化に使うパスフレーズの入力が求められる) # 平文のファイルを安全に削除する。 > shred -u -x my_table.csv (暗号化したファイルを他のシステムに転送する) # 他のシステムで、暗号化ファイルを復号する。 > openssl enc -d -aes256 -in my_table.csv.enc -out my_table.csv (ここで復号に使うパスフレーズの入力が求められる)
COPY FROMコマンドのインポート先となるテーブルやインデックスが暗号化テーブル空間にある場合、インポートされたデータは自動的に暗号化された形で格納されます。