These days pg_basebackup
is the most common way to get an initial copy of a database server. This has not always been the case. Traditionally, a different method has been used which works as follows:
SELECT pg_start_backup('some label'),
rsync
or any other means.SELECT pg_stop_backup();
The main advantage of this old method is that there is no need to open a database connection and no need to configure XLOG-streaming infrastructure on the source server.
A main advantage is also that you can make use of features such as ZFS-snapshots or similar means, which can help to dramatically reduce the amount of I/O needed to create an initial backup.
Once you have started pg_start_backup
, there is no need to hurry. It is not necessary and not even especially desirable to leave the backup mode soon. Nothing will happen if you are in backup mode for days. PostgreSQL will archive the transaction log as usual and the user won't face any kind of downside. Of course, it is bad habit not to close backups soon and properly. However, the way PostgreSQL works internally does not change when a base backup is running. There is nothing filling up, no disk I/O delayed, or anything of this sort.
18.216.42.251