pg_scripts

役に立つかどうかは分からないpl/pgsqlのスクリプト群。

  • tategaki function
  • pg_banner function
  • load_json_file
  • get_database_cluster_size
  • pg_lifegame

tategaki function

testdb=# SELECT tategaki('ぽすぐれを使い     横書きを縦書きに変換するスクリプトを書いたので 今後活用していきたい  ',4, 12);
 tategaki 
----------
 今ス横ぽ+
 後ク書す+
 活リきぐ+
 用プをれ+
 しト縦を+
 てを書使+
 い書きい+
 きいに +
 たた変 +
 いの換 +
  です +
   る +
 
(1 row)

testdb=# SELECT tategaki('町田は神奈川');
 tategaki 
----------
 神町    +
 奈田    +
 川は    +
 
(1 row)

pg_banner function

対応文字

  • 英字
    • 英字は全て大文字として表示される。
  • 数字
  • 記号
    • ピリオド、空白、アンダースコア

文字は今後増やす予定。面倒なのでしないかもしれない。

testdb=# SELECT * FROM pg_banner('pg_banner');
                                   data                                   
--------------------------------------------------------------------------
 ######   #####          ######     #    #     # #     # ####### ######  
 #     # #     #         #     #   # #   ##    # ##    # #       #     # 
 #     # #               #     #  #   #  # #   # # #   # #       #     # 
 ######  #  ####         ######  #     # #  #  # #  #  # #####   ######  
 #       #     #         #     # ####### #   # # #   # # #       #   #   
 #       #     #         #     # #     # #    ## #    ## #       #    #, 
 #        #####  ####### ######  #     # #     # #     # ####### #     # 
(7 rows)

testdb=# SELECT * FROM pg_banner('PostgreSQL');
                                       data                                       
----------------------------------------------------------------------------------
 ######  #######  #####  #######  #####  ######  #######  #####   #####  #       
 #     # #     # #     #    #    #     # #     # #       #     # #     # #       
 #     # #     # #          #    #       #     # #       #       #     # #       
 ######  #     #  #####     #    #  #### ######  #####    #####  #     # #       
 #       #     #       #    #    #     # #   #   #             # #   # # #       
 #       #     # #     #    #    #     # #    #, #       #     # #    #  #       
 #       #######  #####     #     #####  #     # #######  #####   #### # ####### 
(7 rows)

load_json_file

以下のQiitaページ参照

get_database_cluster_size

以下のQiitaページ参照

pg_lifegame

名前のとおりPostgreSQL上でライフゲームをするだけのスクリプト。

pg_lifegame(scale int, sleep int, alive_ch text, dead_ch text)

  • scale はマップの広さを示す。8 なら 8 x 8のマップを生成する。
  • sleep は世代切替間のスリープ時間(秒)
  • alive_ch, dead_ch はそれぞれ生存、死亡を表示するキャラクタを指定する。

pg_lifegame(scale int)

ラッパー関数。sleep は1、alive_ch にはアスタリスク、dead_ch にはスペースが指定される。

作成者

ぬこ@横浜(@nuko_yokohama)