bool log_per_node_statement;                    /* logs per node detailed SQL statements */
        char *lobj_lock_table;                                  /* table name to lock for rewriting lo_creat */
 
-       int debug_level;                                                /* debug message verbosity level.
-                                                                                        * 0: no message, 1 <= : more verbose
-                                                                                        */
-
        BackendDesc *backend_desc;                              /* PostgreSQL Server description. Placed on shared memory */
 
        LOAD_BALANCE_STATUS     load_balance_status[MAX_NUM_BACKENDS];  /* to remember which DB node is selected for load balancing */
 
 #include "auth/pool_passwd.h"
 #include "query_cache/pool_memqcache.h"
 #include "watchdog/wd_utils.h"
+#include "pool_config_variables.h"
 
 static void daemonize(void);
 static int read_pid_file(void);
        mypid = getpid();
 
        pool_init_config();
-       /*
-        * Init debug level with -d option value
-        */
-       pool_config->debug_level = debug_level;
 
        pool_get_config(conf_file, CFGCXT_INIT);
+
        /*
         * Override debug level
+        * if command line -d arg is given adjust the log_min_message config variable
         */
-       if (pool_config->debug_level == 0)
-               pool_config->debug_level = debug_level;
-
-    /* if command line -d arg is given adjust the log_min_message config variable */
-    if(debug_level > 0 && pool_config->log_min_messages > DEBUG1)
-        pool_config->log_min_messages = DEBUG1;
+       if(debug_level > 0 && pool_config->log_min_messages > DEBUG1)
+               set_one_config_option("log_min_messages", "DEBUG1",CFGCXT_INIT, PGC_S_ARGV, INFO);
 
        /*
         * If a non-switch argument remains, then it should be either "reload" or "stop".
 
 
 # - Debug -
 
-debug_level = 0
-                                   # Debug message verbosity level
-                                   # 0 means no message, 1 or more mean verbose
-
 #log_error_verbosity = default          # terse, default, or verbose messages
 
 #client_min_messages = notice           # values in order of decreasing detail:
 
 
 # - Debug -
 
-debug_level = 0
-                                   # Debug message verbosity level
-                                   # 0 means no message, 1 or more mean verbose
-
 #log_error_verbosity = default          # terse, default, or verbose messages
 
 #client_min_messages = notice           # values in order of decreasing detail:
 
 
 # - Debug -
 
-debug_level = 0
-                                   # Debug message verbosity level
-                                   # 0 means no message, 1 or more mean verbose
-
 #log_error_verbosity = default          # terse, default, or verbose messages
 
 #client_min_messages = notice           # values in order of decreasing detail:
 
 
 # - Debug -
 
-debug_level = 0
-                                   # Debug message verbosity level
-                                   # 0 means no message, 1 or more mean verbose
-
 #log_error_verbosity = default          # terse, default, or verbose messages
 
 #client_min_messages = notice           # values in order of decreasing detail:
 
        StrNCpy(status[i].desc, "syslog program ident string", POOLCONFIG_MAXDESCLEN);
        i++;
 
-       /* - Debug - */
-       StrNCpy(status[i].name, "debug_level", POOLCONFIG_MAXNAMELEN);
-       snprintf(status[i].value, POOLCONFIG_MAXVALLEN, "%d", pool_config->debug_level);
-       StrNCpy(status[i].desc, "debug message level", POOLCONFIG_MAXDESCLEN);
-       i++;
-
        /* FILE LOCATIONS */
 
        StrNCpy(status[i].name, "pid_file_name", POOLCONFIG_MAXNAMELEN);