-- PostgreSQL Database Creation Script for New Server -- Run as: sudo -u postgres psql -f create-new-database.sql -- Terminate all connections to the database (if it exists) SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'rocketchat_converted' AND pid <> pg_backend_pid(); -- Drop the database if it exists DROP DATABASE IF EXISTS rocketchat_converted; -- Create fresh database CREATE DATABASE rocketchat_converted; -- Create user (if not exists) - UPDATE PASSWORD BEFORE RUNNING! DO $$ BEGIN IF NOT EXISTS (SELECT FROM pg_user WHERE usename = 'rocketchat_user') THEN CREATE USER rocketchat_user WITH PASSWORD 'HKjLgt23gWuPXzEAn3rW'; END IF; END $$; -- Grant database privileges GRANT CONNECT ON DATABASE rocketchat_converted TO rocketchat_user; GRANT CREATE ON DATABASE rocketchat_converted TO rocketchat_user; -- Connect to the new database \c rocketchat_converted; -- Grant schema privileges GRANT CREATE ON SCHEMA public TO rocketchat_user; GRANT USAGE ON SCHEMA public TO rocketchat_user; -- Grant privileges on all future tables and sequences ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO rocketchat_user; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT ON SEQUENCES TO rocketchat_user; -- Display success message \echo 'Database created successfully!' \echo 'IMPORTANT: Update the password for rocketchat_user before proceeding' \echo 'Next steps:' \echo '1. Update the password in this file' \echo '2. Run export-chat-data.sh on your current server' \echo '3. Transfer the exported files to this server' \echo '4. Run import-chat-data.sh on this server'