38 lines
1.2 KiB
SQL
Executable File
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
|