PostgreSQL is a mature open source cross platform relational database, especially since version 9.0 which introduces replication and standby features.
In addition to the native procedural language PL/pgSQL, PostgreSQL easily interacts in routines with multiple languages like Python, Perl, Tcl, PHP, Ruby… and many others.
PostgreSQL 9.6 - Quick setup and installation on Ubuntu 18.04 September 30th, 2019
A PostgreSQL 9.6 instance is installed and customized (port, database and configuration files…) on Ubuntu 18.04. A quick guide for creating a PostgreSQL database and managing this database with pg_ctl (start, stop, restart…)
Streaming replication with PostgreSQL 9.6, 10 and 11 - PostgreSQL Standby Databases November 22nd, 2019
Implementing a PostgreSQL 9.6 streaming replication on Linux Ubuntu 18.04 servers is very easy. In the streaming replication mode, the standby connects to the primary, which streams WAL records (Write Ahead Log) to the standby as they're generated, without waiting for the WAL file to be filled. Streaming replication allows a standby server to stay more up-to-date than is possible with file-based log shipping. The standby server can be in read only mode for reporting purposes for example. A replication slot ensures that the needed WAL files for the standby are not removed in the primary server before the standby server processes them. Multiple replication slots can be defined depending on the number of the standby servers.
PostgreSQL - Planned Failover / Failback procedures with streaming replication January 6th, 2020
Many articles deal with promoting a PostgreSQL standby server to primary server using the command pg_ctl promote. Many of them conclude the standby server shoud be be rebuilt when primary server is back. What about a scheduled maintenance on the primary server including shutdowns ? Do we have to rebuild the primary/standby system ? Obviously the answer is : NO. Assuming there is enough space disk for WAL files retention during the maintenance task, if the replication slot and the recovery option recovery_timeline_target are cautiously managed during the failover/failback procedures, there is no need to rebuild the whole standby system implying backup/restore databases and/or to use pg_rewind.