PSQL の文法:変数と「'」の使い方、日付データ演算 などのメモ
備忘録です。
■ スクリプトの処理内容
・PostgreSQLサーバに接続
・日付を入力すると、変数culture_dateに代入。
・usbtempテーブルから、その日付の8時のデータを取り出し、変数eight_temp
usbtempテーブルから、その日付の12時のデータを取り出し、変数twelve_temp に代入。
・new_cultureテーブルに、上記3変数のデータと、org_cultureテーブルから取り出したデータを挿入。
・テーブルの最新レコードから30行をログファイルに書き出して終了。
■ コマンドファイル add-culture.sh の内容
#!/bin/sh psql -h 192.168.168.1 -p 5432 -U UserName -d temp << EOF > /var/log/culture.log \prompt culture_date(9999-99-99): culture_date \echo :culture_date select temp_moddata as eight_temp from usbtemp where temp_date >= to_timestamp(:'culture_date' || ' 08:00:00', 'YYYY-MM-DD HH24:MI:SS') and temp_date < to_timestamp(:'culture_date' || ' 08:00:01', 'YYYY-MM-DD HH24:MI:SS'); \gset \echo :eight_temp select temp_moddata as twelve_temp from usbtemp where temp_date >= to_timestamp(:'culture_date' || ' 12:00:00', 'YYYY-MM-DD HH24:MI:SS') and temp_date < to_timestamp(:'culture_date' || ' 12:00:01', 'YYYY-MM-DD HH24:MI:SS'); \gset \echo :twelve_temp insert into new_culture(culture_date, culture_temp8, culture_temp12, culture_time,culture_temp, culture_hour) select :'culture_date' , :eight_temp, :twelve_temp, culture_time, culture_temp, culture_hour from org_culture where culture_date = :'culture_date' ; select * from new_culture ORDER BY culture_date DESC LIMIT 30; EOF
■ テーブル一覧
・培養新データ格納テーブル CREATE TABLE new_culture( culture_date DATE NOT NULL DEFAULT CURRENT_DATE, culture_temp8 FLOAT NOT NULL, -- 8時の温度 culture_temp12 FLOAT NOT NULL, -- 12時の温度 culture_time TIME NOT NULL DEFAULT '08:00:00', -- 開始時刻 culture_temp SMALLINT NOT NULL, -- 培養温度 culture_hour SMALLINT NOT NULL, -- 培養時間); ・室温データ格納用デーブルCREATE TABLE usbtemp( temp_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, temp_rawdata FLOAT NOT NULL, temp_moddata FLOAT , -- 補正後データ interval SMALLINT NOT NULL DEFAULT 1000, (msec単位)); ・培養元データ格納テーブル CREATE TABLE org_culture( culture_date DATE NOT NULL DEFAULT CURRENT_DATE, culture_time TIME NOT NULL DEFAULT '08:00:00', -- 開始時刻 culture_temp SMALLINT NOT NULL, -- 培養温度 culture_hour SMALLINT NOT NULL, -- 培養時間);
■ ひとりごと 「はてな記法はどこいった?」 > 「戻ってきた」>「ほっ」
設定 > 編集モード > はてな記法モード を選択