8.6. Boolean Type

PostgreSQL provides the standard SQL type boolean; see Table 8.19. The boolean type can have several states: true, false, and a third state, unknown, which is represented by the SQL null value.

Table 8.19. Boolean Data Type

NameStorage SizeDescription
boolean1 bytestate of true or false

Valid literal values for the true state are:

TRUE
't'
'true'
'y'
'yes'
'on'
'1'

For the false state, the following values can be used:

FALSE
'f'
'false'
'n'
'no'
'off'
'0'

Leading or trailing whitespace is ignored, and case does not matter. The key words TRUE and FALSE are the preferred (SQL-compliant) usage.

Example 8.2 shows that boolean values are output using the letters t and f.

Example 8.2. Using the boolean Type

CREATE TABLE test1 (a boolean, b text);
INSERT INTO test1 VALUES (TRUE, 'sic est');
INSERT INTO test1 VALUES (FALSE, 'non est');
SELECT * FROM test1;
 a |    b
---+---------
 t | sic est
 f | non est

SELECT * FROM test1 WHERE a;
 a |    b
---+---------
 t | sic est