ssl_key_file = "/var/lib/acme/${domain}/key.pem";
unix_socket_permissions = "0770";
};
- authentication = lib.mkForce ''
+ # If one record is chosen and the auth fails,
+ # subsequent records are not considered.
+ authentication = ''
# CONNECTION DATABASE USER AUTH OPTIONS
local all postgres peer map=admin
local samerole all peer map=user
# though loading OpenConcerto's initial SQL
# takes 1m40s instead of 40s :\
};
+/*
services.syncoid.commands = {
"${hostName}/var/postgresql" = {
sendOptions = "raw";
target = "backup@mermet.${domain}:rpool/backup/${hostName}/var/postgresql";
};
};
+*/
services.sanoid.datasets = {
"${hostName}/var/postgresql" = {
use_template = [ "snap" ];
REVOKE ALL ON DATABASE template0 FROM public;
REVOKE ALL ON DATABASE template1 FROM public;
REVOKE ALL ON SCHEMA public FROM public;
- GRANT ALL ON SCHEMA public TO ${postgresql.superUser};
+ GRANT ALL ON SCHEMA public TO "${postgresql.superUser}";
REVOKE ALL ON ALL TABLES IN SCHEMA public FROM public;
- GRANT ALL ON ALL TABLES IN SCHEMA public TO ${postgresql.superUser};
+ GRANT ALL ON ALL TABLES IN SCHEMA public TO "${postgresql.superUser}";
-- Disallow access to database and user names for everyone
REVOKE ALL ON pg_catalog.pg_user FROM public;
local template=''${template:-template1}
$PSQL -tAc "SELECT 1 FROM pg_catalog.pg_database WHERE datname = '$db'" | grep -q 1 || {
$PSQL -d "$template" -AqtX --set ON_ERROR_STOP=1 -f - <<EOF
- CREATE ROLE $owner NOSUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT LOGIN PASSWORD '$pass';
- CREATE DATABASE $db WITH OWNER=$owner
+ CREATE ROLE "$owner" NOSUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT ''${pass:+LOGIN PASSWORD '$pass'};
+ CREATE DATABASE "$db" WITH OWNER="$owner"
''${encoding:+ENCODING='$encoding'}
''${lc_collate:+LC_COLLATE='$lc_collate'}
''${lc_ctype:+LC_CTYPE='$lc_ctype'}
''${tablespace:+TABLESPACE='$tablespace'}
''${connection_limit:+CONNECTION LIMIT=$connection_limit}
;
- REVOKE ALL ON DATABASE $db FROM public;
+ REVOKE ALL ON DATABASE "$db" FROM public;
EOF
- $PSQL -d $db -AqtX --set ON_ERROR_STOP=1 -f - <<EOF
+ $PSQL -d "$db" -AqtX --set ON_ERROR_STOP=1 -f - <<EOF
-- Grant all rights to the public schema in the new database to the main user
- GRANT ALL ON SCHEMA public TO $owner WITH GRANT OPTION;
+ GRANT ALL ON SCHEMA public TO "$owner" WITH GRANT OPTION;
EOF
$PSQL -d "$db" -AqtX --set ON_ERROR_STOP=1 -f -
}
local db=$1
local user=$2
$PSQL -tAc "SELECT 1 FROM pg_catalog.pg_roles WHERE rolname='$user'" | grep -q 1 ||
- $PSQL -d $db -AqtX --set ON_ERROR_STOP=1 -f - <<EOF
- CREATE ROLE $user NOSUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT LOGIN ENCRYPTED PASSWORD '$pass';
- GRANT USAGE ON SCHEMA public TO $user;
- GRANT CONNECT,TEMPORARY ON DATABASE $db TO $user;
+ $PSQL -d "$db" -AqtX --set ON_ERROR_STOP=1 -f - <<EOF
+ CREATE ROLE "$user" NOSUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT ''${pass:+LOGIN ENCRYPTED PASSWORD '$pass'};
+ GRANT USAGE ON SCHEMA public TO "$user";
+ GRANT CONNECT,TEMPORARY ON DATABASE "$db" TO "$user";
EOF
}
'';