PostgreSQLでコマンドプロンプトからスクリプトファイルを実行する

2019年8月2日

PostgreSQLでWindowsのコマンドプロンプトからスクリプトファイルを実行しようとすると、以下のような"Permission denied"のエラーが出力される。

template1=> \i C:\Users\Administrator\Desktop\sample.sql
C:: Permission denied

権限関連のエラーかと思っていろいろ調べたがコマンドプロンプト上のスクリプトファイルの指定に問題があるらしい。

以下のように記述することで実行できた。

template1=> \i 'C:\\Users\\Administrator\\Desktop\\sample.sql'

スクリプトファイルをシングルクォートで括ってファイルパスの区切り文字をエスケープすれば実行できる。
ファイルパスの区切り文字は、エスケープしなくても"/(スラッシュ)"でも良い。