今回は、Silverの「運用管理 - 標準付属ツールの使い方(psql)」からの出題です。
-f
-s
-x
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2019年10月16日
SQL を対話的に実行するときに psql コマンドを使用しますが、シェルスクリプトなどの中でSQL を実行するときにも psql
コマンドを使用します。実行するSQLを指定する方法はいくつかありますが、例題のように1つだけ実行できれば良いときは
-cオプションが便利です。コマンド(command)の頭文字の c と覚えれば良いでしょう。
正解はAです。
実行するときの形式は
psql -c command
ですが、SQLに含まれる空白文字もコマンドの一部として渡す必要があるので、コマンド全体を引用符で括る必要があります。
引用符をつけずに
psql -c SELECT * FROM foo とすると、-c の直後の “SELECT” だけがSQL文としてサーバに送られ、
”*FROM foo” の部分は psql コマンドに与える別のオプションになってしまうので注意してください。
psql で実行したいSQLを指定する方法は他にもいくつかあります。
psql -f filename
とすると、filename で指定したテキストファイル内に記述されたSQLを実行します。
シェルのリダイレクトの機能を使って、
cat filename | psql
あるいは
psql < filename
のようにして実行することもできますし、ヒアドキュメントの機能を使って
psql << EOF
SELECT * FROM foo;
EOF
のようにすることもできます。
場合によって(あるいは好みによって)適当な実行方法を選択してください。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.