PostgreSQLでCOPY文を入力した際に以下エラーが発生しました。
わりと初歩的なミスですが初心者の方の解決の手助けになれば幸いです。
環境
・Window 10
・PostgreSQL 12
エラー内容
ERROR: ファイル”C:\file.csv”を書き込み用にオープンできませんでした: Permission denied
HINT: COPY TOによってPostgreSQLサーバプロセスはファイルの書き込みを行います。psqlの \copy のようなクライアント側の仕組 みが必要かもしれません
原因
エラーログの内容を見ると、Windowsのローカル環境のファイル書き込む際の権限エラーになります。
今回「C:\file.csv」とCドライブ直下にファイル出力してますが、Cドライブ直下のセキュリティレベルは通常ユーザにおける書き込み権限はありませんでした。
解決策
あくまで解決方法の一例ですが書き込み先を変更すれば解決します。
今回は適当に Cドライブ直下を避けて書き込み権限にチェックが入っているディレクトリに出力先を変更してあげました。
(基本的にCドライブ直下を避ければ通常書き込み許可があると思います。それか権限を変更して書き込みを許可してあげればOK。)
以上
コメント