Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Requirement

  1. Support Postgresql version

    1. v10 - v14

    2. Both servers should be running same version

  2. Network connectivity

    1. The servers must be on the same network and have proper network connectivity

    2. Primary server should have proper pg_hba.conf setting

CSD for streaming Mode

Drawio
mVer2
simple0
zoom1
inComment0
pageId3673391206
custContentId3678240842
diagramDisplayNamecsd-archive.drawio
lbox1
contentVer4
revision5
baseUrlhttps://dbvisit.atlassian.net/wiki
diagramNamecsd-archive.drawio
pCenter0
width681
links
tbstyle
height1131

  1. Trigger CSD in streaming mode

  2. Create Replication Slot on Primary

    1. Code Block
      SELECT * FROM pg_create_physical_replication_slot(SLOT_NAME, false, false) WHERE NOT EXISTS (SELECT * FROM pg_replication_slots WHERE slot_name = SLOT_NAME)
  3. On Primary MP find and Tar the postgresql config files, Including

    1. postgres.conf

    2. pg_ident.conf

    3. pg_hba.conf

  4. On Standby MP receive tar ball of postgresql config files from Primary server

  5. Data directory setup: Using pg_basebackup to initialize streaming backup from Standby to Primary to retrieve all files in data directory from Primary with the Replication Slot created on step 2

    1. Code Block
      /opt/rh/rh-postgresql13/root/usr/bin/pg_basebackup -D /var/lib/pgsql/data/13/main -F plain -X stream -S dbvisit_2 -R --progress --verbose --checkpoint=fast -d postgres://postgres@postgresqlcentos1:5432
  6. Config directory setup:

    1. Extract files from tar ball recieved on step 4 and put them into the target config directory

    2. Configure the PostgreSQL configuration in streaming mode according to the CSD parameter and streaming slot.

  7. If the OS is windows, register windows service for the cluster

  8. After setting up data director and config directory, restart standby server

  9. Applying the latest changes on configuration coming CSD and persisting configuration data on Control Center

CSD for archive Mode

Drawio
mVer2
simple0
zoom1
inComment0
pageId3673391206
custContentId3678273563
diagramDisplayNamecsd archive.drawio
lbox1
contentVer3
revision3
baseUrlhttps://dbvisit.atlassian.net/wiki
diagramNamecsd archive.drawio
pCenter0
width711
links
tbstyle
height1171

  1. Trigger CSD in archive mode

  2. Create base backup files

    1. Code Block
      /opt/rh/rh-postgresql13/root/usr/bin/pg_basebackup -D tempBackupDir -F tar -X stream -R --progress --verbose 
    2. The aforementioned command will generate the subsequent files, which are to be transferred to the Standby in order to facilitate the cluster restoration process.

      1. base.tar: postgresql base files, including setting and etc

      2. pg_wal.tar: wal data files for standby to restore

      3. tblspc_xxxxx.tar: customized table space files

      4. backup_manifest: backup meta data, is used for pg_verifybackup to verify the backup

  3. On Primary MP find and Tar the postgresql config files, Including

    1. postgres.conf

    2. pg_ident.conf

    3. pg_hba.conf

  4. On Standby MP receive all files generated from Primary server on step 3 and step 2.b

  5. Data directory setup: Extract files generated from 2.b and placed to the target data folder assigned before triggering CSD

  6. Config directory setup:

    1. Extract files from tar ball recieved on step 4 and put them into the target config directory

    2. Configure the PostgreSQL configuration in streaming mode according to the CSD parameter and streaming slot.

  7. If the OS is windows, register windows service for the cluster

  8. After setting up data director and config directory, restart standby server

  9. Applying the latest changes on configuration coming CSD and persisting configuration data on Control Center