PostgreSQL command line colors!
Did you know that PostgreSQL tools can, under specific circumstances, display colors?Well, I didn’t know until I came across this section in the documentation that explains it.
There are two different environment variables named
PG_COLOR
and PG_COLORS
respectively. The first (note the singular) decides if the colors have to be activated or not, while the second contains the sequence of colors.
Clearly, colors are related to errors and other messages regarding a tool and not SQL errors!
Let’s see this in action:
As you can see, after setting
PG_COLOR
to always
, both psql
and pg_dump
show the error with a red color and the message tag with a bold face.
You can change the default color behaviour by setting the values in the PG_COLORS
environment variable, so for example you can turn the errors to purple:
The
PG_COLORS
variable is a string that contains the log level (e.g., error
) followed by the color code (e.g., 01;31
means bold red).
The same color palette that you apply in shell and printf(2)
like escape sequences can be applied to PG_COLORS
variable.
You can even make text blinking:
As far as I understand, the command line tools adapts to the colors thru the logging subsystem.