[Book “Learn PostgreSQL”] Postgres stores configuration across several files – posgresql.conf, postgressql.auto.conf and pg_hba.conf. You can extend settings with additional configuration files, this allows to organize settings by topic – use include_file, include_dir or include_if_exists directives.
You can inspect settings using SHOW command or by querying pg_setting catalog.
Each configuration belongs to a context which defines when a change to a parameter is applied – internal, postmaster, sighup, superuser-backend, backend, user and superuser.
Some interesting parameters that can be set are wal_level, shared_buffers, work_mem and wal_buffers. You can also set cluster id and name with update_process_title and cluster_name. Network setting can specify addresses, ports and more – listen_adresses, port, max_connections.