pg_basebackup不复制任何数据 /检查点是空的
我有一个要复制的100GB数据库。
在我正在运行的目标服务器上:
sudo -iu postgres PGPASSWORD=xxx pg_basebackup -v -D /var/lib/postgresql/14/main -U postgres -X fetch -P -h source.host.com -p 5432
pg_basebackup: initiating base backup, waiting for checkpoint to complete
pg_basebackup: checkpoint completed
pg_basebackup: write-ahead log start point: 3/5000028 on timeline 1
70435/70435 kB (100%), 1/1 tablespace
pg_basebackup: write-ahead log end point: 3/5000100
pg_basebackup: syncing data to disk ...
pg_basebackup: renaming backup_manifest.tmp to backup_manifest
pg_basebackup: base backup completed
退出代码为0。但是没有复制数据。目标/var/lib/lib/postgresql/14/main/base
几乎是空的,源上的100GB:
target:/var/lib/postgresql/14/main# du -d1 -h
16M ./pg_wal
540K ./global
0 ./pg_commit_ts
0 ./pg_dynshmem
0 ./pg_notify
0 ./pg_serial
0 ./pg_snapshots
0 ./pg_subtrans
0 ./pg_twophase
16K ./pg_multixact
52M ./base
0 ./pg_replslot
0 ./pg_tblspc
0 ./pg_stat
0 ./pg_stat_tmp
8.0K ./pg_xact
4.0K ./pg_logical
69M .
source:/var/lib/postgresql/14/main# du -d1 -h
785M ./pg_wal
564K ./global
0 ./pg_commit_ts
0 ./pg_dynshmem
0 ./pg_notify
0 ./pg_serial
0 ./pg_snapshots
96K ./pg_subtrans
0 ./pg_twophase
16K ./pg_multixact
92G ./base
0 ./pg_replslot
0 ./pg_tblspc
0 ./pg_stat
72K ./pg_stat_tmp
8.0K ./pg_xact
4.0K ./pg_logical
92G .
目标缺少一堆1GB文件,名为/var/var/lib/lib/postgresql/14 /Main/base/19399/13633xx.yy
。但是,所有基础的分子都是相同的。
来源上的日志说:
source postgres[1658348]: [10-1] LOG: checkpoint starting: force wait
source postgres[1658348]: [11-1] LOG: checkpoint complete: wrote 0 buffers (0.0%); 0 WAL file(s) added, 0 removed, 1 recycled; write=0.007 s, sync=0.001 s, total=0.022 s; sync files=0, longest=0.000 s, average=0.000 s; distance=16383 kB, estimate=16384 kB
运行 pg_basebackup
在源中本地运行良好。
这两个服务器运行Postgres 14。
可能发生了什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
原因是,大多数表都是表。这些未包含在检查点中。
Reason is that most tables are UNLOGGED tables. Those are not included in checkpoints.