今更だけど、人に聞かれたついでにメモ。
psql で tab を押してSQLキーワードを補完できるが、バージョンによって大文字だったり小文字だったり違いがある。
CentOS 6 / psql (PostgreSQL) 8.4.20
db=> sel ↓ tab db=> SELECT →SQLキーワードが大文字で補完される
CentOS 7 / psql (PostgreSQL) 9.2.15
db=> sel ↓ tab db=> select →SQLキーワードが大文字ではなく、小文字で補完される
PostgreSQL 8.4/9.2 で何が変わったかを、ドキュメントで確認。
8.4
https://www.postgresql.jp/document/8.4/html/app-psql.html
→COMP_KEYWORD_CASE の項目が無い
9.2
https://www.postgresql.jp/document/9.2/html/app-psql.html
→COMP_KEYWORD_CASE の項目がある
SQLキーワードを補完する時に大文字小文字のどちらを使用するかを決定します。
lowerまたはupperが設定された場合、補完された単語はそれぞれ小文字または大文字になります。
preserve-lowerまたはpreserve-upper(デフォルト)が設定された場合、 補完された単語は入力済みの文字の大文字小文字を引き継ぎますが、何も入力されていない場合はそれぞれ小文字または大文字に補完されます。
つまり、途中まで大文字で入力されていれば、大文字で補完される。
CentOS 7 / psql (PostgreSQL) 9.2.15
db=> SEL ↓ tab db=> SELECT
以前のバージョンと同じ動作(途中まで小文字でも、大文字で補完する)にしたければ、psql のパラメータで変更できる。
db=> \set COMP_KEYWORD_CASE upper
これをデフォルトにしたい場合は、~/.psqlrc へ記載する。