postgresql/src/include/utils/guc.h

77 lines
2.4 KiB
C
Raw Normal View History

/*
* guc.h
*
* External declarations pertaining to backend/utils/misc/guc.c and
* backend/utils/misc/guc-file.l
*
* $Id: guc.h,v 1.12 2001/10/28 06:26:09 momjian Exp $
*/
#ifndef GUC_H
#define GUC_H
/*
* Certain options can only be set at certain times. The rules are
* like this:
*
* POSTMASTER options can only be set when the postmaster starts,
* either from the configuration file or the command line.
*
* SIGHUP options can only be set at postmaster startup or by changing
* the configuration file and sending the HUP signal to the postmaster
* or a backend process. (Notice that the signal receipt will not be
* evaluated immediately. The postmaster and the backend block at a
* certain point in their main loop. It's safer to wait than to read a
* file asynchronously.)
*
* BACKEND options can only be set at postmaster startup, from the
* configuration file, or with the PGOPTIONS variable from the client
* when the connection is initiated. Furthermore, an already-started
* backend will ignore changes to such an option in the configuration
* file. The idea is that these options are fixed for a given backend
* once it's started, but they can vary across backends.
*
* SUSET options can be set at postmaster startup, with the SIGHUP
* mechanism, or from SQL if you're a superuser. These options cannot
* be set using the PGOPTIONS mechanism, because there is not check as
* to who does this.
*
* USERSET options can be set by anyone any time.
*/
2001-03-22 05:01:46 +01:00
typedef enum
{
PGC_POSTMASTER,
PGC_SIGHUP,
PGC_BACKEND,
PGC_SUSET,
PGC_USERSET
} GucContext;
extern void SetConfigOption(const char *name, const char *value,
GucContext context, bool makeDefault);
extern const char *GetConfigOption(const char *name);
extern void ProcessConfigFile(GucContext context);
extern void ResetAllOptions(bool isStartup);
extern void ParseLongOption(const char *string, char **name, char **value);
extern bool set_config_option(const char *name, const char *value,
GucContext context, bool DoIt, bool makeDefault);
extern void ShowAllGUCConfig(void);
extern bool Debug_print_query;
extern bool Debug_print_plan;
extern bool Debug_print_parse;
extern bool Debug_print_rewritten;
extern bool Debug_pretty_print;
extern bool Show_parser_stats;
extern bool Show_planner_stats;
extern bool Show_executor_stats;
extern bool Show_query_stats;
extern bool Show_btree_build_stats;
extern bool SQL_inheritance;
extern bool Australian_timezones;
2001-03-22 05:01:46 +01:00
#endif /* GUC_H */