[pgpool-general-jp: 880] Re: DML対象テーブルにレイアウト変更があった場合

Tatsuo Ishii ishii @ sraoss.co.jp
2011年 1月 8日 (土) 12:59:36 JST


すみません。今のところ、できないです。

キャッシュはpgpool子プロセスのプライベートメモリ内にあるので、たとえば
child_life_time が有効になっていて、タイマーがexpireして子プロセスが再
起動された場合には、結果としてキャッシュがクリアされますが...

手動でキャッシュをクリアできるようにするとか、キャッシュの寿命を指定で
きるようにするとか、そんなに難しいことではないので、将来の課題にします。
もちろん、パッチも大歓迎です:-)
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

> 松崎です。
> 
> お世話になります。
> 
> レプリケーションモードでCURRENT_TIMESTAMPや
> DEFAULT値を使うINSERT文を実行したあと、
> そのテーブルから項目が追加・削除された場合、
> 変更前のテーブルレイアウトでSQL文が組み立てられてしまいました。
> 
> pgpoolを再起動したら最新のテーブルレイアウトでSQL文が組み立てられたのですが、
> 起動したままでこのキャッシュ(?)をクリアする事は出来ますか?
> 
> ■テストしたテーブルのレイアウト
> DROP TABLE IF EXISTS MATSUZ_TEST_TIMESTAMP CASCADE
> ;
> 
> CREATE TABLE MATSUZ_TEST_TIMESTAMP
> (
>     COL1                            VARCHAR(128) NOT NULL,
>     DTTM_DEFAULT                    TIMESTAMP DEFAULT LOCALTIMESTAMP
> NOT NULL,  -- DEFAULT値で自動セット
>     DTTM_TRRIGER                    TIMESTAMP NOT NULL,
>          -- トリガーで自動セット
>     DTTM_INSERT_STATEMENT           TIMESTAMP NOT NULL,
>          -- INSERT文で明示的にセット
>     CONSTRAINT PK_MATSUZ_TEST_TIMESTAMP PRIMARY KEY (COL1) USING INDEX
>         TABLESPACE MST_INDEX
> )
> TABLESPACE MST_DATA
> ;
> 
> CREATE OR REPLACE FUNCTION TRG_MATSUZ_TEST_TIMESTAMP_TS()
> RETURNS TRIGGER
> AS
> $$
> BEGIN
> 
>     -- トリガーで自動セット
>     NEW.DTTM_TRRIGER := CURRENT_TIMESTAMP;
> 
>     RETURN NEW;
> 
> END;
> $$
> LANGUAGE plpgsql
> ;
> 
> CREATE TRIGGER MATSUZ_TEST_TIMESTAMP_TS
>     BEFORE INSERT OR UPDATE
>     ON MATSUZ_TEST_TIMESTAMP
>     FOR EACH ROW
>     EXECUTE PROCEDURE TRG_MATSUZ_TEST_TIMESTAMP_TS()
> ;
> 
> ■テストした更新SQL
> insert into MATSUZ_TEST_TIMESTAMP
> (
>   COL1
> , DTTM_INSERT_STATEMENT
> )
> values
> (
>   'a'
> , CURRENT_TIMESTAMP
> )
> ;
> 
> 以上、よろしくお願いいたします。
> 
> -- 
> 松崎 学 <matsumana @ gmail.com>
> _______________________________________________
> pgpool-general-jp mailing list
> pgpool-general-jp @ sraoss.jp
> http://www.sraoss.jp/mailman/listinfo/pgpool-general-jp


pgpool-general-jp メーリングリストの案内