updated description of database preparation
This commit is contained in:
@@ -56,12 +56,21 @@ energy-consumption-ingester/
|
|||||||
4. **Set up PostgreSQL database:**
|
4. **Set up PostgreSQL database:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Create database
|
# Connect to Postgres14 host
|
||||||
createdb energy_consumption
|
psql -U <POSTGRES_ADMIN> -h <POSTGERS_HOST> -p <POSTGERS_PORT>
|
||||||
|
|
||||||
# Create user (optional - run the script)
|
# Create database user
|
||||||
chmod +x scripts/create_db_user.sh
|
CREATE USER <DB_USER> WITH PASSWORD <DB_PASSWORD>;
|
||||||
./scripts/create_db_user.sh
|
|
||||||
|
# Create database
|
||||||
|
CREATE DATABASE <DB_NAME>;
|
||||||
|
|
||||||
|
# Grant full privileges on database to user
|
||||||
|
GRANT ALL PRIVILEGES ON DATABASE <DB_NAME> TO <DB_USER>;
|
||||||
|
|
||||||
|
# (Optional) verify new user and database creation
|
||||||
|
\q
|
||||||
|
psql -U <DB_USER> -h <POSTGRES_HOST> -p <POSTGERS_PORT>
|
||||||
```
|
```
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|||||||
@@ -1,42 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e # Exit immediately if a command exits with a non-zero status.
|
|
||||||
|
|
||||||
# --- 1. Set up Connection Variables ---
|
|
||||||
HOST=$POSTGRES_HOST
|
|
||||||
PORT=$POSTGRES_PORT
|
|
||||||
DB_NAME=$NEW_DB_NAME
|
|
||||||
DB_USER=$NEW_DB_USER
|
|
||||||
DB_PASSWORD=$NEW_DB_PASSWORD
|
|
||||||
|
|
||||||
# --- 2. Build the SQL Commands ---
|
|
||||||
# NOTE: The IF NOT EXISTS ensures the script can be run safely multiple times.
|
|
||||||
SQL_COMMANDS=$(cat <<-END_SQL
|
|
||||||
-- Create user role with login and password
|
|
||||||
DO
|
|
||||||
\$body\$
|
|
||||||
BEGIN
|
|
||||||
IF NOT EXISTS (
|
|
||||||
SELECT
|
|
||||||
FROM pg_catalog.pg_user
|
|
||||||
WHERE usename = '$DB_USER') THEN
|
|
||||||
CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASSWORD';
|
|
||||||
END IF;
|
|
||||||
END
|
|
||||||
\$body\$;
|
|
||||||
|
|
||||||
-- Create database owned by the new user (if it doesn't exist)
|
|
||||||
SELECT 'CREATE DATABASE $DB_NAME OWNER $DB_USER'
|
|
||||||
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '$DB_NAME')\gexec
|
|
||||||
END_SQL
|
|
||||||
)
|
|
||||||
|
|
||||||
# --- 3. Execute the SQL Commands ---
|
|
||||||
echo "Attempting to connect to $HOST to execute SQL..."
|
|
||||||
echo "$SQL_COMMANDS" | psql \
|
|
||||||
--host=$HOST \
|
|
||||||
--port=$PORT \
|
|
||||||
--username=$POSTGRES_ADMIN_USER \
|
|
||||||
--dbname=postgres \
|
|
||||||
--set ON_ERROR_STOP=on
|
|
||||||
|
|
||||||
echo "PostgreSQL database '$DB_NAME' and user '$DB_USER' created/verified successfully."
|
|
||||||
Reference in New Issue
Block a user