SysCacheとは

SysCacheは,"System Cache"の略で,システムカタログを高速に検索する目的で 使われる特殊なキャッシュシステムです.「カタログキャッシュ」と呼ぶことも あります.キャッシュは共有メモリではなく,普通のヒープメモリにアロケート されますが,CacheMemoryContext という特殊なメモリコンテキストが使われま す. SysCacheは
HeapTuple
SearchSysCache(int cacheId,
			   Datum key1,
			   Datum key2,
			   Datum key3,
			   Datum key4)
でアクセスします.cacheidは,SysCacheの種類です. なお、良く使われる検索については、 backend/utils/cache/lsyscache.c で定 義されているユーティリティ関数が使えます。

[PostgreSQL 7.3対応] [PostgreSQL 7.2対応]


PostgreSQL 7.3

x x
Cache Idシステムカタログキー1キー2キー3キー4
AGGFNOIDpg_aggregate (Oid) aggregate関数OID     
AMNAMEpg_am (NameData *)アクセスメソッド名    
AMOIDpg_am (Oid)アクセスメソッド    
AMOPOPIDpg_amop (Oid) インデックスOPクラス(Oid) pg_operator Oid   
AMOPSTRATEGYpg_amop (Oid) インデックスOPクラス(int2) オペレータストラテジ番号   
AMPROCNUMpg_amproc (Oid) インデックスOPクラス(Oid) 関数  
ATTNAMEpg_attribute (Oid) attributeのOID(NameData *)アトリビュート名  
ATTNUMpg_attribute (Oid) attributeのOID(int2) アトリビュート番号   
CLAAMNAMEpg_opclass (Oid) インデックスアクセスメソッドOID(NameData *)opclass名   
CLAOIDpg_opclass (Oid) 行のOID    
GRONAMEpg_group (NameData *) グループ名    
GROSYSIDpg_group (int4) グループID    
INDEXRELIDpg_index (Oid) (システムカラムの)OID    
INHRELIDpg_inherits (Oid) 継承先テーブル(子)OID(int4) シーケンス番号   
LANGUAGEpg_language (NameData *) 言語名    
LANGOIDpg_language (Oid) (システムカラムの)OID    
NAMESPACENAMEpg_namespace (NameData *)スキーマ名    
NAMESPACEOIDpg_namespace (Oid) (システムカラムの)OID    
OPERNAMESPpg_operator (NameData *)オペレータ名(Oid) 左のデータ型 (Oid) 右のデータ型(Oid) スキーマ
OPEROIDpg_operator (Oid) (システムカラムの)OID    
PROCNAMESPpg_proc (NameData *) 関数名(int2) 引数の数 (oidvector) 引数の数リスト(最大16))(Oid) スキーマ
PROCOIDpg_proc (Oid) (システムカラムの)OID    
RELNAMESPpg_class (NameData *) 関数名(Oid) スキーマ   
RELOIDpg_class (Oid) (システムカラムの)OID    
RULENAMEpg_rewrite (NameData *) ルール名    
SHADOWNAMEpg_shadow (NameData *) ユーザ名    
SHADOWSYSIDpg_shadow (int4 *) ユーザID    
STATRELATTpg_statistics (Oid) このアトリビュートを持つテーブルOID (int2) アトリビュート番号   
TYPENAMESPpg_type (NameData *) 型名(Oid) スキーマ   
TYPEOIDpg_type (Oid) (システムカラムの)OID    

PostgreSQL 7.2

x x
Cache Idシステムカタログキー1キー2キー3キー4
AGGNAMEpg_aggregate (NameData *)aggregate名(Oid) aggregateベースタイプ   
AMNAMEpg_am (NameData *)アクセスメソッド名    
AMOPOPIDpg_amop (Oid) インデックスOPクラス(Oid) pg_operator Oid   
AMOPSTRATEGYpg_amop (Oid) インデックスOPクラス(int2) オペレータストラテジ番号   
AMPROCNUMpg_amproc (Oid) インデックスOPクラス(Oid) 関数  
ATTNAMEpg_attribute (Oid) attributeのOID(NameData *)アトリビュート名  
ATTNUMpg_attribute (Oid) attributeのOID(int2) アトリビュート番号   
CLAAMNAMEpg_opclass (Oid) インデックスアクセスメソッドOID(NameData *)opclass名   
CLAOIDpg_opclass (Oid) 行のOID    
GRONAMEpg_group (NameData *) グループ名    
GROSYSIDpg_group (int4) グループID    
INDEXRELIDpg_index (Oid) (システムカラムの)OID    
INHRELIDpg_inherits (Oid) 継承先テーブル(子)OID(int4) シーケンス番号   
LANGUAGEpg_language (NameData *) 言語名    
LANGOIDpg_language (Oid) (システムカラムの)OID    
OPERNAMEpg_operator (NameData *)オペレータ名(Oid) 左のデータ型 (Oid) 右のデータ型(char) オペレータ種類(l:左置,r:右置,b:2項)
OPEROIDpg_operator (Oid) (システムカラムの)OID    
PROCNAMEpg_proc (NameData *) 関数名(int2) 引数の数 (oidvector) 引数の数リスト(最大16)) 
PROCOIDpg_proc (Oid) (システムカラムの)OID    
RELNAMEpg_class (NameData *) 関数名    
RELOIDpg_class (Oid) (システムカラムの)OID    
RULENAMEpg_rewrite (NameData *) ルール名    
SHADOWNAMEpg_shadow (NameData *) ユーザ名    
SHADOWSYSIDpg_shadow (int4 *) ユーザID    
STATRELATTpg_statistics (Oid) このアトリビュートを持つテーブルOID (int2) アトリビュート番号   
TYPENAMEpg_type (NameData *) 型名    
TYPEOIDpg_type (Oid) (システムカラムの)OID