Getting Started
Download the latest release of
doltgres
Put
doltgres
on yourPATH
Run
doltgres
. This will create apostgres
user (with a password ofpassword
) and apostgres
database in~/doltgres/databases
(add the--data-dir
argument or change theDOLTGRES_DATA_DIR
environment variable to use a different directory).
$ doltgres
Successfully initialized dolt data repository.
Starting server with Config HP="localhost:5432"|T="28800000"|R="false"|L="info"|S="/tmp/mysql.sock"
Make sure you have Postgres version 15 or higher installed. I used Homebrew to install Postgres on my Mac. This requires I manually add
/opt/homebrew/opt/postgresql@15/bin
to my path. On Postgres version 14 or lower,\
commands (i.e.\d
,\l
) do not yet work with Doltgres.
export PATH="/opt/homebrew/opt/postgresql@15/bin:$PATH"
Open a new terminal. Connect with the following command:
psql -h localhost -U postgres
and enter the passwordpassword
when prompted. This will connect to thepostgres
database with thepostgres
user.
$ psql -h 127.0.0.1 -U postgres
Password for user postgres:
psql (15.4 (Homebrew), server 15.0)
Type "help" for help.
postgres=>
Create a
getting_started
database. Create thegetting_started
example tables.
postgres=> create database getting_started;
--
(0 rows)
postgres=> \c getting_started;
psql (15.4 (Homebrew), server 15.0)
You are now connected to database "getting_started" as user "postgres".
getting_started=> create table employees (
id int8,
last_name text,
first_name text,
primary key(id));
--
(0 rows)
getting_started=> create table teams (
id int8,
team_name text,
primary key(id));
--
(0 rows)
getting_started=> create table employees_teams(
team_id int8,
employee_id int8,
primary key(team_id, employee_id),
foreign key (team_id) references teams(id),
foreign key (employee_id) references employees(id));
--
(0 rows)
getting_started=> \d
List of relations
Schema | Name | Type | Owner
--------+-----------------+-------+----------
public | employees | table | postgres
public | employees_teams | table | postgres
public | teams | table | postgres
(3 rows)
Make a Dolt Commit.
getting_started=> select * from dolt_status;
table_name | staged | status
------------------------+--------+-----------
public.employees | 0 | new table
public.employees_teams | 0 | new table
public.teams | 0 | new table
(3 rows)
getting_started=> select dolt_add('teams', 'employees', 'employees_teams');
status
--------
0
(1 row)
getting_started=> select * from dolt_status;
table_name | staged | status
------------------------+--------+-----------
public.employees | 1 | new table
public.employees_teams | 1 | new table
public.teams | 1 | new table
(3 rows)
getting_started=> select dolt_commit('-m', 'Created initial schema');
hash
----------------------------------
peqq98e2dl5gscvfvic71e7j6ne34533
(1 row)
View the Dolt log.
getting_started=> select * from dolt_log;
commit_hash | committer | email | date | message
----------------------------------+-----------+--------------------+---------------------+----------------------------
peqq98e2dl5gscvfvic71e7j6ne34533 | postgres | [email protected] | 2023-11-01 22:08:04 | Created initial schema
in7bk735qa6p6rv6i3s797jjem2pg4ru | timsehn | [email protected] | 2023-11-01 22:04:03 | Initialize data repository
(2 rows)
Continue with Dolt Getting Started to test out more Doltgres versioning functionality.
Last updated