This topic describes the file storage of PolarDB for PostgreSQL(Compatible with Oracle).

  • The data and WAL logs of the primary node and read-only nodes are stored in shared storage.
  • The configuration files, log files, and temporary files are stored on each node.
  • The commit log (clog) file of the primary node is stored in shared storage. The clog file of a read-only node is maintained on the read-only node.
  • The pg_control file of the primary node is stored in shared storage. The pg_control file of a read-only node is read from the shared storage only when the database is started, and maintained in the memory after the database is started.
File storage
Directory or fileDescriptionStorage path
baseThe subdirectory of each database.Shared storage
globalThe directory of cluster-wide tables.
pg_tblspcThe table space.
pg_walThe directory of write-ahead logging (WAL) logs.
pg_dynshmemThe file that is used by the dynamic shared memory.One copy on each node
pg_snapshotsThe exported snapshots.
pg_replslotThe replication slot data.
pg_stat_tmpThe temporary files for the statistics subsystem.
pg_statThe persistent files for the statistics subsystem.
pg_serialThe information about committed serializable transactions.
pg_xactThe transaction log file.
  • Shared storage for the primary node
  • One copy on the on-premises storage for read-only nodes
pg_commit_tsThe time when the transaction is committed.
pg_multixactThe information about sub-transactions.
pg_versionThe version information.One copy on each node
postgresql.auto.confThe parameter configuration file, which has a higher priority over the postgresql.conf file.
postmaster.optsThe file that records the database parameters that are specified before a server start.
postmaster.pidA lock file that records information such as the process ID of postmaster, database directory, start time of postmaster, and port number.
postgresql.confThe configuration file of parameters.
pg_hba.confThe file that is used to control client authentication.
pg_ident.confThe file that records mappings between the names of operating system users and database users.