Search Postgresql Archives

Am I missing something about the output of pg_stop_backup()?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



So, I'm working on a script that does PITR and basing it off the one here:

http://archives.postgresql.org/pgsql-admin/2006-03/msg00337.php

(BTW, thanks for posting that, Rajesh.)

My frustration comes from the output format of pg_stop_backup(). Specifically, it outputs a string like this:

550/E788D70

...which I then need to tokenize in order to find which archived wal files I'll need to keep as part of the backup. For instance, that output above will result in a WAL file named like so:

00000001000005500000000E.00788D70.backup

That's easy enough to parse when using fixed positions, but sometimes pg_stop_backup won't always give me a string with the same number of characters. In fact, I suspect the output can be up to 23 characters (including the /) if I've commided enough transactions.... and that's before the first 1 in the WAL filename presumably increments past 1. At which point, I'm not sure what I'd see. "2/ABC/12345678"?

I guess my questions boil down to:

1. Why not delimit the tokens it's obviously trying to represent with a delimiter, instead of just mashing the second two tokens together?

2. Why use / to delimit the first two tokens? That's unhelpfully the character usually used for pattern matching, and so needs to be escaped.

3. Am I missing an obvious way to map this function output to the generated WAL filname?

4. Actually.... why doesn't pg_stop_backup() just output the WAL filename that was used?


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux