Replicating an existing (huge) database
Hi All,
I am using postgresql 12. As part of streaming replication setup, I run
pg_basebackup on the slave which copies the database from master to slave.
But the database is huge and it takes around 2 to 3 days for the
pg_basebackup to finish. When pg_basebackup is running, a huge number of
wal files are generated on the master which occupies a lot of space (even
though it is for 2-3 days, disk space is low). Is there any other way to
start replication without using pg_baseback?
Regards,
Seenu.
On Mon, 2022-11-28 at 15:47 +0530, Srinivasa T N wrote:
I am using postgresql 12. As part of streaming replication setup, I run pg_basebackup
on the slave which copies the database from master to slave. But the database is huge
and it takes around 2 to 3 days for the pg_basebackup to finish. When pg_basebackup
is running, a huge number of wal files are generated on the master which occupies a lot
of space (even though it is for 2-3 days, disk space is low).
Is there any other way to start replication without using pg_baseback?
There is the "low level backup API" (pg_start_backup() and pg_stop_backup()) that
allows you to copy the data yourself, for example with storage snapshots, which
can be much faster. The essential process is like with pg_basebackup, but you
can use more efficient methods to copy the data.
Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com
You can set up wal archiving and set restore_command before you start the
replica. Then you can use pg_basebackup with `-Xnone --no-slot`.
Alternatively or in combination, use a quicker backup as Laurenz explained.
On Mon, Nov 28, 2022 at 11:17 AM Srinivasa T N <seenutn@gmail.com> wrote:
Show quoted text
Hi All,
I am using postgresql 12. As part of streaming replication setup, I
run pg_basebackup on the slave which copies the database from master to
slave. But the database is huge and it takes around 2 to 3 days for the
pg_basebackup to finish. When pg_basebackup is running, a huge number of
wal files are generated on the master which occupies a lot of space (even
though it is for 2-3 days, disk space is low). Is there any other way to
start replication without using pg_baseback?Regards,
Seenu.