[pgsql-jp: 41720] ユーザ名のダブルクォート
SAKAIDA
sakaida @ psn.ne.jp
2014年 9月 3日 (水) 11:25:44 JST
境田と申します。
しばらくPostgreSQLから離れていましたので、初歩的な質問で
恐縮です。
現在、PostgreSQL 8.4.20 を使用しています。ハイフォン付の
ユーザ名のパスワード変更は次のようにダブルクォートで囲む
必要があります。
alter role "xxx-xxx" with password 'yyyyyyyy';
しかし、alte文全体をダブルクォートで囲む必要がある場合、
ユーザ名をシングルクォートで囲むことができれば便利です。
「ユーザ名をシングルクォートで囲む文法」を許さないという
理由はあるのでしょうか?
可能ならば、PostgreSQLのバージョンアップ項目に追加してい
ただきたいな〜と思っています。
※ ユーザ名をシングルクォートで囲みたいという例
bashスクリプト内で、expectを使用してpsqlの自動化を行う
場合などです。
(一部抜粋)
expect -c "
set timeout 5
spawn su - $pgsql
send \"psql\n\"
expect \"パスワード:\"
send \"$passwd\n\"
expect \"$pgsql=# \"
send \"alter role $userid with password '$passwd';\n\"
send \"\\\q\n\"
send \"exit\n\"
interact
"
--
SAKAIDA Masaaki
pgsql-jp メーリングリストの案内