Installazione di PostgreSQL 19.0 Beta su MacOS

PostgreSQL e' un potente DBMS relazionale Open Source noto per la robustezza e la ricchezza di funzionalita'. Questo documento descrive l'installazione della versione PostgreSQL 19.0 Beta1 [NdA che e' disponibile da oggi 2026-06-04] su MacOS.
Si tratta di un'installazione particolare perche' effettuata su una versione Beta, senza strumenti di gestione dei pacchetti e su un sistema operativo generalmente non utilizzato per ospitate un DB server.
Per una descrizione di un'installazione normale consigliamo di leggere piuttosto: Installazione di PostgreSQL 12+ su Ubuntu, Installazione di PostgreSQL 11 su CentOS 8.

Ma se davvero volete installare una versione Beta su vostro Mac... continuate a leggere!

Installazione

La modalita' che seguiremo non e' quella consigliata per un'installazione di produzione su MacOS e non e' quella che uso abitualmente [NdA la mia preferenza va ad Homebrew].
Ma con le versioni beta non ci sono molte alternative: o si compilano i sorgenti o si scaricano i binari, come faremo nel seguito.

Una volta scaricati e decompressi i binari gentilmente compilati da EDB e disponibili sul link dedicato, i passi per installare PostgreSQL 19.0-beta1 sono:

xattr -rd com.apple.quarantine ~/Downloads/postgresql-19.0-beta1-osx-binaries export PG19=~/Downloads/postgresql-19.0-beta1-osx-binaries/pgsql export PATH="$PG19/bin:$PATH" export PGPORT=5433 mkdir -p ~/pg19beta/data initdb -D ~/pg19beta/data vi ~/pg19beta/data/postgresql.conf # port=5433 # shared_preload_libraries='pg_stat_statements,pg_plan_advice,pg_stash_advice' pg_ctl -D ~/pg19beta/data -l ~/pg19beta/logfile start psql postgres create database mydb; ^D psql mydb CREATE EXTENSION pg_stat_statements; CREATE EXTENSION pg_stash_advice; alter user postgres with password 'XYZ';

Gia' fatto!

I comandi dovrebbero essere chiari...
Ma se non lo fossero ecco la descrizione di ogni passo:

Ora e' possibile provare le nuove funzionalita' disponibili nella versione PostgreSQL19: REPACK, pg_stat_advice, SQL/PGQ, ON CONFLICT DO SELECT, 64-bit MultiXactOffset, MERGE/SPLIT PARTITIONS, ...

Gestione

Con la configurazione effettuata e' possibile utilizzare in parallelo due differenti versioni di PostgreSQL sullo stesso Mac. Ad esempio possiamo utilizzare la versione installata con Homebrew senza alcuna variazione ai comandi:

% brew services list Name Status User File ... postgresql@18 started user ~/Library/LaunchAgents/homebrew.mxcl.postgresql@18.plist % psql psql (18.4 (Homebrew)) user=# select version(); version ---------------------------------------------------------------------------------------------------------------------------------- PostgreSQL 18.4 (Homebrew) on aarch64-apple-darwin25.4.0, compiled by Apple clang version 21.0.0 (clang-2100.0.123.102), 64-bit

Mentre per utilizzare la versione 19.0 Beta1 e' sufficiente impostare alcune variabili d'ambiente e poi lanciare lo stesso comando:

% export PG19=~/Downloads/postgresql-19.0-beta1-osx-binaries/pgsql % export PATH="$PG19/bin:$PATH" % export PGPORT=5433 % psql psql (19beta1) user=# select version(); version -------------------------------------------------------------------------------------------------------------------- PostgreSQL 19beta1 on x86_64-apple-darwin24.6.0, compiled by Apple clang version 17.0.0 (clang-1700.6.3.2), 64-bit

Intallazione pgvector

Per installare l'ultima versione di pg_vector sulla versione PG19 Beta1 ho dovuto applicare qualche modifica:

cd /tmp git clone --branch v0.8.3 https://github.com/pgvector/pgvector.git cd pgvector # make clean # Se erano state eseguite compilazioni precedenti... CURRENT_SDK=$(xcrun --show-sdk-path) make \ PG_CONFIG=/Users/meo/Downloads/postgresql-19.0-beta1-osx-binaries/pgsql/bin/pg_config \ CFLAGS="-O2 -arch arm64 -isysroot $CURRENT_SDK" \ CPPFLAGS="-isysroot $CURRENT_SDK" \ LDFLAGS="-arch arm64 -isysroot $CURRENT_SDK" make install \ PG_CONFIG=/Users/meo/Downloads/postgresql-19.0-beta1-osx-binaries/pgsql/bin/pg_config \ CFLAGS="-O2 -arch arm64 -isysroot $CURRENT_SDK" \ CPPFLAGS="-isysroot $CURRENT_SDK" \ LDFLAGS="-arch arm64 -isysroot $CURRENT_SDK" # Riavvio PostgreSQL e da psql CREATE EXTENSION vector;

News

Il 16 luglio 2026 e' stata pubblicata la versione PG 19 Beta2!
Non vi sono novita' particolari ma solo una serie di fix come riportato nell'annuncio ufficiale.

Varie ed eventuali

Su MacOS la rimozione della quarantena dai file scaricati con xattr evita il noioso problema di dover approvare manualmente ogni singolo eseguibile ed ogni libreria:

Naturalmente va fatto solo se si e' certi della provenienza dei file.

Buon divertimento!


Titolo: Installazione di PostgreSQL 19.0-Beta1 su MacOS
Livello: Avanzato (3/5)
Data: 4 Giugno 2026
Versione: 1.0.2 - 16 Luglio 2026
Autore: mail [AT] meo.bogliolo.name