59 lines
1.5 KiB
Bash
59 lines
1.5 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
bindir=$(dirname "$(readlink -fm "$0")")
|
||
|
source "${bindir}/../.env"
|
||
|
|
||
|
if [ -z $POSTGRES_REALTIME_PASSWORD ]; then
|
||
|
echo "POSTGRES_REALTIME_PASSWORD was missing in env"
|
||
|
exit 5
|
||
|
fi
|
||
|
|
||
|
## Create the futureporn Strapi database
|
||
|
kubectl -n futureporn exec postgres -- psql -U postgres --command "\
|
||
|
CREATE DATABASE futureporn_db \
|
||
|
WITH \
|
||
|
OWNER = postgres \
|
||
|
ENCODING = 'UTF8' \
|
||
|
LOCALE_PROVIDER = 'libc' \
|
||
|
CONNECTION LIMIT = -1 \
|
||
|
IS_TEMPLATE = False;"
|
||
|
|
||
|
|
||
|
## Create the futureporn realtime database (for NOTIFY/AWAIT pubsub)
|
||
|
kubectl -n futureporn exec postgres -- psql -U postgres --command "\
|
||
|
CREATE DATABASE futureporn_realtime \
|
||
|
WITH \
|
||
|
OWNER = postgres \
|
||
|
ENCODING = 'UTF8' \
|
||
|
LOCALE_PROVIDER = 'libc' \
|
||
|
CONNECTION LIMIT = -1 \
|
||
|
IS_TEMPLATE = False;"
|
||
|
|
||
|
|
||
|
## create futureporn user
|
||
|
kubectl -n futureporn exec postgres -- psql -U postgres --command "\
|
||
|
CREATE ROLE futureporn \
|
||
|
WITH \
|
||
|
LOGIN \
|
||
|
NOSUPERUSER \
|
||
|
NOCREATEDB \
|
||
|
NOCREATEROLE \
|
||
|
INHERIT \
|
||
|
NOREPLICATION \
|
||
|
NOBYPASSRLS \
|
||
|
CONNECTION LIMIT -1 \
|
||
|
PASSWORD '$POSTGRES_REALTIME_PASSWORD';"
|
||
|
|
||
|
|
||
|
## grant futureporn user all privs
|
||
|
kubectl -n futureporn exec postgres -- psql -U postgres --command "\
|
||
|
GRANT ALL PRIVILEGES ON DATABASE futureporn_realtime TO futureporn;"
|
||
|
|
||
|
|
||
|
## import schema
|
||
|
## I have a file, schema.psql that I want to import. How do I do that?
|
||
|
# kubectl -n futureporn exec postgres -- psql -U postgres --command "\ ;"
|
||
|
kubectl -n futureporn exec postgres -- psql -U postgres -f - < "${bindir}/postgres-2024-05-09-futureporn_db-schema-only.psql"
|
||
|
|
||
|
|