pg init script to configure db on start
- create users & dbs - setup db permissions - install extensions
This commit is contained in:
parent
1e95ba6c36
commit
3b7a597d8f
|
@ -22,13 +22,37 @@
|
||||||
};
|
};
|
||||||
ports = [ "5432:5432" ];
|
ports = [ "5432:5432" ];
|
||||||
volumes = [
|
volumes = [
|
||||||
"/mnt/postgres/data:/var/lib/postgres/data"
|
"/mnt/postgres:/var/lib/postgresql/data"
|
||||||
"${pkgs.writeScript "load_extensions" ''
|
|
||||||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<EOF
|
# PG init script
|
||||||
create extension postgis;
|
"${pkgs.writeScript "init.sh" ''
|
||||||
select * FROM pg_extension;
|
#!/bin/bash
|
||||||
EOF
|
|
||||||
''}:/docker-entrypoint-initdb.d/"
|
# Create additional databases
|
||||||
|
psql -v --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||||
|
create database bitcoin;
|
||||||
|
create database osm;
|
||||||
|
EOSQL
|
||||||
|
|
||||||
|
# Create additional users
|
||||||
|
psql -v --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||||
|
create user gis;
|
||||||
|
create user satoshi;
|
||||||
|
EOSQL
|
||||||
|
|
||||||
|
# Setup bitcoin db
|
||||||
|
psql -v --username "$POSTGRES_USER" --dbname "bitcoin" <<-EOSQL
|
||||||
|
grant all privileges on database bitcoin to satoshi;
|
||||||
|
EOSQL
|
||||||
|
|
||||||
|
# Setup osm db
|
||||||
|
psql -v --username "$POSTGRES_USER" --dbname "osm" <<-EOSQL
|
||||||
|
grant all privileges on database osm to gis;
|
||||||
|
create extension if not exists postgis;
|
||||||
|
create extension if not exists hstore;
|
||||||
|
EOSQL
|
||||||
|
|
||||||
|
''}:/docker-entrypoint-initdb.d/init.sh"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue