RDS PostgreSQL and MySQL
Overview
This document provides guidance for provisioning and managing Amazon RDS PostgreSQL and MySQL databases within Party Bus environments. It outlines how these supported database services are integrated, what capabilities are available to product teams (such as schema management and migrations), and the operational boundaries enforced by MDO.
Deployment
Request an RDS PostgreSQL or MySQL database by submitting a Pipeline Issue Help Desk ticket .
We support one database per application. These databases are run using AWS Aurora, providing backups, redundancy, and other high availability features.
Connection and Authentication
For connection to these databases, we provide host, port, database name, and username/password environment variables. We recommend using a database connection library to manage these connections rather than creating the connection string yourself. We provide admin, read-write, and read-only users, as shown in the environment variables below.
If you have a PostgreSQL database, these are the environment variables injected into your application:
- PGHOST
- PGPORT
- PG_DATABASE
- PG_USER
- Used with: APP_DB_ADMIN_PASSWORD
- PG_RW_USER - Used with: APP_DB_RW_PASSWORD
- PG_RO_USER - Used with: APP_DB_RO_PASSWORD
If you have a MySQL database, these are the environment variables injected into your application:
- MYSQL_HOST
- MYSQL_PORT
- MYSQL_DB_NAME
- MYSQL_DB_ADMIN_USER
- Used with: MYSQL_DB_ADMIN_PASSWORD
- MYSQL_DB_RW_USER
- Used with: MYSQL_DB_RW_PASSWORD
- MYSQL_DB_RO_USER
- Used with: MYSQL_DB_RO_PASSWORD
External Interactions
Only applications deployed in Party Bus may connect to RDS; external access (e.g., from developer computers) is not permitted. In those instances, we recommend adding endpoints to your application that can serve to proxy your requests.
FAQs
How do I drop my database? How do I restore my database from a backup?
Submit a Help Desk ticket to have the operations team carry out these actions.
How often do RDS automated backups happen?
RDS databases are backed up automatically at 12-hour intervals, with the previous 30 days of backups retained. Additionally, biweekly manual backups are performed and retained for an extended period.
What is the RDS engine version for MySQL?
The current minimum version of MySQL is Aurora MySQL 8.x (minor version updates are automatic)
What is the RDS engine version for PostgreSQL?
The current minimum version of PostgreSQL is Aurora PostgreSQL 13.xx (minor version updates are automatic)
What character set is used for MySQL?
latin1
What are the differences between the admin user, the ReadOnly user, and the ReadWrite user?
| Role | Permissions |
|---|---|
| Admin | (All) |
| ReadOnly (RO) | SELECT |
| ReadWrite (RW) | SELECT, INSERT, UPDATE, DELETE |