0

Are there any GUCs or commands which I can get debug messages in HAWQ log? Now, I can only get ERROR or FATAL message but can not get any DEBUG messages. How to print these DEBUG messages in Log file?

4 Answers4

0

You can set log_min_messages level in postgres.conf of hawq master data directory. Log level can be the following values in order of decreasing detail: # debug5 # debug4 # debug3 # debug2 # debug1 # info # notice # warning # error # log # fatal # panic

ztao1987
  • 71
  • 7
0

It needs to restart cluster if you change the postgres.conf. But you can set GUC log_min_messages in the PSQL session if you just want to log the debug info within this session.

0

Different component of apache hawq support different level of debugging message.

The overall supported levels are as below. You may refer to https://github.com/apache/incubator-hawq/blob/master/src/include/utils/elog.h for details.

/* Error level codes */
Level        Value
------------------
DEBUG5          10
DEBUG4          11
DEBUG3          12
DEBUG2          13
DEBUG1          14
LOG             15
COMMERROR       16
INFO            17
NOTICE          18
WARNING         19
ERROR           20
FATAL           21
PANIC           22

To get the DEBUG message you want, you need to check the component you care about regarding the supported level of debugging. Then before run your query, use below setting to get debug information:

  • either persistent level of GUC ("hawq config -c log_min_messages -v DEBUG_LEVEL" and then "hawq restart cluster -a")
  • or use session level debugging ("set log_min_messages = DEBUG_LEVEL")

If you don't find enough log information even with highest level debugging level, you can try to add it in apache hawq source code yourself.

huor
  • 116
  • 4
0

DEBUG you refer to may have two meaning, One is DEBUG log level in hawq code, which is answered by ztao1987, and the other is when you debug using gdb/lldb, where is the output of your print function. The answer is in the master/segment log too. stdout has been redirected to log file by HAWQ, For example, when you want to print a tupletableslot in lldb, just type"expr print_slot(yourslot)", and tail -f your.log, the slot info will be printed on the screen.

huan zhang
  • 11
  • 1