In this article, we will see PostgreSQL Directory Layout and their purpose.
PostgreSQL Database Directory Layout
Installation Directory Layout:
•
PostgreSQL is typically installed
to /usr/local/pgsql or /var/lib/pgsql on linux.
•
C:\Program
Files\PostgreSQL\<version number> on windows.
PostgreSQL Directory Layout On Windows
•
bin-> programs(createdb,
initdb,createuser,etc)
•
data -> Data Directory
•
Doc –> Documentation
•
Include –> Header Files
•
Installer -> Installer files
•
Scripts –> scripts like runpsql,
serverctl vbscript files
•
Share -> Sample configuration
files
•
pgadmin – pgadmin files.
PostgreSQL Directory Layout on Linux:
Directory Name |
Description |
Base |
Subdirectory containing |
Current_logfiles |
File recording the log file(s) written to by the logging collector |
Global |
Subdirectory containing |
pg_commit_ts |
Subdirectory containing transaction |
pg_dynshmem |
Subdirectory containing files used |
pg_logical |
Subdirectory containing status data logical decoding |
pg_multixact |
Subdirectory containing |
pg_notify |
Subdirectory containing |
pg_replslot |
Subdirectory containing |
pg_serial |
Subdirectory containing information committed serializable transactions |
Log |
All error logs kept in this |
pg_snapshots |
Subdirectory containing exported |
pg_stat |
Subdirectory containing permanent |
pg_stat_tmp |
Subdirectory containing temporary |
pg_subtrans |
Subdirectory containing |
pg_tblspc |
Subdirectory containing symbolic |
pg_twophase |
Subdirectory containing state files |
pg_wal |
Subdirectory containing WAL (Write |
pg_xact |
Subdirectory containing transaction |
Pg_ident.conf |
User name maps are defined in the |
postgresql.auto.conf |
A file used for storing that are set by ALTER SYSTEM |
postmaster.opts |
A file recording the command-line |
postmaster.pid |
A lock file recording the current |
PG_VERSION |
A file containing the major version |
Base_Directory:
•
Contains databases, that represented
as directories named after their object identifier (OID).
•
Template 1 always has oid 1.
•
Syntax to find oid of database:
Select oid,datname from pg_database;