psqlの起動画面(?)を変えてみた

祝・PostgreSQL 9.3.0リリース!
ということで、さっそくPostgreSQL 9.3.0を入手してビルドしてみた。
せっかくなので、9.3.0のリリースを記念?してpsqlの起動画面をちょっと変えてみた。

ごめんなさいごめんなさい・・・

実際には、.psqlrcファイルを以下のように設定しただけ。

\set QUIET on
\pset tuples_only on
\pset format unaligned
SELECT E'\n  .oooooo.   ooooooooo.         .o.         .oooooo.   ooooo        oooooooooooo        .o    .oooo.             \n d8P''  `Y8b  `888   `Y88.      \.888.       d8P''  `Y8b  `888''        `888''     `8      o888  .dP""Y88b            \n888      888  888   .d88''     .8"888.     888           888          888               888        ]8P''  .ooooo.  \n888      888  888ooo88P''     .8'' `888.    888           888          888oooo8          888      .d8P''  d88'' `"Y8 \n888      888  888`88b.      .88ooo8888.   888           888          888    "          888    .dP''     888       \n`88b    d88''  888  `88b.   .8''     `888.  `88b    ooo   888       o  888       o       888  .oP     .o 888   .o8 \n`Y8bood8P''  o888o  o888o o88o     o8888o  `Y8bood8P''  o888ooooood8 o888ooooood8      o888o 8888888888 `Y8bod8P'' \n';
\pset tuples_only off
\pset format aligned
\set QUIET off

単純にSELECT文でAAなTEXTを検索結果で返しているだけなんだけど、自然な表示にするためにちょっとした工夫をしている。

  • tuples_onlyをonにする。
  • 出力形式をunalignedにする。
  • このメタコマンドの実行結果を表示させないように最初にpsqlのQUIET変数をonにする。
  • AAの表示が終わったら、tuples_onlyをoff、出力形式をaligned、QUIET変数をoffにする。

なお、AA自体はText to ASCII Art Generator (TAAG)というサイトで生成したものをベースに、PostgreSQL用文字列として使えるようにちょっとだけ編集をした。

  • 単一引用符の処理
  • 改行文字の処理