Answers.Body: <p>This isn't actual first-hand experience talking, but from what I've read, Postgres will start to see gains when we're talking about very large data sets, either in terms of the size of the columns, or the number of rows in a particular table.</p>
  
  <p>As mentioned in the quote above, Postgres also has some other nicities as well. The downside is that there is less tooling around Postgres than there is MySQL, so while you'll be able to find GUI clients, they aren't there in quantity or quality compared to MySQL.</p>
  
  <p>I have had <a href="https://devmode.fm/" rel="nofollow noreferrer">devMode.fm</a> up and running with Craft 3 and Postgres since day 1, in part to get <a href="https://github.com/nystudio107/craft-scripts" rel="nofollow noreferrer">Craft-Scripts</a> working with it (which it does) since it's a supported database type by Craft now, and then also in part just to kick the tires.</p>
  
  <p>What I can tell you is that everything "just works" from a Craft POV. I haven't had any issues at all with the Craft APIs, and since I do the database syncing with <a href="https://github.com/nystudio107/craft-scripts" rel="nofollow noreferrer">Craft-Scripts</a>, the tooling hasn't matter either (but the editor I user is PhpStorm, which can connect to Postgres databases anyway).</p>
  
  <p>You will most likely have to learn a bit about about Postgres handles access permissions, because it's quite different from MySQL, but that's not so bad really.</p>
  
  <p>After using it for a while, my conclusion is that it works fine; but on a small site like <a href="https://devmode.fm/" rel="nofollow noreferrer">devMode.fm</a>, it probably makes absolutely no difference. Because it doesn't have any large db columns or massive numbers of rows of the like. You'd never notice the difference from a frontend/AdminCP POV in terms of which db driver you're using, which is a testament to the work that P&amp;T and the Yiisoft folks have done.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-03-30T07:51:26.593Z
Answers.Text: Thank you Andrew! Do you have any range where we're talking about very large data sets? Is it something more like 1,000 or 100,000 entries? And in case a fast-growing Craft website, is it still possible and not so hard to move from MySQL to PostgreSQL?
Answers.UserDisplayName: Romain P.
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-03-31T21:41:06.677Z
Answers.Text: I honestly don't know the answer, but perhaps these links will help: https://eng.uber.com/mysql-migration/ & https://www.2ndquadrant.com/en/postgresql/postgresql-vs-mysql/ & https://www.upguard.com/articles/postgres-vs-mysql & https://insights.dice.com/2015/03/19/why-i-choose-postgresql-over-mysqlmariadb/ -- my opinion is that for 99% of Craft CMS websites, it doesn't matter which you pick
Answers.UserDisplayName: andrew.welch
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-03-29T16:22:31.260Z
Answers.LastActivityDate: 2018-03-29T20:29:02.157Z
Answers.LastEditDate: 2018-03-29T20:29:02.157Z
Answers.UserDisplayName: andrew.welch
Body: <p>Craft 3 now supports PostgreSQL.</p>
  
  <p>I know this a very general question, but:</p>
  
  <ul>
  <li>I have absolutely no experience with PostgreSQL</li>
  <li>I don't know when should I use it instead of MySQL</li>
  </ul>
  
  <p>To quote <a href="https://github.com/craftcms/cms/issues/832" rel="nofollow noreferrer">Bob Olde Hampsink</a>:</p>
  
  <blockquote>
    <p>PostgreSQL is the most innovative and hot database engine at the
    moment. It has better UTF-8 support and better overall performance.</p>
    
    <p>Also, for example, on Heroku it is much cheaper to host with Postgres
    than with MySQL. Thus it becomes more attractive for people to pick a
    CMS/framework with Postgres support.</p>
  </blockquote>
  
  <p>Is there another good reasons to know, to choose one instead of the other when starting a new project? For example, in general what would be the gains in terms of performance, compared to MySQL?</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-03-29T16:47:05.057Z
Comments.Text: Your quote is from Bob Olde Hampsink not Brad Bell : )
Comments.UserDisplayName: Alan Miller
Tags: <database><craft3><postgresql>
Title: Craft 3 : What are the advantages to use PostgreSQL and when should I use it instead of MySQL?
ThreadText: # Craft 3 : What are the advantages to use PostgreSQL and when should I use it instead of MySQL?
  
  (Asked by: username_0 on 2018-03-29)
  
  Craft 3 now supports PostgreSQL.
  
  I know this a very general question, but:
  
  * I have absolutely no experience with PostgreSQL
  * I don't know when should I use it instead of MySQL
  
  To quote [Bob Olde Hampsink](https://github.com/craftcms/cms/issues/832):
  
  > PostgreSQL is the most innovative and hot database engine at the
  > moment. It has better UTF-8 support and better overall performance.
  >
  > Also, for example, on Heroku it is much cheaper to host with Postgres
  > than with MySQL. Thus it becomes more attractive for people to pick a
  > CMS/framework with Postgres support.
  
  Is there another good reasons to know, to choose one instead of the other when starting a new project? For example, in general what would be the gains in terms of performance, compared to MySQL?
  
  **Tags:** database, craft3, postgresql
  
  > **Comments:**
  > **username_1**: Your quote is from Bob Olde Hampsink not Brad Bell : )  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2018-03-29. Score: 4 | Accepted answer
  
  This isn't actual first-hand experience talking, but from what I've read, Postgres will start to see gains when we're talking about very large data sets, either in terms of the size of the columns, or the number of rows in a particular table.
  
  As mentioned in the quote above, Postgres also has some other nicities as well. The downside is that there is less tooling around Postgres than there is MySQL, so while you'll be able to find GUI clients, they aren't there in quantity or quality compared to MySQL.
  
  I have had [devMode.fm](https://devmode.fm/) up and running with Craft 3 and Postgres since day 1, in part to get [Craft-Scripts](https://github.com/nystudio107/craft-scripts) working with it (which it does) since it's a supported database type by Craft now, and then also in part just to kick the tires.
  
  What I can tell you is that everything "just works" from a Craft POV. I haven't had any issues at all with the Craft APIs, and since I do the database syncing with [Craft-Scripts](https://github.com/nystudio107/craft-scripts), the tooling hasn't matter either (but the editor I user is PhpStorm, which can connect to Postgres databases anyway).
  
  You will most likely have to learn a bit about about Postgres handles access permissions, because it's quite different from MySQL, but that's not so bad really.
  
  After using it for a while, my conclusion is that it works fine; but on a small site like [devMode.fm](https://devmode.fm/), it probably makes absolutely no difference. Because it doesn't have any large db columns or massive numbers of rows of the like. You'd never notice the difference from a frontend/AdminCP POV in terms of which db driver you're using, which is a testament to the work that P&T and the Yiisoft folks have done.
  
  > **Comments:**
  > **username_0**: Thank you Andrew! Do you have any range where we're talking about very large data sets? Is it something more like 1,000 or 100,000 entries? And in case a fast-growing Craft website, is it still possible and not so hard to move from MySQL to PostgreSQL?  
  > **username_2**: I honestly don't know the answer, but perhaps these links will help: https://eng.uber.com/mysql-migration/ & https://www.2ndquadrant.com/en/postgresql/postgresql-vs-mysql/ & https://www.upguard.com/articles/postgres-vs-mysql & https://insights.dice.com/2015/03/19/why-i-choose-postgresql-over-mysqlmariadb/ -- my opinion is that for 99% of Craft CMS websites, it doesn't matter which you pick  
  
  ---
  
  