本メディアにはプロモーション広告が含む場合があります。但し、掲載内容は事実に反して優遇されることはありません。

ERROR: ファイル~を書き込み用にオープンできませんでした: Permission denied【PostgreSQL COPY文】

PostgreSQL

PostgreSQLでCOPY文を入力した際に以下エラーが発生しました。
わりと初歩的なミスですが初心者の方の解決の手助けになれば幸いです。

スポンサーリンク

環境

・Window 10
・PostgreSQL 12

エラー内容

f:id:TechnologyShare:20200802155701p:plain

ERROR: ファイル”C:\file.csv”を書き込み用にオープンできませんでした: Permission denied
HINT: COPY TOによってPostgreSQLサーバプロセスはファイルの書き込みを行います。psqlの \copy のようなクライアント側の仕組 みが必要かもしれません

原因

エラーログの内容を見ると、Windowsのローカル環境のファイル書き込む際の権限エラーになります。
今回「C:\file.csv」とCドライブ直下にファイル出力してますが、Cドライブ直下のセキュリティレベルは通常ユーザにおける書き込み権限はありませんでした。

f:id:TechnologyShare:20200802161559p:plain

解決策

あくまで解決方法の一例ですが書き込み先を変更すれば解決します。

今回は適当に Cドライブ直下を避けて書き込み権限にチェックが入っているディレクトリに出力先を変更してあげました

(基本的にCドライブ直下を避ければ通常書き込み許可があると思います。それか権限を変更して書き込みを許可してあげればOK。)
f:id:TechnologyShare:20200802162013p:plain

以上

コメント