>> Pgpool-II maintaines internal relation cache to caching the query >> result against backend. The cache scope is per session i.e. existing >> in pgpool child process. The cache is mainly used for inquring system >> catalog to know if the table is a tempory one, or rewirting timestamp >> for example. Problem is, if the structure of a table which is in the >> cache is changed by ALTER TABLE ADD COLUMN or some such, the contents >> of the relcache are not valid anymore. > > Is it difficult to refresh the cache when the ALTER or some query with > problem is issued? > (Is it too simple..?)
If a pgpool child receives the ALTER TABLE request, it's not too hard to invalidate the cache in the *same* child process. But there's no way for other children to know the child received ALTER TABLE. -- Tatsuo Ishii SRA OSS, Inc. Japan English: http://www.sraoss.co.jp/index_en.php Japanese: http://www.sraoss.co.jp >> >> The only solution at present is, restarting pgpool or using >> child_life_time, not super conveninet. >> >> My idea is adding an expiration timer in the cache entry so that the >> cache entry is invalidated after N seconds. The N can be changed by >> editing pgpool.conf. >> >> Thoughts? >> -- >> Tatsuo Ishii >> SRA OSS, Inc. Japan >> English: http://www.sraoss.co.jp/index_en.php >> Japanese: http://www.sraoss.co.jp >> _______________________________________________ >> Pgpool-hackers mailing list >> [email protected] >> http://pgfoundry.org/mailman/listinfo/pgpool-hackers > > > -- > Yoshiharu Mori <[email protected]> > SRA OSS, Inc Japan http://www.sraoss.co.jp > TEL: 03-5979-2701 > FAX: 03-5979-2702 _______________________________________________ Pgpool-hackers mailing list [email protected] http://pgfoundry.org/mailman/listinfo/pgpool-hackers
