# PostgreSQL Data Types: an intro

DevFeed: [PostgreSQL Data Types: an intro](<https://devfeed.tech/articles/postgresql-data-types-an-intro-34587.md>)

Original publisher: [Read original article](<https://tapoueh.org/blog/2018/04/postgresql-data-types-an-intro/>)

Author: Dimitri Fontaine PostgreSQL Major Contributor; Author

Published: 2018-04-06T09:32:43Z

Content type: tutorial

Language: en

Sources: [Dimitri Fontaine](<https://devfeed.tech/sources/dimitri-fontaine.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [data type](<https://devfeed.tech/topics/data-type.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [data-type](<https://devfeed.tech/tags/data-type.md>), [database](<https://devfeed.tech/tags/database.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [sql](<https://devfeed.tech/tags/sql.md>), [three-valued-logic](<https://devfeed.tech/tags/three-valued-logic.md>)

## AI overview

An introduction to PostgreSQL data types, explaining how data types enforce attribute properties and enable database-side processing. The article begins with Boolean values and SQL's three-valued logic involving TRUE, FALSE, and NULL.

## Source excerpt

Today, we're going to begin a dive into the PostgreSQL Data Types. As my colleague Will Leinweber said recently in his talk Constraints: a Developer's Secret Weapon that he gave at pgDay Paris: database constraints in Postgres are the last line of defense. The most important of those constraints is the data type, or the attribute domain in normalization slang. By declaring an attribute to be of a certain data type, then PostgreSQL ensures that this property is always true, and then implements advanced processing features for each data type, so that you may push the computation to the data, when needed. This article is the first of a series that will go through many of the PostgreSQL data types, and we open the journey with boolean.