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>
28 lines
1.1 KiB
SQL
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;
|