Files
Art-gallery/db/split-dev-prod.sql
T
Danila KhodjaefandCursor 2edf577faf Add dev/prod environments with TrueNAS Docker production deploy.
Split PostgreSQL into gallery_dev and gallery_prod, add Docker/Gitea deploy tooling,
SMB image sync, pgAdmin split script, dev:web on Keenetic :5173, and operator docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 15:15:19 +03:00

28 lines
1.1 KiB
SQL

-- One-time dev/prod database split on TrueNAS PostgreSQL.
--
-- Preferred: pgAdmin on dev PC — open db/split-dev-prod-pgadmin.sql (step-by-step).
-- Alternative (if psql is installed): psql -h 192.168.10.122 -U postgres -d postgres -f db/split-dev-prod.sql
--
-- NOTE: CREATE DATABASE cannot run inside a DO block; this file uses standalone statements.
-- Disconnect clients
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname IN ('Gallery', 'gallery', 'gallery_prod', 'gallery_dev')
AND pid <> pg_backend_pid();
-- Rename legacy → gallery_prod (run ONE of these; comment out the other)
ALTER DATABASE "Gallery" RENAME TO gallery_prod;
-- ALTER DATABASE gallery RENAME TO gallery_prod;
-- Disconnect from prod before template clone
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = 'gallery_prod' AND pid <> pg_backend_pid();
-- Clone dev from prod (skip if gallery_dev already exists)
CREATE DATABASE gallery_dev WITH TEMPLATE gallery_prod;
GRANT ALL PRIVILEGES ON DATABASE gallery_dev TO gallery;
GRANT ALL PRIVILEGES ON DATABASE gallery_prod TO gallery;