読者です 読者をやめる 読者になる 読者になる

tateren’s diary

何か書きたくなった時に使う

2016年8月に読んだ本

のぶたしの本棚 - 2016年08月 (8作品)
powered by Booklog

2016年7月に読んだ本

のぶたしの本棚 - 2016年07月 (5作品)
powered by Booklog

PostgreSQLのDB名一覧を改行区切りで取得する

シェルスクリプト用にシンプルにDB名のみの一覧が取得したくなったんだけど、案外やり方が見つからなかった。

psql -Atc "select datname from pg_database"

2016年6月に読んだ本

のぶたしの本棚 - 2016年06月 (6作品)
jQuery入門道場
jQuery入門道場
白岩登
読了日:06月10日

powered by Booklog

Webラジオ録音中tmuxのステータスバーに通知を表示する

録音中にリブートかける悲しみを繰り返さないために。

rec_status.sh

#!/bin/sh
if pgrep rtmpdump > /dev/null ; then
  echo 'REC●'
fi

.tmux.conf(抜粋)

set-option -g status-right '#[fg=red]#(rec_status.sh)#[fg=green] %m月%d日(%a) %H:%M '

f:id:tateren:20160607223951p:plain

f:id:tateren:20160607224000p:plain

よさそう

rtmpdumpが起動してるからって録音してるとは限らないって?

f:id:tateren:20160607225932j:plain

2016年5月に読んだ本

のぶたしの本棚 - 2016年05月 (6作品)
powered by Booklog

PostgreSQLで無から複数行の任意のデータをSELECTする

テーブルも何も無い所から一行の固定値をSELECT(複数カラムもいける)

postgres=# SELECT 'ゆゆ式' AS title, '三上小又' AS Author;
 title  |  author  
--------+----------
 ゆゆ式 | 三上小又
(1 行)

これはよくやる(?)気がするんだけど、何も無いところから複数行SELECTするのってどうやるんだっけと思ってちょっと調べたら…

VALUES

VALUESを使えば良いのか。

postgres=# VALUES ('野々原'),('日向'),('櫟井'); --必要最小限の VALUES コマンド
 column1 
---------
 野々原
 日向
 櫟井
(3 行)

こんな感じでVALUESだけでテーブルが返ってくるんだけど敢えてSELECT文に組み込むならFROM句の中で使ってこうなる。

postgres=# SELECT * FROM (VALUES ('野々原'),('日向'),('櫟井')) AS yuyushiki(name);
  name  
--------
 野々原
 日向
 櫟井
(3 行)

VALUES を FROM 句の中で使用する場合には、 AS 句が必須となることに注意しましょう。

テーブルなので、結合もできる。

postgres=# SELECT * FROM (VALUES ('野々原'),('日向'),('櫟井')) AS family(family_name),
postgres-# (VALUES ('ゆずこ'),('縁'),('唯')) AS first (first_name);
 family_name | first_name 
-------------+------------
 野々原      | ゆずこ
 野々原      | 縁
 野々原      | 唯
 日向        | ゆずこ
 日向        | 縁
 日向        | 唯
 櫟井        | ゆずこ
 櫟井        | 縁
 櫟井        | 唯
(9 行)

なるほど…なるほど…