> 8 сент. 2021 г., в 03:36, Bossart, Nathan <bossa...@amazon.com> написал(а):
> 
> Anyway, I'm curious what folks think about this.  I think it'd help
> simplify server administration for many users.

BTW this thread is also related [0].

My 2 cents.
It's OK if external tool is responsible for concurrency. Do we want this 
complexity in core? Many users do not enable archiving at all.
Maybe just add parallelism API for external tool?
It's much easier to control concurrency in external tool that in PostgreSQL 
core. Maintaining parallel worker is a tremendously harder than spawning 
goroutine, thread, task or whatever.
External tool needs to know when xlog segment is ready and needs to report when 
it's done. Postgres should just ensure that external archiever\restorer is 
running.
For example external tool could read xlog names from stdin and report finished 
files from stdout. I can prototype such tool swiftly :)
E.g. postgres runs ```wal-g wal-archiver``` and pushes ready segment filenames 
on stdin. And no more listing of archive_status and hacky algorithms to predict 
next WAL name and completition time!

Thoughts?

Best regards, Andrey Borodin.

[0] 
https://www.postgresql.org/message-id/flat/CA%2BTgmobhAbs2yabTuTRkJTq_kkC80-%2Bjw%3DpfpypdOJ7%2BgAbQbw%40mail.gmail.com

Reply via email to