Hi, I tend to consider it a bug that there's no known way under windows to use the same trick as under Unix by using '/usr/bin/true' as your archive command. And this Unix trick itself does feel like a hack.
Also I'd very much like to be able to recommend (even if not change the official defaults) to setup wal_level to archive, archive_mode=on and archive_command=pg_archive_bypass, so that the day you have a HA budget ain't the day you're going to restart the server to enable the fault tolerance settingsā¦ So please find attached a very simple "let's see about it" patch to implement an internal archive_command that just returns true and is called pg_archive_bypass. It's missing documentation, which I'll provide if needed (meaning there's some will to consider applying such a patch). Regards, -- dim
*** a/src/backend/postmaster/pgarch.c --- b/src/backend/postmaster/pgarch.c *************** *** 475,481 **** pgarch_ArchiverCopyLoop(void) /* * pgarch_archiveXlog * ! * Invokes system(3) to copy one archive file to wherever it should go * * Returns true if successful */ --- 475,485 ---- /* * pgarch_archiveXlog * ! * Invokes system(3) to copy one archive file to wherever it should go, or ! * just return true if set to the internal command "pg_archive_bypass". That ! * allows windows users to easily have the "/usr/bin/true", and that allows ! * for setting up a archiving only when you need it by changing the command ! * and issuing a reload. * * Returns true if successful */ *************** *** 490,495 **** pgarch_archiveXlog(char *xlog) --- 494,509 ---- const char *sp; int rc; + /* + * If the command is "pg_archive_bypass", just return true + */ + if( strcmp(XLogArchiveCommand, "pg_archive_bypass") == 0 ) + { + ereport(DEBUG3, + (errmsg_internal("bypassing archive command"))); + return true; + } + snprintf(pathname, MAXPGPATH, XLOGDIR "/%s", xlog); /*
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers