Color Support {#color}
=============

color

Most programs in the PostgreSQL package can produce colorized console
output. This appendix describes how that is configured.

When Color is Used {#color-when}
==================

To use colorized output, set the environment variable PG\_COLORPG\_COLOR
as follows:

1.  If the value is `always`, then color is used.

2.  If the value is `auto` and the standard error stream is associated
    with a terminal device, then color is used.

3.  Otherwise, color is not used.

Configuring the Colors {#color-which}
======================

The actual colors to be used are configured using the environment
variable PG\_COLORSPG\_COLORS (note plural). The value is a
colon-separated list of `key=value` pairs. The keys specify what the
color is to be used for. The values are SGR (Select Graphic Rendition)
specifications, which are interpreted by the terminal.

The following keys are currently in use:

`error`

:   used to highlight the text "error" in error messages

`warning`

:   used to highlight the text "warning" in warning messages

`note`

:   used to highlight the text "detail" and "hint" in such messages

`locus`

:   used to highlight location information (e.g., program name and file
    name) in messages

The default value is `error=01;31:warning=01;35:note=01;36:locus=01`
(`01;31` = bold red, `01;35` = bold magenta, `01;36` = bold cyan, `01` =
bold default color).

> **Tip**
>
> This color specification format is also used by other software
> packages such as GCC, GNU coreutils, and GNU grep.
