Prisma DATABASE_URL passwords with @ confuse libpq URI parsing (host Montime@127.0.0.1). Repair scripts now prefer explicit PUBLISHER_DSN. Co-authored-by: Cursor <cursoragent@cursor.com>
17 lines
970 B
Bash
17 lines
970 B
Bash
# Copy to deploy/replicas.env on the publisher host (gitignored — holds passwords).
|
|
#
|
|
# One DSN per line (or comma). Do not put spaces between URLs.
|
|
# Prefer URI form. Password must not contain @ : / # ? — or URL-encode it.
|
|
# Keyword form (host=...) is OK only because the script splits on newlines, not spaces.
|
|
# The user must be able to run ALTER TABLE + ALTER SUBSCRIPTION + TRUNCATE on each replica.
|
|
REPLICA_DSNS="postgresql://USER:PASSWORD@SLAVE_1_IP:5433/superadmin
|
|
postgresql://USER:PASSWORD@SLAVE_2_IP:5432/superadmin"
|
|
|
|
# Read-only app user on replicas (program-settings API). Grants re-applied after data repair.
|
|
# REPLICA_APP_DB_USER=montime
|
|
|
|
# Publisher DB for pg_dump / count checks. Required when DATABASE_URL password has @
|
|
# (Prisma tolerates it; libpq URI parsing breaks → host "Montime@127.0.0.1").
|
|
# Use postgres superuser on localhost; URL-encode special chars (@ → %40).
|
|
# PUBLISHER_DSN="postgresql://postgres:PASS@127.0.0.1:5432/superadmin"
|