Data Types and Columns

Data types restrict the kind of data that can be stored for each column.

PostgreSQL natively supports a rich set of data types. Users can also extend it by adding customised types using CREATE TYPE command.

We will now look at the list of native types that are supported:

Numeric Types


  • integer
  • smallint
  • bigint


  • serial
  • smallserial
  • bigserial

Arbitrary precision

  • numeric

Floating point types

  • real
  • double precision

Character Types

  • character varying(n) / varchar(n)
  • character(n)
  • text

Boolean Type

  • boolean with state of true/false

Date Time Types

  • date
  • time
  • timestamp
  • interval


Universally Unique Identifiers are 128-bit numbers used to uniquely identify a piece of information and typically in database context it is used to identify a row.

Geometric Types

  • point
  • line
  • box
  • path
  • lseg
  • polygon
  • circle

JSON Types

  • json
  • jsonb (binary form for faster execution)

There are more such supported types including monetary for money related, binary types for raw byte storage, network address types for IP address references, arrays etc. You can read more about all available PostgreSQL Data Types from their official docs.


Get Started with GraphQL Now

Hasura Cloud gives you a fully managed, production ready GraphQL API as a service to help you build modern apps faster.
Ready to get started?
Start for free on Hasura Cloud or you could contact our sales team for a detailed walk-through on how Hasura may benefit your business.
Stay in the know
Sign up for full access to our community highlights, new features, and occasional baby animal gifs! Oh, and we have a strict no-spam rule. โœŒ๏ธ