ページの先頭行へ戻る
Enterprise Postgres 11 運用ガイド
FUJITSU Software

5.8 データベースのインポートとエクスポート

COPY TOコマンドが出力するファイルは暗号化されません。そのため、他のシステムにファイルを転送する場合は、OpenSSLのコマンドなどでファイルを暗号化したり、Windows用の暗号化通信を行うファイル転送ソフトウェアを利用して、通信中のデータを暗号化してください。

平文のファイルは、不要になったら安全な方法で削除してください。

ファイルを安全に削除するには、以下の方法が利用できます。

# テーブルmy_tableの内容をCSV形式のファイルにエクスポートする。
> psql -c "COPY my_table TO 'C:\WINDOWS\Temp\my_table.csv' (FORMAT CSV)" postgres
# エクスポートしたファイルを暗号化する。
> C:\OpenSSL-Win32\bin\openssl enc -e -aes256 -in C:\WINDOWS\Temp\my_table.csv -out my_table.csv.enc
(ここで暗号化に使うパスフレーズの入力が求められる)

# 平文ファイルのサイズを確認し、ゼロパディング後に削除
> dir C:\WINDOWS\Temp\my_table.csv
> fsutil file setzerodata offset=0 length=7 C:\WINDOWS\Temp\my_table.csv
> del C:\WINDOWS\Temp\my_table.csv

# 他のシステムで、暗号化ファイルを復号する。
> C:\OpenSSL-Win32\bin\openssl enc -d -aes256 -in my_table.csv.enc -out my_table.csv
(ここで復号に使うパスフレーズの入力が求められる)

COPY FROMコマンドのインポート先となるテーブルやインデックスが暗号化テーブル空間にある場合、インポートされたデータは自動的に暗号化された形で格納されます。