Now that psql '\pset format wrapped' is in CVS, we should consider when we want to use 'wrapped' format by default. I think psql \df and \dT certainly can benefit from wrapped mode. \df+ even displays, though there is quite a bit of wrapping.
The attached patch uses wrapped format for \d* output if the current output format is 'aligned'. It certainly helps the \df and \dT because those outputs have normally narrow values with a few wide values that cause aligned output to be much too wide. The downside of the patch is that you can no longer get 'aligned' output for \d* commands anymore because there is no way to know if the user specified 'aligned' or if they are just using the default. This opens the larger question that if 'wrapped' helps with \df and \dT, wouldn't it help with other wide user query output. Now, we can discard this patch and tell people to set their output to 'wrapped' when they issue \d commands, but it is unlikely they will do so. We can also tell people to just default to 'wrapped' in their .psqlrc and then their \d commands and user queries will be in 'wrapped', or we can just default 'format' to 'wrapped' for psql. I have heard a few people say they never way to see 'wrapped' output so perhaps we should do nothing, but I then question whether we want \df and \dT to be hard to read by default. -- Bruce Momjian <[EMAIL PROTECTED]> http://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
Index: src/bin/psql/command.c =================================================================== RCS file: /cvsroot/pgsql/src/bin/psql/command.c,v retrieving revision 1.188 diff -c -c -r1.188 command.c *** src/bin/psql/command.c 8 May 2008 17:04:26 -0000 1.188 --- src/bin/psql/command.c 9 May 2008 17:36:38 -0000 *************** *** 314,319 **** --- 314,324 ---- { char *pattern; bool show_verbose; + enum printFormat saved_format = pset.popt.topt.format; + + /* Use wrapped mode in hopes of displaying output cleanly. */ + if (pset.popt.topt.format == PRINT_ALIGNED) + pset.popt.topt.format = PRINT_WRAPPED; /* We don't do SQLID reduction on the pattern yet */ pattern = psql_scan_slash_option(scan_state, *************** *** 407,412 **** --- 412,419 ---- status = PSQL_CMD_UNKNOWN; } + pset.popt.topt.format = saved_format; /* restore */ + if (pattern) free(pattern); }
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers