Skip to content

postgres - Datatypes

Numeric Types

PostgreSQL Data Type Java Equivalent Data Type Example Values
SMALLINT short 1, 2, -32768
INTEGER (INT) int 100, -2147483648
BIGINT long 9223372036854775807
DECIMAL/NUMERIC java.math.BigDecimal 10.99, -100.5
REAL float 3.14, 1e10
DOUBLE PRECISION double 3.14159, 1.2e308
SERIAL int 1, 2, 3
BIGSERIAL long 1, 2, 3

Character/String Types

PostgreSQL Data Type Java Equivalent Data Type Example Values
CHAR(n) String 'John ' (5 chars)
VARCHAR(n) String 'Hello' (up to n)
TEXT String 'This is a text.'

Date/Time Types

PostgreSQL Data Type Java Equivalent Data Type Example Values
DATE java.sql.Date 2024-12-01
TIME [WITH TZ] java.time.LocalTime (or OffsetTime for TZ) 13:45:30, 13:45:30+05:30
TIMESTAMP [WITH TZ] java.time.LocalDateTime (or OffsetDateTime for TZ) 2024-12-01 13:45:30+05:30
INTERVAL java.time.Duration 1 day, 3 hours 15 minutes

Boolean Type

PostgreSQL Data Type Java Equivalent Data Type Example Values
BOOLEAN boolean true, false

Binary Types

PostgreSQL Data Type Java Equivalent Data Type Example Values
BYTEA byte[] new byte[] {0xDE, 0xAD, 0xBE, 0xEF}

JSON and JSONB Types

PostgreSQL Data Type Java Equivalent Data Type Example Values
JSON String '{"key": "value"}'
JSONB String '{"key": "value"}'

Array Types

PostgreSQL Data Type Java Equivalent Data Type Example Values
ARRAY Object[] (or specific type Integer[], String[], etc.) {1, 2, 3}, {A, B}

Geometric Types (skip)

PostgreSQL Data Type Java Equivalent Data Type Example Values
POINT java.awt.Point new Point(1, 2)
LINE String (representation of a line) `'{1, 2, 3}'
POLYGON String (representation of a polygon) '((0,0), (1,1), (2,0))'

Network Address Types

PostgreSQL Data Type Java Equivalent Data Type Example Values
INET java.net.InetAddress '192.168.1.1'
CIDR java.net.InetAddress '192.168.1.0/24'
MACADDR String '08:00:2b:01:02:03'

UUID Type

PostgreSQL Data Type Java Equivalent Data Type Example Values
UUID java.util.UUID UUID.fromString("550e8400-e29b-41d4-a716-446655440000")

Other Special Types

PostgreSQL Data Type Java Equivalent Data Type Example Values
ENUM String 'small', 'medium'
TSVECTOR String 'text'
XML String '<tag>value</tag>'