1 /*-------------------------------------------------------------------------
4 * Utility routines shared by pg_dump and pg_restore.
7 * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/bin/pg_dump/pg_backup_utils.h
12 *-------------------------------------------------------------------------
15 #ifndef PG_BACKUP_UTILS_H
16 #define PG_BACKUP_UTILS_H
18 #include "common/logging.h"
20 /* bits returned by set_dump_section */
21 #define DUMP_PRE_DATA 0x01
22 #define DUMP_DATA 0x02
23 #define DUMP_POST_DATA 0x04
24 #define DUMP_UNSECTIONED 0xff
26 typedef void (*on_exit_nicely_callback
) (int code
, void *arg
);
28 extern const char *progname
;
30 extern void set_dump_section(const char *arg
, int *dumpSections
);
31 extern void on_exit_nicely(on_exit_nicely_callback function
, void *arg
);
32 extern void exit_nicely(int code
) pg_attribute_noreturn();
34 /* In pg_dump, we modify pg_fatal to call exit_nicely instead of exit */
36 #define pg_fatal(...) do { \
37 pg_log_generic(PG_LOG_ERROR, PG_LOG_PRIMARY, __VA_ARGS__); \
41 #endif /* PG_BACKUP_UTILS_H */