# How to Get Admin Database Credentials ## For AWS RDS Databases ### Option 1: AWS RDS Master User (Easiest) The **master user** created when you set up the RDS instance has superuser privileges. 1. **Go to AWS RDS Console** - Navigate to: https://console.aws.amazon.com/rds/ - Select your database instance 2. **Find Master Username** - In the instance details, look for "Master username" - This is usually `postgres` or a custom name you set 3. **Get Master Password** - If you forgot it, you can reset it: - Select your instance → "Modify" → Change master password - Or use AWS Secrets Manager if configured 4. **Use in .env:** ```env ADMIN_DATABASE_URL=postgresql://master_username:master_password@db.livingai.app:5432/livingai_test_db ``` ### Option 2: AWS RDS Query Editor If you have AWS Console access: 1. Go to RDS Console → Your Database → "Query Editor" 2. Connect using master credentials 3. Run the SQL commands directly: ```sql GRANT USAGE ON SCHEMA public TO read_write_user; GRANT CREATE ON SCHEMA public TO read_write_user; CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; ``` ### Option 3: Store Admin Credentials in AWS SSM If you want to automate this: 1. **Store admin credentials in AWS SSM Parameter Store:** ```bash aws ssm put-parameter \ --name "/test/livingai/db/admin" \ --type "SecureString" \ --value '{"user":"admin_user","password":"admin_password","host":"db.livingai.app","port":"5432","database":"livingai_test_db"}' \ --region ap-south-1 ``` 2. **Or set the parameter path in .env:** ```env AWS_SSM_ADMIN_PARAM=/test/livingai/db/admin ``` 3. **Run the setup script:** ```bash npm run setup-db ``` ### Option 4: Use psql Command Line If you have psql installed and network access: ```bash psql -h db.livingai.app -p 5432 -U master_username -d livingai_test_db ``` Then run: ```sql GRANT USAGE ON SCHEMA public TO read_write_user; GRANT CREATE ON SCHEMA public TO read_write_user; CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; ``` ## For Local Docker Databases If using local Docker PostgreSQL: ```env ADMIN_DATABASE_URL=postgresql://postgres:password123@localhost:5433/farmmarket ``` The default postgres user has superuser privileges. ## Security Notes ⚠️ **Important:** - Never commit admin credentials to git - Use AWS SSM Parameter Store or AWS Secrets Manager for production - Rotate admin passwords regularly - Use the admin account only for setup/maintenance, not for application connections ## After Getting Credentials 1. Add to `.env`: ```env ADMIN_DATABASE_URL=postgresql://admin:password@host:port/database ``` 2. Run setup: ```bash npm run setup-db ``` 3. Restart your application