# Reasons to Use Postgres

DevFeed: [Reasons to Use Postgres](<https://devfeed.tech/articles/why-postgres-41111.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2012/04/30/Why-Postgres/>)

Author: Map

Published: 2012-04-30T20:55:56Z

Content type: opinion

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [functions](<https://devfeed.tech/topics/functions.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [array-agg](<https://devfeed.tech/tags/array-agg.md>), [database](<https://devfeed.tech/tags/database.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [replication](<https://devfeed.tech/tags/replication.md>), [sql](<https://devfeed.tech/tags/sql.md>), [window-functions](<https://devfeed.tech/tags/window-functions.md>)

## AI overview

This article presents reasons to use Postgres, including improved replication, window functions, flexible data types such as arrays, built-in functions, custom languages, and extensions. It also contrasts some capabilities with MySQL, Oracle, and SQL Server.

## Source excerpt

This post is a list of many of the reasons to use Postgres, much this content as well as how to use these features will later be curated within PostgresGuide.com. If you need to get started check out Postgres.app for Mac, or get a Cloud instance at Heroku Postgres for free UPDATE: A part 2 has been posted on Why Use Postgres Very often recently I find myself explaining why Postgres is so great. In an effort to save myself a bit of time in repeating this, I though it best to consolidate why Postgres is so great and dispel some of the historical arguments against it. Replication For some time the biggest argument for MySQL over Postgres was the lack of a good replication story for Postgres. With the release of 8.4 Postgres's story around replication quickly became much better. While replication is indeed very important, are users actually setting up replication each time with MySQL or is it to only have the option later? Window functions This is a feature those familiar with Oracle greatly missed in Postgres. In fact even SQL Server had some form of them, though it was with T-SQL, which adds a bit more complexity to the feature. This is a feature that once you have you can't live without; the other options that existed before were slower and much more complicated. With the release of 8.4 window functions were added to bring Postgres on par with Oracle in this area. For more info on using them check the Postgres docs above or PostgresGuide.com. Flexible Datatypes Creating a custom column is simpler in Postgres than any other database I've used by far. Excluding custom datatypes, even Postgres's out of the box datatypes make Postgres stand out far ahead of other databases. In particular the ability to create a column as an Array of some datatype. Want to store a game of tic-tac-toe in a database, or an array of 1 user's phone numbers? It simply becomes a single column that can contain multiple phone numbers for a user. Functions Need to do some logic outside of standard