Postgres 的类型系统可以有好几种方法分解开来. 类型可以分为基本类型和复合类型. 基本类型是那些用象C 这样的语言实现的,比如 int4。 这些数据类型通常与那些常被认为是"抽象数据类型"的类型对应; Postgres 对这些数据类型只能通过用户提供的方法来操作, 并且对这些数据类型的特性的理解只限于用户所描述的范围. 复合类型是当用户创建表时创建的,EMP是复合类型的一个例子.
Postgres 对这些类型的存储方法只有一种(在存储表的所有记录的文件里), 但是用户可以从查询语言中"深入观察"这些属性, 而且可以通过在字段上定义索引(这类)方法来优化对这些类型的检索. Postgres 的基础类型可以进一步分为内建类型和用户定义类型. 内建类型(象 int4)是那些编译进入系统里面去的类型. 用户定义类型是那些由用户用后面提到的方法创建的类型.