File in the data directory containing the relation cache

pg_internal.init is a file in the data directory which contains the relation cache. A file exists in the global subdirectory, and one in each database subdirectory and possibly in each non-default tablespace.

Each pg_internal.init file is removed at postmaster startup, and recreated by the first backend which is launched.

Implementation details

Each pg_internal.init contains up to 100 Relation entries (this number is hard-coded in src/backend/utils/cache/relcache.c). See src/include/utils/rel.h for the definition of Relation.

Source code

pg_internal.init is defined as RELCACHE_INIT_FILENAME.

The file is managed by src/backend/utils/cache/relcache.c.

See also: src/include/utils/relcache.h.


PostgreSQL internals, Storage