Files
homelab/01_paperless.sql

38 lines
1.2 KiB
SQL
Executable File

-- =============================================================================
-- 01_paperless.sql
-- Legt paperless-User und -Datenbank in postgresql17 an.
--
-- NICHT als Volume eingebunden — manuell per stdin einspielen:
-- docker exec -i postgresql17 psql -U postgres < 01_paperless.sql
--
-- Nur ausführen wenn User/DB noch NICHT existieren (Phase 3a prüfen!).
-- Passwort hier muss mit PAPERLESS_DB_PASSWORD in .env übereinstimmen.
-- =============================================================================
-- User anlegen (idempotent)
DO $$
BEGIN
IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = 'paperless') THEN
CREATE ROLE paperless WITH LOGIN PASSWORD 'affentanz2345';
RAISE NOTICE 'User paperless angelegt.';
ELSE
ALTER ROLE paperless WITH PASSWORD 'affentanz2345';
RAISE NOTICE 'User paperless existiert bereits — Passwort aktualisiert.';
END IF;
END
$$;
-- Datenbank anlegen (idempotent)
SELECT 'CREATE DATABASE paperless OWNER paperless'
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'paperless')\gexec
-- Berechtigungen
GRANT ALL PRIVILEGES ON DATABASE paperless TO paperless;
-- Prüfausgabe
\echo ''
\echo '--- Datenbanken ---'
\l paperless
\echo '--- Rollen ---'
\du paperless