PostgreSQL
PostgreSQL
12

5.0

PostgreSQL free download for Mac

PostgreSQL12

13 August 2020

SQL database server.

Overview

PostgreSQL for Mac is a collection of graphical tools for using and managing PostgreSQL servers, as well as the server itself installable on any Mac running OS X version 10.5.x.

Also included as part of the package is the PGSQLKit framework, an open source framework for developers to leverage the power of PostgreSQL in their own applications.

After many years of development, PostgreSQL has become feature-complete in many areas. This release shows a targeted approach to adding features (e.g., authentication, monitoring, space reuse), and adds capabilities defined in the later SQL standards.

What's new in PostgreSQL

Version 12:

Note: Although Finder indicates that this is version 12, the developer states that this is version 12.3.2.

  • Fix buffer-overflow hazards in SCRAM verifier parsing (Jonathan Katz, Heikki Linnakangas, Michael Paquier)
  • Any authenticated user could cause a stack-based buffer overflow by changing their own password to a purpose-crafted value. In addition to the ability to crash the PostgreSQL server, this could suffice for executing arbitrary code as the PostgreSQL operating system account.
  • A similar overflow hazard existed in libpq, which could allow a rogue server to crash a client or perhaps execute arbitrary code as the client's operating system account.
  • The PostgreSQL Project thanks Alexander Lakhin for reporting this problem. (CVE-2019-10164)
  • Fix assorted errors in run-time partition pruning logic (Tom Lane, Amit Langote, David Rowley)
  • These mistakes could lead to wrong answers in queries on partitioned tables, if the comparison value used for pruning is dynamically determined, or if multiple range-partitioned columns are involved in pruning decisions, or if stable (not immutable) comparison operators are involved.
  • Fix possible crash while trying to copy trigger definitions to a new partition (Tom Lane)
  • Fix failure of ALTER TABLE ... ALTER COLUMN TYPE when the table has a partial exclusion constraint (Tom Lane)
  • Fix failure of COMMENT command for comments on domain constraints (Daniel Gustafsson, Michael Paquier)
  • Prevent possible memory clobber when there are duplicate columns in a hash aggregate's hash key list (Andrew Gierth)
  • Fix incorrect argument null-ness checking during partial aggregation of aggregates with zero or multiple arguments (David Rowley, Kyotaro Horiguchi, Andres Freund)
  • Fix faulty generation of merge-append plans (Tom Lane)
  • This mistake could lead to "could not find pathkey item to sort" errors.
  • Fix incorrect printing of queries with duplicate join names (Philip Dubé)
  • This oversight caused a dump/restore failure for views containing such queries.
  • Fix conversion of JSON string literals to JSON-type output columns in json_to_record() and json_populate_record() (Tom Lane)
  • Such cases should produce the literal as a standalone JSON value, but the code misbehaved if the literal contained any characters requiring escaping.
  • Fix misoptimization of {1,1} quantifiers in regular expressions (Tom Lane)
  • Such quantifiers were treated as no-ops and optimized away; but the documentation specifies that they impose greediness, or non-greediness in the case of the non-greedy variant {1,1}?, on the subexpression they're attached to, and this did not happen. The misbehavior occurred only if the subexpression contained capturing parentheses or a back-reference.
  • Avoid writing an invalid empty btree index page in the unlikely case that a failure occurs while processing INCLUDEd columns during a page split (Peter Geoghegan)
  • The invalid page would not affect normal index operations, but it might cause failures in subsequent VACUUMs. If that has happened to one of your indexes, recover by reindexing the index.
  • Avoid possible failures while initializing a new process's pg_stat_activity data (Tom Lane)
  • Certain operations that could fail, such as converting strings extracted from an SSL certificate into the database encoding, were being performed inside a critical section. Failure there would result in database-wide lockup due to violating the access protocol for shared pg_stat_activity data.
  • Fix race condition in check to see whether a pre-existing shared memory segment is still in use by a conflicting postmaster (Tom Lane)
  • Fix unsafe coding in walreceiver's signal handler (Tom Lane)
  • This avoids rare problems in which the walreceiver process would crash or deadlock when commanded to shut down.
  • Avoid attempting to do database accesses for parameter checking in processes that are not connected to a specific database (Vignesh C, Andres Freund)
  • This error could result in failures like "cannot read pg_class without having selected a database".
  • Avoid possible hang in libpq if using SSL and OpenSSL's pending-data buffer contains an exact multiple of 256 bytes (David Binderman)
  • Improve initdb's handling of multiple equivalent names for the system time zone (Tom Lane, Andrew Gierth)
  • Make initdb examine the /etc/localtime symbolic link, if that exists, to break ties between equivalent names for the system time zone. This makes initdb more likely to select the time zone name that the user would expect when multiple identical time zones exist. It will not change the behavior if /etc/localtime is not a symlink to a zone data file, nor if the time zone is determined from the TZ environment variable.
  • Separately, prefer UTC over other spellings of that time zone, when neither TZ nor /etc/localtime provide a hint. This fixes an annoyance introduced by tzdata 2019a's change to make the UCT and UTC zone names equivalent: initdb was then preferring UCT, which almost nobody wants.
  • Fix ordering of GRANT commands emitted by pg_dump and pg_dumpall for databases and tablespaces (Nathan Bossart, Michael Paquier)
  • If cascading grants had been issued, restore might fail due to the GRANT commands being given in an order that didn't respect their interdependencies.
  • Make pg_dump recreate table partitions using CREATE TABLE then ATTACH PARTITION, rather than including PARTITION OF in the creation command (Álvaro Herrera, David Rowley)
  • This avoids problems with the partition's column order possibly being changed to match the parent's. Also, a partition is now restorable from the dump (as a standalone table) even if its parent table isn't restored; the ATTACH will fail, but that can just be ignored.
  • Fix misleading error reports from reindexdb (Julien Rouhaud)
  • Ensure that vacuumdb returns correct status if an error occurs while using parallel jobs (Julien Rouhaud)
  • Fix contrib/auto_explain to not cause problems in parallel queries (Tom Lane)
  • Previously, a parallel worker might try to log its query even if the parent query were not being logged by auto_explain. This would work sometimes, but it's confusing, and in some cases it resulted in failures like "could not find key N in shm TOC".
  • Also, fix an off-by-one error that resulted in not necessarily logging every query even when the sampling rate is set to 1.0.
  • In contrib/postgres_fdw, account for possible data modifications by local BEFORE ROW UPDATE triggers (Shohei Mochizuki)
  • If a trigger modified a column that was otherwise not changed by the UPDATE, the new value was not transmitted to the remote server.
  • On Windows, avoid failure when the database encoding is set to SQL_ASCII and we attempt to log a non-ASCII string (Noah Misch)
  • The code had been assuming that such strings must be in UTF-8, and would throw an error if they didn't appear to be validly encoded. Now, just transmit the untranslated bytes to the log.
  • Make PL/pgSQL's header files C++-safe (George Tarasov)

Related articles

Join over 500,000 subscribers.

Subscribe for our newsletter with best Mac offers from MacUpdate.

How would you rate PostgreSQL app?

10 Reviews of PostgreSQL

2
Joseluismen
29 October 2018
Version: 11.0

Most helpful

Support for version 11 includes 10.12 to 10.14 only. For version 10, it goes from 10.10 to 10.12. At least in the primary installers, the offers by EnterpriseDB. Is this due to the included extras, or directly by PostgresSQL?
(1)
2
Joseluismen
29 October 2018
Version: 11.0
Support for version 11 includes 10.12 to 10.14 only. For version 10, it goes from 10.10 to 10.12. At least in the primary installers, the offers by EnterpriseDB. Is this due to the included extras, or directly by PostgresSQL?
(1)
Nosuchname
07 October 2010
Version: 9.0.1
The download link points to the 9.0.0 version not 9.0.1. You have to go to the developer's site to download the current version.
(0)
Show comment (1)
SickTeddyBear
24 September 2010
Version: 9.0.0
1. The title of this entry should specifically say "PostgreSQL for Mac" in order to distiguish it from any official PostgreSQL listing. 2. If you're going to download or link to this, it's better to do it from their SourceForge page because their web site isn't as speedy: http://sourceforge.net/projects/pgsqlformac/
(3)
Show comments (2)
5
Cascalheira
14 March 2010
Version: 8.4.2
Indeed the easiest way to install Postgres on a Mac. And it has a proper control panel to start/stop the database.
(1)
Thigre
19 March 2009
Version: 8.3.5
By far the easiest way to have an postgreSQL server running in no time... And I am using mine intensively since then ;-) Great job
(2)
Teksestro
16 November 2008
Version: 8.3.5
Developer, please note: 1) uninstaller is missing 2) query tool installed by default (during the server install) is BAD - it seems to have been compiled as a PPC only, and not as a universal binary, so it won't run on my Intel machine. 3) documentation provided needs urgent updating, including: instructions for manual uninstall (in case the uninstaller goes missing again, or user is unable to run it), instructions for drag-install of client tools, and a basic troubleshooting guide (telling users what to do if the server does not seem to launch) Your efforts to bring PostgreSQL to the Mac are certainly appreciated. Please, keep up the good work.
(2)
Imre-Fazekas
14 November 2008
Version: 8.3.5
I don't find a proper uninstaller for this package. How can i achieve this?
(1)
Sjf
07 November 2007
Version: 8.2.5
On my system, Query Tool for Postgres, and Create User both crash immediately. The other three tools (Create & Backup Database and Service Manager) seem to work ok. Crash log follows... 11/7/07 3:25:53 PM com.apple.launchd[211] ([0x0-0x44044].com.druware.postgresql.CreateUser[2005]) Exited abnormally: Trace/BPT trap 11/7/07 3:29:10 PM [0x0-0x47047].com.druware.postgres.QueryTool[2019] dyld: Library not loaded: @executable_path/../Frameworks/pgCocoaDB.framework/Versions/A/pgCocoaDB 11/7/07 3:29:10 PM [0x0-0x47047].com.druware.postgres.QueryTool[2019] Referenced from: /Applications/PostgreSQL/Query Tool for Postgres.app/Contents/MacOS/Query Tool for Postgres 11/7/07 3:29:10 PM [0x0-0x47047].com.druware.postgres.QueryTool[2019] Reason: image not found 11/7/07 3:29:10 PM com.apple.launchd[211] ([0x0-0x47047].com.druware.postgres.QueryTool[2019]) Exited abnormally: Trace/BPT trap 11/7/07 3:29:29 PM [0x0-0x4a04a].com.druware.postgresql.CreateUser[2026] dyld: Library not loaded: @executable_path/../Frameworks/pgCocoaDB.framework/Versions/A/pgCocoaDB 11/7/07 3:29:29 PM [0x0-0x4a04a].com.druware.postgresql.CreateUser[2026] Referenced from: /Applications/PostgreSQL/Create User.app/Contents/MacOS/Create User 11/7/07 3:29:29 PM [0x0-0x4a04a].com.druware.postgresql.CreateUser[2026] Reason: image not found
(0)
Dru-satori
11 October 2007
Version: 8.2.5
Both downloads on both download locations have been updated to fix this (boneheaded) issue. The problem was twofold. The build machine had an errant copy of the binaries that included a bad build, and the final copy phase had an issue on several of the GUI tools. Both problems have been resolved. Sorry for the confusion.
(0)
Dogbert1
11 October 2007
Version: 8.2.5
This version does not install as "universal" , it installs as intel only.
(0)
Show comments (4)
Free

5.0

App requirements: 
  • Intel 64
  • OS X 10.10.0 or later
License: 
FreeAbsolutely Free

Downloaded & Installed 17,839 times

Similar apps
EnterpriseDB Postgres
EnterpriseDB Postgres
Professional-grade distribution of PostgreSQL.
Is this app is similar to EnterpriseDB Postgres? Vote to improve the quality of this list.
Vote results
0
Upvotes
3
Total score
0
Downvotes
MySQL
MySQL
Industry-leading open-source SQL database.
Is this app is similar to MySQL? Vote to improve the quality of this list.
Vote results
1
Upvotes
1
Total score
0
Downvotes
SQLPro for Postgres
SQLPro for Postgres
Database management studio for Postgres.
Is this app is similar to SQLPro for Postgres? Vote to improve the quality of this list.
Vote results
1
Upvotes
1
Total score
0
Downvotes
Postico
Postico
A modern PostgreSQL client.
Is this app is similar to Postico? Vote to improve the quality of this list.
Vote results
0
Upvotes
1
Total score
0
Downvotes
Postgres App
Postgres App
Full-featured PostgreSQL in a single package.
Is this app is similar to Postgres App? Vote to improve the quality of this list.
Vote results
1
Upvotes
1
Total score
0
Downvotes