I'd like to request the following enhancement to enable better monitoring of a PostgreSQL cluster.
I propose adding a column to "pg_stat_archiver" to determine how many WAL logs are waiting to be archived. This would enable external monitoring systems to query the status via SQL (without being a superuser) and alert when an excessive number of WAL logs are waiting to be archived. That way intervention can be performed before an out-of-space condition occurs. I've implemented it as a separate function below, but would rather have it built in to postgres. Thanks, Rob Brucks CREATE OR REPLACE FUNCTION wal_archives_pending_func(OUT wal_archives_pending int) AS $$ DECLARE result record; BEGIN SELECT count(*) as count INTO result FROM (SELECT pg_ls_dir('pg_xlog/archive_status')) a WHERE pg_ls_dir ~ '[0-9A-F]{24}.ready'; wal_archives_pending := result.count; END; $$ LANGUAGE plpgsql VOLATILE SECURITY DEFINER;