Is there any special meaning to preceding a datatype (or at least some datatypes) in a table or function definition by underscore that is a synonym for an array? I can't see it documented anywhere. Below are some examples. The other question is why "_int4" parses to int[], but "_int" does not, etc. This is on PostgreSQL 8.1.3 Linux. gp=> create table a1 (b _int4); CREATE TABLE gp=> \d a1 Table "mnp.a1" Column | Type | Modifiers --------+-----------+----------- b | integer[] | gp=> create table a2 (b _char); CREATE TABLE gp=> \d a2 Table "mnp.a2" Column | Type | Modifiers --------+----------+----------- b | "char"[] | gp=> create table a3 (b _int); ERROR: type "_int" does not exist gp=> create table a4 (b _char(1)); ERROR: syntax error at or near "(" at character 25 LINE 1: create table a4 (b _char(1)); ^