Amazon RDS allows you to use the AWS Management Console or a simple set of web services APIs to create, delete and modify relational database instances (DB Instances). You can also control access and security for your instance(s) and manage your database backups and snapshots. For a full list of the available Amazon RDS APIs, please see the Amazon RDS API Guide. Some of the most commonly used APIs and their functionality are listed below:

  • CreateDBInstance — Provision a new DB Instance, specifying DB Engine as PostgreSQL, DB Instance class, storage capacity, DB Engine version (optional), the backup retention policy you wish to use, and whether you want to run the DB Instance as a Multi-AZ deployment. This one API call is all that’s needed to give you access to a running PostgreSQL database, with the software pre-installed and the available resource capacity you request.
  • ModifyDBInstance — Modify settings for a running DB Instance. This lets you use a single API call to scale the resources available to your DB Instance in response to the load on your database, or change how it is automatically backed up and maintained on your behalf, or convert your DB Instance to or from a Multi-AZ deployment. You can also use this API to gain optional control over PostgreSQL Version upgrades for your DB Instance – maintain compatibility with specific PostgreSQL versions, test new versions with your application before deploying in production, and perform version upgrades on your own terms and timelines.
  • DeleteDBInstance — Delete a running DB Instance. With Amazon RDS, you can terminate your DB Instance at any time and pay only for the resources you used.
  • CreateDBSnapshot — Generate a snapshot of your DB Instance. You can restore your DB Instance to these user-created snapshots at any point, even to reinstate a previously deleted DB Instance.
  • RestoreDBInstanceToPointInTIme — Create a new DB Instance from a point-in-time backup. You can restore to any point within the retention period you specified, usually up to the last five minutes of your database’s usage.
  • CreateDBInstanceReadReplica — Create a DB Instance that acts as a read replica of a source DB instance.

If your application already relies on a PostgreSQL database, importing data to Amazon RDS is simple. In general, to migrate your data to Amazon RDS you simply:

  • Create a DB Instance with the compute, storage capacity and access controls required.
  • Create a dump of the data to be imported using pg_dump.
  • Use psql to create a database on the DB Instance and load the dump.
  • Update the database connection string in your application config file.

Amazon RDS for PostgreSQL DB Instances running PostgreSQL 9.3.5 and later support the session replication role. You can also import data into your Amazon RDS for PostgreSQL DB Instance with minimal downtime by leveraging this role and using open-source trigger-based replication tools such as Londiste.

For more information on importing data into Amazon RDS, see the Amazon RDS documentation's Importing Data into PostgreSQL section.

Amazon RDS currently supports the following DB Instance Classes:

Instance Type vCPU Memory (GiB) PIOPS-Optimized
Network Performance
Standard - Latest Generation
db.m4.large 2
db.m4.xlarge 4
Yes High
db.m4.2xlarge 8
Yes High
db.m4.4xlarge 16
Yes High
db.m4.10xlarge 40
Yes 10 Gigabit
Standard - Previous Generation
db.m3.medium 1 3.75 - Moderate
db.m3.large 2 7.5 - Moderate
db.m3.xlarge 4 15 Yes High
db.m3.2xlarge 8 30 Yes High
Memory Optimized - Current Generation
db.r3.large 2 15 - Moderate
db.r3.xlarge 4 30.5 Yes Moderate
db.r3.2xlarge 8 61 Yes High
db.r3.4xlarge 16 122 Yes High
db.r3.8xlarge 32 244 -
10 Gigabit
Micro instances        
db.t2.micro 1 1 - Low
db.t2.small 1 2 - Low
db.t2.medium 2 4 - Moderate
db.t2.large 2 8 - Moderate

Looking for T1, M1, M2, or CR1 DB Instances? See the Previous Generation Instances page.

You will be charged at the end of each month for the Amazon RDS resources you actually consume. Once a DB Instance you have created is available for connection, you will be charged for each hour your DB Instance is running. Each DB Instance will run until termination, which occurs when you issue an API call to delete the DB Instance, or in the event of an instance failure. Partial DB Instance hours consumed are billed as full hours. In addition to DB Instance hours, you are also billed for your monthly storage, I/O requests, and backups. If you scale your storage capacity within the billing period, your bill will be pro-rated accordingly.

For details, see the Amazon RDS for PostgreSQL pricing page.

Your use of this service is subject to the Amazon Web Services Customer Agreement.