# PostgreSQL Data Types: Text Processing

DevFeed: [PostgreSQL Data Types: Text Processing](<https://devfeed.tech/articles/postgresql-data-types-text-processing-34594.md>)

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

Author: Dimitri Fontaine PostgreSQL Major Contributor; Author

Published: 2018-04-11T21:15:42Z

Content type: tutorial

Language: en

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

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Regular expression](<https://devfeed.tech/topics/regular-expression.md>), [pattern matching](<https://devfeed.tech/topics/pattern-matching.md>), [CSV](<https://devfeed.tech/topics/csv.md>)

Tags: [csv](<https://devfeed.tech/tags/csv.md>), [dataset](<https://devfeed.tech/tags/dataset.md>), [functions](<https://devfeed.tech/tags/functions.md>), [pattern-matching](<https://devfeed.tech/tags/pattern-matching.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [processing](<https://devfeed.tech/tags/processing.md>), [regexp](<https://devfeed.tech/tags/regexp.md>), [regular](<https://devfeed.tech/tags/regular.md>), [text](<https://devfeed.tech/tags/text.md>)

## AI overview

This tutorial introduces PostgreSQL text-processing functions and operators, including string functions, aggregates, regular expressions, and regexp_split_to_table(). It also discusses text and varchar data types and demonstrates processing comma-separated and hierarchical values in a CSV dataset.

## Source excerpt

Continuing our series of PostgreSQL Data Types today we're going to introduce some of the PostgreSQL text processing functions. There's a very rich set of PostgreSQL functions to process text -- you can find them all in the string functions and operators documentation chapter -- with functions such as overlay(), substring(), position() or trim(). Or aggregates such as string_agg(). There are also regular expression functions, including the very powerful regexp_split_to_table(). In this article we see practical example putting them in practice.