Version v1.5.1 of the documentation is no longer actively maintained. The site that you are currently viewing is an archived snapshot.
For up-to-date documentation, see the latest version.
The following parameters are related to the PostgreSQL database dir:
pg_dbsu_home: Postgres default user’s home dir, default is /var/lib/pgsql.
pg_bin_dir: Postgres binary dir, defaults to /usr/pgsql/bin/.
pg_data: Postgres database dir, default is /pg/data.
pg_fs_main: Postgres main data disk mount point, default is /export.
pg_fs_bkup: Postgres backup disk mount point, default is /var/backups (optional, you can also choose to backup to a subdirectory on the primary data disk).
#------------------------------------------------------------------------------# Create Directory#------------------------------------------------------------------------------# this assumes that# /pg is shortcut for postgres home# {{ pg_fs_main }} contains the main data (MUST ALREADY MOUNTED)# {{ pg_fs_bkup }} contains archive and backup data (MUST ALREADY MOUNTED)# cluster-version is the default parent folder for pgdata (e.g pg-test-12)#------------------------------------------------------------------------------# default variable:# pg_fs_main = /export fast ssd# pg_fs_bkup = /var/backups cheap hdd## /pg -> /export/postgres/pg-test-12# /pg/data -> /export/postgres/pg-test-12/data#------------------------------------------------------------------------------- name:Create postgresql directoriestags:pg_dirbecome:yesblock:- name:Make sure main and backup dir existsfile:path={{ item }} state=directory owner=root mode=0777with_items:- "{{ pg_fs_main }}"- "{{ pg_fs_bkup }}"# pg_cluster_dir: "{{ pg_fs_main }}/postgres/{{ pg_cluster }}-{{ pg_version }}"- name:Create postgres directory structurefile:path={{ item }} state=directory owner={{ pg_dbsu }} group=postgres mode=0700with_items:- "{{ pg_fs_main }}/postgres"- "{{ pg_cluster_dir }}"- "{{ pg_cluster_dir }}/bin"- "{{ pg_cluster_dir }}/log"- "{{ pg_cluster_dir }}/tmp"- "{{ pg_cluster_dir }}/conf"- "{{ pg_cluster_dir }}/data"- "{{ pg_cluster_dir }}/meta"- "{{ pg_cluster_dir }}/stat"- "{{ pg_cluster_dir }}/change"- "{{ pg_backup_dir }}/postgres"- "{{ pg_backup_dir }}/arcwal"- "{{ pg_backup_dir }}/backup"- "{{ pg_backup_dir }}/remote"
PG Binary FHS
On RedHat/CentOS, the default installation location for the Postgres distribution is:
/usr/pgsql-${pg_version}/
The installation playbook automatically creates a soft link to the currently installed version. For example, if version 14 of Postgres is installed, there are.
/usr/pgsql -> /usr/pgsql-14
Therefore, the default pg_bin_dir is /usr/pgsql/bin/, and this path is added to the PATH environment variable for all users in /etc/profile.d/pgsql.sh.
PG Data FHS
Pigsty assumes at least one primary data disk (pg_fs_main) and an optional backup data disk (pg_fs_bkup) on the single node used to deploy the database instance. Usually, the primary data disk is a high-performance SSD, while the backup disk is a high-capacity inexpensive HDD.
#------------------------------------------------------------------------------# Create Directory#------------------------------------------------------------------------------# this assumes that# /pg is shortcut for postgres home# {{ pg_fs_main }} contains the main data (MUST ALREADY MOUNTED)# {{ pg_fs_bkup }} contains archive and backup data (MAYBE ALREADY MOUNTED)# {{ pg_cluster }}-{{ pg_version }} is the default parent folder# for pgdata (e.g pg-test-14)#------------------------------------------------------------------------------# default variable:# pg_fs_main = /export fast ssd# pg_fs_bkup = /var/backups cheap hdd## /pg -> /export/postgres/pg-test-14# /pg/data -> /export/postgres/pg-test-14/data
PG Cluster FHS
# basic{{ pg_fs_main }} /data # contains all business data (pg,consul,etc..){{ pg_dir_main }} /data/postgres # contains postgres main data{{ pg_cluster_dir }} /data/postgres/pg-test-14 # contains cluster `pg-test` data (of version 13) /data/postgres/pg-test-14/bin # binary scripts /data/postgres/pg-test-14/log # misc logs /data/postgres/pg-test-14/tmp # tmp, sql files, records /data/postgres/pg-test-14/conf # configurations /data/postgres/pg-test-14/data # main data directory /data/postgres/pg-test-14/meta # identity information /data/postgres/pg-test-14/stat # stats information /data/postgres/pg-test-14/change # changing records{{ pg_fs_bkup }} /var/backups # contains all backup data (pg,consul,etc..){{ pg_dir_bkup }} /var/backups/postgres # contains postgres backup data{{ pg_backup_dir }} /var/backups/postgres/pg-test-14 # contains cluster `pg-test` backup (of version 13) /var/backups/postgres/pg-test-14/backup # base backup /var/backups/postgres/pg-test-14/arcwal # WAL archive /var/backups/postgres/pg-test-14/remote # mount NFS/S3 remote resources here# links/pg -> /data/postgres/pg-test-14 # pg root link/pg/data -> /data/postgres/pg-test-14/data # real data dir/pg/backup -> /var/backups/postgres/pg-test-14/backup # base backup/pg/arcwal -> /var/backups/postgres/pg-test-14/arcwal # WAL archive/pg/remote -> /var/backups/postgres/pg-test-14/remote # mount NFS/S3 remote resources here
Pgbouncer FHS
Pgbouncer is run using the Postgres user, and the config file is located in /etc/pgbouncer. The config file includes.
pgbouncer.ini: the main config file
userlist.txt: lists the users in the connection pool
pgb_hba.conf: lists the access privileges of the connection pool users
database.txt: lists the databases in the connection pool
Redis FHS
Pigsty provides essential support for Redis deployment and monitoring.
Redis binaries are installed in /bin/ using RPM-packages or copied binaries, including: