A powerful, open source relational database system

PostgreSQL for Mac

PostgreSQL 15.4

  -  362 MB  -  Freeware

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system.

Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of PostgreSQL 15.4.


For those interested in downloading the most recent release of PostgreSQL for Mac or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

  • PostgreSQL 15.4 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    PostgreSQL 15.4 Screenshot 1
  • PostgreSQL 15.4 Screenshot 2
  • PostgreSQL 15.4 Screenshot 3

What's new in this version:

- Fix for handling of NULL values in BRIN indexes. This fix does not apply to existing BRIN indexes -- you will need to run REINDEX to fix any BRIN indexes used to search for NULL values
- Avoid leaving a corrupted database behind when DROP DATABASE is interrupted
- Several fixes for partitioned indexes
- Fix ALTER EXTENSION ... SET SCHEMA to error if the extension contains any objects outside the extension's schema
- Fix dependency tracking of access methods for tables
- Don't use partial unique indexes for uniqueness proofs in the planner
- Correctly handle sub-SELECTs in RLS policy expressions and security-barrier views when expanding rule actions
- Fix race conditions in conflict detection for SERIALIZABLE transaction isolation mode
- Fix intermittent failures when trying to update a field of a composite column that requires out-of-line TOASTing
- Fix several memory leaks that occurred during the lifespan of a query
- Accept fractional seconds in the input to the jsonpath datetime() method
- Increase token limit in pg_hba.conf and pg_ident.conf to 10,240 bytes
- An out-of-memory error from JIT will now cause a PostgreSQL FATAL error instead of a C++ exception
- Allow VACUUM to continue after detecting certain types of B-tree index corruption. While this fix allows VACUUM to continue, you still need to REINDEX to fix the broken index
- Avoid double replay of prepared transactions during crash recovery
- Ensure that checkpoint calls fsync on a newly created but empty table
- Silence "missing contrecord" errors to avoid logging inaccurate messages from pg_waldump and walsender
- Fix the [fuzzystrmatch] Soundex difference() function to correctly handle empty input
- Several fixes for intarray, including disallowing oversize input arrays in a GiST index
- Fix pg_dump to correctly handle SQL-standard function bodies (BEGIN ATOMIC) that require parse-time dependencies on unique indexes