Overview#
What is Doltgres?#

DoltgreSQL, or Doltgres for short, is the Postgres-compatible version of Dolt, the world’s first version controlled SQL database. Doltgres is like Git and Postgres had a baby.
To install on your Linux or Mac system, run:
sudo bash -c 'curl -L https://github.com/dolthub/doltgresql/releases/latest/download/install.sh | bash'
Or on Docker:
$ docker run -e DOLTGRES_PASSWORD=myPassword -p 5432:5432 dolthub/doltgresql:latest
For more details on how to run DoltgreSQL, check out our installation guide.
Differences from Dolt#
Dolt and Doltgres share the same storage engine and implement the same version control interfaces in SQL. Only the SQL dialect/implementation is different. Just connect with a Postgres-compatible client instead of a MySQL-compatible client.
So, what is different?
Doltgres does not have a CLI#
Unlike Dolt, Doltgres does not implement version control features via the command line and must be run as a server. For example, the Dolt CLI command to pull from a remote:
% dolt pull
Can only be accessed in Doltgres through its corresponding SQL function:
% doltgres &
% PGPASSWORD=password psql -h 127.0.0.1 -U postgres -c "SELECT DOLT_PULL()"
Refer to the docs for version control features for details on supported functions and system tables.
Doltgres has schemas, sequences, and other Postgres-only features#
Postgres has features and syntax that MySQL doesn’t, which means Doltgres has features and syntax that Dolt doesn’t. Refer to the rest of the documentation site for more details.