2009年9月30日水曜日

動作を中断する方法

①psコマンドでプロセスIDを確認する。
②killコマンドを使用し該当のプロセスIDを終了させる。

在庫管理システム

在庫管理システムの設計のヒント

在庫の増減がある場合

・納品時
・在庫場所移動時
・オーダーがあり出荷完了時
・オーダー返品時
・棚卸時(月末在庫調整) ←※特殊 月末繰越数調整


・在庫数調整 ←在庫数をいきなり変えてしまう。
 (これを行うと下記計算に狂いがでるので使うかは要検討が必要)


●月末在庫調整の考え方

月末繰越数 + 納品数 - 出荷完了数 = 現在在庫数

となるので月末繰越数を動かす場合には現在在庫数も同時に
増減させる必要がある。

2009年9月16日水曜日

郵便番号データ(CSV)

郵便局からダウンロードしたCSVデータのテーブルの生成SQL

CREATE TABLE zip_cod (
jiscode integer NOT NULL,
zip_old integer NOT NULL,
zipcode integer NOT NULL,
ken_kana varchar(100) NOT NULL,
shichoson_kana varchar(100) NOT NULL,
choiki_kana varchar(100) NOT NULL,
ken_kanji varchar(100) NOT NULL,
shichoson_kanji varchar(100) NOT NULL,
choiki_kanji varchar(100) NOT NULL,

flag10 varchar(100) NOT NULL,
flag11 integer NOT NULL,
flag12 integer NOT NULL,
flag13 integer NOT NULL,
info14 integer,
info15 integer
);

2009年9月7日月曜日

翌月頭と翌月末を求めるSQL

翌月頭
DATE(to_char(now() + '1 month','YYYYMM01')) as start_dt,

翌月末(二ヶ月頭から一日マイナス)
DATE(to_char(now() + '2 month','YYYYMM01')) - 1 as start_dt

2009年9月3日木曜日

postgresの実行中のプロセスと停止方法

●postresの実行中のプロセスを下記コマンドで取得

SELECT
procpid,
start,
now() - start AS lap,
current_query
FROM
(SELECT
backendid,
pg_stat_get_backend_pid(S.backendid) AS procpid,
pg_stat_get_backend_activity_start(S.backendid) AS start,
pg_stat_get_backend_activity(S.backendid) AS current_query
FROM
(SELECT pg_stat_get_backend_idset() AS backendid) AS S
) AS S
WHERE
current_query <> ''
ORDER BY
lap DESC;

●各項目の意味
・procpid プロセスID
・start プロセス実行開始時間
・lap 経過時間
・current_query 実行中のSQL


●プロセスは下記コマンドで停止できる。
SELECT pg_cancel_backend(プロセスID);