Overview
PostgreSQL (often shortened to "Postgres") is an open source object-relational database management system, renowned for its reliability, strict adherence to SQL standards, and extensibility. It supports ACID transactions, complex constraints, advanced data types (JSONB, arrays, geometric types), and third-party extensions such as PostGIS and pgvector.
It is one of the go-to choices for production applications that demand data integrity and rich SQL features.
Important concepts before installing
PostgreSQL is built around a cluster: an initialized data directory (the data directory) that holds all the databases managed by a single server instance. On most distributions, this cluster is created automatically at install time; on others, you must initialize it manually before the first startup. The exact command depends on the platform: initdb directly on Arch and macOS, but sudo postgresql-setup --initdb on Fedora and RHEL.
Two configuration files are central:
postgresql.conf— server parameters (memory, connections, logging).pg_hba.conf— client authentication rules (who can connect, from where, and how).
The location of these files varies greatly by platform: see the page for your system.
Command-line tools
PostgreSQL ships with a suite of utilities: psql (interactive SQL client), pg_dump and pg_restore (logical backup and restore), createdb / dropdb (database management), and pg_ctl (low-level server control).