What To Use For Aws Rds Client Mac Postgresl

Amazon RDS supports DB instances running several versions of PostgreSQL. You can create DB instances and DB snapshots, point-in-time restores and backups. DB instances running PostgreSQL support Multi-AZ deployments, Read Replicas (version 9.3.5 and later), Provisioned IOPS, and can be created inside a VPC. You can also use Secure Socket Layer (SSL) to connect to a DB instance running PostgreSQL.

Use the Amazon RDS Management Console, the AWS RDS Command-Line Interface, or simple API calls to access the capabilities of a production-ready relational database in minutes. No need for infrastructure provisioning, and no need for installing and maintaining database software. I started playing with AWS RDS a bit, I'm trying to connect my python client (local host - python 2.7, ubuntu 14.04) to the AWS RDS Postgres instance, using the certificate generated by AWS. Because we are using an RDS instance, we don’t know where out database is hosted, so we need to use a client utility to connect to it. There are various client utilities available: pgAdmin – management tool for Postgres.

Before creating a DB instance, you should complete the steps in the Setting Up for Amazon RDS section of this guide.

You can use any standard SQL client application to run commands for the instance from your client computer. Such applications include pgAdmin, a popular Open Source administration and development tool for PostgreSQL, or psql, a command line utility that is part of a PostgreSQL installation. To deliver a managed service experience, Amazon RDS doesn't provide host access to DB instances, and it restricts access to certain system procedures and tables that require advanced privileges. Amazon RDS supports access to databases on a DB instance using any standard SQL client application. Amazon RDS doesn't allow direct host access to a DB instance by using Telnet or Secure Shell (SSH).

Amazon RDS for PostgreSQL is compliant with many industry standards. For example, you can use Amazon RDS for PostgreSQL databases to build HIPAA-compliant applications and to store healthcare-related information, including protected health information (PHI) under an executed Business Associate Agreement (BAA) with AWS. Amazon RDS for PostgreSQL also meets Federal Risk and Authorization Management Program (FedRAMP) security requirements. Amazon RDS for PostgreSQL has received a FedRAMP Joint Authorization Board (JAB) Provisional Authority to Operate (P-ATO) at the FedRAMP HIGH Baseline within the AWS GovCloud (US-West) Region. For more information on supported compliance standards, see AWS Cloud Compliance.

To import PostgreSQL data into a DB instance, follow the information in the Importing Data into PostgreSQL on Amazon RDS section.

Topics

Common Management Tasks for PostgreSQL on Amazon RDS

The following are the common management tasks you perform with an Amazon RDS for PostgreSQL DB instance, with links to relevant documentation for each task.

Task AreaRelevant Documentation

Setting up Amazon RDS for first-time use

There are prerequisites you must complete before you create your DB instance. For example, DB instances are created by default with a firewall that prevents access to it. You therefore must create a security group with the correct IP addresses and network configuration to access the DB instance.

Understanding Amazon RDS DB instances

If you are creating a DB instance for production purposes, you should understand how instance classes, storage types, and Provisioned IOPS work in Amazon RDS.

Finding supported PostgreSQL versions

Amazon RDS supports several versions of PostgreSQL.

Setting up high availability and failover support

A production DB instance should use Multi-AZ deployments. Multi-AZ deployments provide increased availability, data durability, and fault tolerance for DB instances.

Understanding the Amazon Virtual Private Cloud (VPC) network

If your AWS account has a default VPC, then your DB instance is automatically created inside the default VPC. In some cases, your account might not have a default VPC, and you might want the DB instance in a VPC. In these cases, create the VPC and subnet groups before you create the DB instance.

Importing data into Amazon RDS PostgreSQL

You can use several different tools to import data into your PostgreSQL DB instance on Amazon RDS.

Setting up read-only Read Replicas (masters and standbys)

PostgreSQL on Amazon RDS supports Read Replicas in both the same AWS Region and in a different AWS Region from the master instance.

Understanding security groups

By default, DB instances are created with a firewall that prevents access to them. You therefore must create a security group with the correct IP addresses and network configuration to access the DB instance.

In general, if your DB instance is on the EC2-Classic platform, you need to create a DB security group. If your DB instance is on the EC2-VPC platform, you need to create a VPC security group.

Setting up parameter groups and features

If your DB instance is going to require specific database parameters, you should create a parameter group before you create the DB instance.

Performing common DBA tasks for PostgreSQL

Some of the more common tasks for PostgreSQL DBAs include:

Connecting to your PostgreSQL DB instance

After creating a security group and associating it to a DB instance, you can connect to the DB instance using any standard SQL client application such as pgadmin III.

Backing up and restoring your DB instance

You can configure your DB instance to take automated backups, or take manual snapshots, and then restore instances from the backups or snapshots.

Monitoring the activity and performance of your DB instance

You can monitor a PostgreSQL DB instance by using CloudWatch Amazon RDS metrics, events, and enhanced monitoring.

Upgrading the PostgreSQL database version

You can do both major and minor version upgrades for your PostgreSQL DB instance.

Working with log files

You can access the log files for your PostgreSQL DB instance.

Understanding the best practices for PostgreSQL DB instances

Find some of the best practices for working with PostgreSQL on Amazon RDS.

Working with the Database Preview Environment

When you create a DB instance in Amazon RDS, you know that the PostgreSQL version it's based on has been tested and is fully supported by Amazon. The PostgreSQL community releases new versions and new extensions continuously. You can try out new PostgreSQL versions and extensions before they are fully supported. To do that, you can create a new DB instance in the Database Preview Environment.

DB instances in the Database Preview Environment are similar to DB instances in a production environment. However, keep in mind several important factors:

  • All DB instances are deleted 60 days after you create them, along with any backups and snapshots.

  • You can only create a DB instance in a virtual private cloud (VPC) based on the Amazon VPC service.

  • You can only create M4, T2, and R4 instance types. For more information about RDS instance classes, see Choosing the DB Instance Class.

  • You can't get help from AWS Support with DB instances. You can post your questions in the RDS Database Preview Environment Forum.

  • You can only use General Purpose SSD and Provisioned IOPS SSD storage.

  • You can't copy a snapshot of a DB instance to a production environment.

  • Some Amazon RDS features aren't available in the preview environment, as described following.

Topics

Features Not Supported in the Preview Environment

The following features are not available in the preview environment:

  • Cross-region snapshot copy

  • Cross-region Read Replicas

  • Extensions not in the following table of supported extensions

PostgreSQL Extensions Supported in the Preview Environment

The PostgreSQL extensions supported in the Database Preview Environment are listed in the following table.

ExtensionVersion

amcheck

1.1

bloom

1.0

btree_gin

1.3

btree_gist

1.5

citext

1.5

cube

1.4

dblink

1.2

dict_int

1.0

dict_xsyn

1.0

earthdistance

1.1

fuzzystrmatch

1.1

hstore

1.5

hstore_plper

1.0

intagg

1.1

antarray

1.2

isn

1.2

log_fdw

1.0

ltree

1.1

pg_buffercache

1.3

pg_freespacemap

1.2

pg_prewarm

1.2

pg_stat_statements

1.5

pg_trgm

1.4

pg_visibility

1.2

pgcrypto

1.3

pgrowlocks

1.2

pgstattuple

1.5

plperl

1.0

plpgsql

1.0

pltcl

1.0

postgres_fdw

1.0

sslinfo

1.2

tablefunc

1.0

test_parser

1.0

tsm_system_rows

1.0

tsm_system_time

1.0

unaccent

1.1

uuid_ossp

1.1

Creating a New DB Instance in the Preview Environment

Use the following procedure to create a DB instance in the preview environment.

To create a DB instance in the preview environment

  1. Sign in to the AWS Management Console and open the Amazon RDS console at https://console.aws.amazon.com/rds/.

  2. Choose Dashboard from the navigation pane.

  3. Choose Switch to database preview environment.

    You also can navigate directly to the Database Preview Environment.

    Note

    If you want to create an instance in the Database Preview Environment with the API or CLI the endpoint is rds-preview.us-east-2.amazonaws.com.

  4. Continue with the procedure as described in New Console.

Amazon RDS for PostgreSQL Versions and Extensions

Amazon RDS supports DB instances running several editions of PostgreSQL. Use this section to see how to work with PostgreSQL on Amazon RDS. You should also be aware of the limits for PostgreSQL DB instances.

You can specify any currently supported PostgreSQL version when creating a new DB instance. You can specify the major version (such as PostgreSQL 10), and any supported minor version for the specified major version. If no version is specified, Amazon RDS defaults to a supported version, typically the most recent version. If a major version is specified but a minor version is not, Amazon RDS defaults to a recent release of the major version you have specified. To see a list of supported versions, as well as defaults for newly created DB instances, use the describe-db-engine-versions AWS CLI command.

For information about importing PostgreSQL data into a DB instance, see Importing Data into PostgreSQL on Amazon RDS.

Topics

Supported PostgreSQL Database Versions

Amazon RDS supports the following PostgreSQL versions.

Topics

PostgreSQL Version 12 Beta 3 on Amazon RDS in the Database Preview Environment

PostgreSQL version 12 Beta 3 contains several improvements that are described in PostgreSQL 12 Beta 3 Released!

For information on the Database Preview Environment, see Working with the Database Preview Environment. To access the Preview Environment from the console, select https://console.aws.amazon.com/rds-preview/. For information on extensions supported in this version, see PostgreSQL Version 12.x Extensions and Modules Supported on Amazon RDS in the Database Preview Environment.

PostgreSQL Version 12 Beta 2 on Amazon RDS in the Database Preview Environment

PostgreSQL version 12 Beta 2 contains several improvements that are described in the following links:

For information on the Database Preview Environment, see Working with the Database Preview Environment. To access the Preview Environment from the console, select https://console.aws.amazon.com/rds-preview/.

PostgreSQL Version 11.4 on Amazon RDS

This release contains an important security fix and also bug fixes and improvements done by the PostgreSQL community. For more information on the security fix, see the PosgreSQL community announcement and security fix CVE-2019-10164.

With this release, the pg_hint_plan extension has been updated to version 1.3.4.

For more information on the fixes in PostgreSQL 11.4, see the PostgreSQL documentation.

PostgreSQL Version 11.2 on Amazon RDS

PostgreSQL version 11.2 contains several bug fixes for issues in release 11.1. For more information on the fixes in PostgreSQL 11.2, see the PostgreSQL documentation.

This version also includes the following changes:

  • A new pgTAP extension version 1.0.

  • Support for Amazon S3 import. For more information, see Importing Amazon S3 Data into an RDS for PostgreSQL DB Instance.

  • Multiple major version upgrade is available to PostgreSQL 11.2 from certain previous PostgreSQL versions. For more information, see Major Version Upgrades for PostgreSQL.

For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 11.1 on Amazon RDS

PostgreSQL version 11.1 contains several improvements that were announced in PostgreSQL 11.1 Released! This version includes SQL stored procedures that enable embedded transactions within a procedure. This version also includes major improvements to partitioning and parallelism and many useful performance improvements. For example, by using a non-null constant for a column default, you can now use an ALTER TABLE command to add a column without causing a table rewrite.

PostgreSQL version 11.1 contains several bug fixes for issues in release 11. For complete details, see the PostgreSQL Release 11.1 documentation. Some changes in this version include the following:

  • Partitioning – Partitioning improvements include support for hash partitioning, enabling creation of a default partition, and dynamic row movement to another partition based on the key column update.

  • Performance – Performance improvements include parallelism while creating indexes, materialized views, hash joins, and sequential scans to make the operations perform better.

  • Stored procedures – SQL stored procedures now added support embedded transactions.

  • Support for Just-In-Time (JIT) capability – RDS PostgreSQL 11 instances are created with JIT capability, speeding evaluation of expressions. To enable this feature, set jit to ON.

  • Segment size – The write-ahead logging (WAL) segment size has been changed from 16 MB to 64 MB.

  • Autovacuum improvements – To provide valuable logging, the parameter rds.force_autovacuum_logging is ON by default in conjunction with the log_autovacuum_min_duration parameter set to 10 seconds. To increase autovacuum effectiveness, the values for the autovacuum_max_workers and autovacuum_vacuum_cost_limit parameters are computed based on host memory capacity to provide larger default values.

  • Improved transaction timeout – The parameter idle_in_transaction_session_timeout is set to 12 hours. Any session that has been idle more than 12 hours is terminated.

  • Performance metrics – The pg_stat_statements module is included in shared_preload_libraries by default. This avoids having to reboot the instance immediately after creation. However, this functionality still requires you to run the statement CREATE EXTENSION pg_stat_statements;. Also, track_io_timing is enabled by default to add more granular data to pg_stat_statements.

  • The tsearch2 module is no longer supported – If your application uses tsearch2 functions, update it to use the equivalent functions provided by the core PostgreSQL engine. For more information about the tsearch2 module, see PostgreSQL tsearch2.

  • The chkpass module is no longer supported – For more information about the chkpass module, see PostgreSQL chkpass.

  • Extension updates for RDS PostgreSQL 11.1 include the following:

    • pgaudit is updated to 1.3.0.

    • pg_hint_plan is updated to 1.3.2.

    • pglogical is updated to 2.2.1.

    • plcoffee is updated to 2.3.8.

    • plv8 is updated to 2.3.8.

    • PostGIS is updated to 2.5.1.

    • prefix is updated to 1.2.8.

    • wal2json is updated to hash 9e962bad.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 11 on Amazon RDS in the Database Preview Environment

Note

PostgreSQL Version 11 on Amazon RDS has been released in the production environment. It is no longer supported in the Database Preview Environment.

PostgreSQL version 11 contains several improvements that are described in PostgreSQL 11 Released!

For information on the Database Preview Environment, see Working with the Database Preview Environment. To access the Preview Environment from the console, select https://console.aws.amazon.com/rds-preview/.

PostgreSQL Version 10.9 on Amazon RDS

This release contains an important security fix and also bug fixes and improvements done by the PostgreSQL community. For more information on the security fix, see the PosgreSQL community announcement and security fix CVE-2019-10164.

With this release, the pg_hint_plan extension has been updated to version 1.3.3.

For more information on the fixes in PostgreSQL 10.9, see the PostgreSQL documentation.

PostgreSQL Version 10.7 on Amazon RDS

PostgreSQL version 10.7 contains several bug fixes for issues in release 10.6. For more information on the fixes in 10.7, see the PostgreSQL documentation.

This version also includes the following changes:

  • Support for Amazon S3 import. For more information, see Importing Amazon S3 Data into an RDS for PostgreSQL DB Instance.

  • Multiple major version upgrade is available to PostgreSQL 10.7 from certain previous PostgreSQL versions. For more information, see Major Version Upgrades for PostgreSQL.

For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL Version 10.6 on Amazon RDS

PostgreSQL version 10.6 contains several bug fixes for issues in release 10.5. For more information on the fixes in PostgreSQL 10.6, see the PostgreSQL documentation.

This version also includes the following changes:

  • A new rds.restrict_password_commands parameter and a new rds_password role have been introduced. When the rds.restrict_password_commands parameter is enabled, only users who have the rds_password role can make user password and password expiration changes. By restricting password-related operations to a limited set of roles, you can implement policies such as password complexity requirements from the client side. The rds.restrict_password_commands parameter is static, so it requires a database restart to change it. For more information, see Restricting Password Management.

  • The logical decoding plugin wal2json has been updated to commit 9e962ba.

For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

Note

Amazon RDS for PostgreSQL has announced the removal of the tsearch2 extension in the next major release. We encourage customers still using pre-8.3 text search to migrate to the equivalent built-in features. For more information about migrating, see the PostgreSQL documentation.

PostgreSQL Version 10.5 on Amazon RDS

PostgreSQL version 10.5 contains several bug fixes for issues in release 10.4. For more information on the fixes in 10.5, see the PostgreSQL documentation.

This version also includes the following changes:

  • Support for the pglogical extension version 2.2.0. Prerequisites for using this extension are the same as the prerequisites for using logical replication for PostgreSQL as described in Logical Replication for PostgreSQL on Amazon RDS.

  • Support for the pg_similarity extension version 1.0.

  • Support for the pageinspect extension version 1.6.

  • Support for the libprotobuf extension version 1.3.0 for the PostGIS component.

  • An update for the pg_hint_plan extension to version 1.3.1.

  • An update for the wal2json extension to version 01c5c1e.

For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 10.4 on Amazon RDS

PostgreSQL version 10.4 contains several bug fixes for issues in release 10.3. For more information on the fixes in 10.4, see the PostgreSQL documentation.

This version also includes the following changes:

  • Support for PostgreSQL 10 Logical Replication using the native publication and subscription framework. RDS PostgreSQL databases can function as both publishers and subscribers. You can specify replication to other PostgreSQL databases at the database-level or at the table-level. With logical replication, the publisher and subscriber databases need not be physically identical (block-to-block) to each other. This allows for use cases such as data consolidation, data distribution, and data replication across different database versions for 10.4 and above. For more details, refer to Logical Replication for PostgreSQL on Amazon RDS.

  • The temporary file size limitation is user-configurable. You require the rds_superuser role to modify the temp_file_limit parameter.

  • Update of the GDAL library, which is used by the PostGIS extension. See Working with PostGIS.

  • Update of the ip4r extension to version 2.1.1.

  • Update of the pg_repack extension to version 1.4.3. See Working with the pg_repack Extension.

  • Update of the plv8 extension to version 2.1.2.

For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

Note

The tsearch2 extension is to be removed in the next major release. We encourage customers still using pre-8.3 text search to migrate to the equivalent built-in features. For more information about migrating, see the PostgreSQL documentation.

PostgreSQL Version 10.3 on Amazon RDS

PostgreSQL version 10.3 contains several bug fixes for issues in release 10. For more information on the fixes in 10.3, see the PostgreSQL documentation.

Version 2.1.0 of PL/v8 is now available. If you use PL/v8 and upgrade PostgreSQL to a new PL/v8 version, you immediately take advantage of the new extension but the catalog metadata doesn't reflect this fact. For the steps to synchronize your catalog metadata with the new version of PL/v8, see Upgrade PL/v8.

For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 10.1 on Amazon RDS

PostgreSQL version 10.1 contains several bug fixes for issues in release 10. For more information on the fixes in 10.1, see the PostgreSQL documentation and the PostgreSQL 10 community announcement.

For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL version 10.1 includes the following changes:

  • Declarative table partitioning – PostgreSQL 10 adds table partitioning to SQL syntax and native tuple routing.

  • Parallel queries – When you create a new PostgreSQL 10.1 instance, parallel queries are enabled for the default.postgres10 parameter group. The parameter max_parallel_workers_per_gather is set to 2 by default, but you can modify it to support your specific workload requirements.

  • Support for the International Components for Unicode (ICU) – You can use the ICU library to provide explicitly versioned collations. Amazon RDS for PostgreSQL 10.1 is compiled with ICU version 60.2. For more information about ICU implementation in PostgreSQL, see Collation Support.

  • Huge pages – Huge pages is a feature of the Linux kernel that uses multiple page size capabilities of modern hardware architectures. Amazon RDS for PostgreSQL supports huge pages with a global configuration parameter. When you create a new PostgreSQL 10.1 instance with RDS, the huge_pages parameter is set to 'on' for the default.postgres10 parameter group. You can modify this setting to support your specific workload requirements.

  • PL/v8 update – PL/v8 is a procedural language that allows you to write functions in JavaScript that you can then call from SQL. This release of PostgreSQL supports version 2.1.0 of PL/v8.

  • Renaming of xlog and location – In PostgreSQL version 10 the abbreviation 'xlog' has changed to 'wal', and the term 'location' has changed to 'lsn'. For more information, see https://www.postgresql.org/docs/10/static/release-10.html#id-1.11.6.8.4.

  • tsearch2 module – Amazon RDS continues to provide the tsearch2 module in PostgreSQL version 10, but is to remove it in the next major version release. If your application uses tsearch2 functions update it to use the equivalent functions the core engine provides. For more information about using tsearch2, see tsearch2 module.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.6.14 on Amazon RDS

This release contains bug fixes and improvements done by the PostgreSQL community.

With this release, the pg_hint_plan extension has been updated to version 1.2.5.

For more information on the fixes in PostgreSQL 9.6.14, see the PostgreSQL documentation.

PostgreSQL Version 9.6.12 on Amazon RDS

PostgreSQL version 9.6.12 contains several bug fixes for issues in release 9.6.11. For more information on the fixes in 9.6.12, see the PostgreSQL documentation.

For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL Version 9.6.11 on Amazon RDS

PostgreSQL version 9.6.11 contains several bug fixes for issues in release 9.6.10. For more information on the fixes in PostgreSQL 9.6.11, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

With this version, the logical decoding plugin wal2json has been updated to commit 9e962ba.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.6.10 on Amazon RDS

PostgreSQL version 9.6.10 contains several bug fixes for issues in release 9.6.9. For more information on the fixes in 9.6.10, see the PostgreSQL documentation.

This version includes the following changes:

  • Support for the pglogical extension version 2.2.0. Prerequisites for using this extension are the same as the prerequisites for using logical replication for PostgreSQL as described in Logical Replication for PostgreSQL on Amazon RDS.

  • Support for the pg_similarity extension version 2.2.0.

  • An update for the wal2json extension to version 01c5c1e.

  • An update for the pg_hint_plan extension to version 1.2.3.

For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.6.9 on Amazon RDS

PostgreSQL version 9.6.9 contains several bug fixes for issues in release 9.6.8. For more information on the fixes in 9.6.9, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

This version includes the following changes:

  • The temporary file size limitation is user-configurable. You require the rds_superuser role to modify the temp_file_limit parameter.

  • Update of the GDAL library, which is used by the PostGIS extension. See Working with PostGIS.

  • Update of the ip4r extension to version 2.1.1.

  • Update of the pgaudit extension to version 1.1.1. See Working with the pgaudit Extension.

    Update of the pg_repack extension to version 1.4.3. See Working with the pg_repack Extension.

  • Update of the plv8 extension to version 2.1.2.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.6.8 on Amazon RDS

PostgreSQL version 9.6.8 contains several bug fixes for issues in release 9.6.6. For more information on the fixes in 9.6.8, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.6.6 on Amazon RDS

PostgreSQL version 9.6.6 contains several bug fixes for issues in release 9.6.5. For more information on the fixes in 9.6.6, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

This version includes the following features:

  • Supports the orafce extension, version 3.6.1. This extension contains functions that are native to commercial databases, and can be helpful if you are porting a commercial database to PostgreSQL. For more information about using orafce with Amazon RDS, see Working with the orafce Extension.

  • Supports the prefix extension, version 1.2.6. This extension provides an operator for text prefix searches. For more information about prefix, see the prefix project on GitHub.

  • Supports version 2.3.4 of PostGIS, version 2.4.2 of pgrouting, and an updated version of wal2json.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.6.5 on Amazon RDS

PostgreSQL version 9.6.5 contains several bug fixes for issues in release 9.6.4. For more information on the fixes in 9.6.5, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

This version also includes support for the pgrouting and postgresql-hll extensions, and the decoder_raw optional module.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.6.3 on Amazon RDS

PostgreSQL version 9.6.3 contains several new features and bug fixes. This version includes the following features:

  • Supports the extension pg_repack version 1.4.0. You can use this extension to remove bloat from tables and indexes. For more information on using pg_repack with Amazon RDS, see Working with the pg_repack Extension.

  • Supports the extension pgaudit version 1.1.0. This extension provides detailed session and object audit logging. For more information on using pgaudit with Amazon RDS, see Working with the pgaudit Extension.

  • Supports wal2json, an output plugin for logical decoding.

  • Supports the auto_explain module. You can use this module to log execution plans of slow statements automatically. The following example shows how to use auto_explain from within an Amazon RDS PostgreSQL session:

    For more information on using auto_explain, see the PostgreSQL documentation.

PostgreSQL Version 9.6.2 on Amazon RDS

PostgreSQL version 9.6.2 contains several new features and bug fixes. The new version also includes the following extension versions:

  • PostGIS version 2.3.2

  • pg_freespacemap version 1.1–Provides a way to examine the free space map (FSM). This extension provides an overloaded function called pg_freespace. The functions show the value recorded in the free space map for a given page, or for all pages in the relation.

  • pg_hint_plan version 1.1.3– Provides control of execution plans by using hinting phrases at the beginning of SQL statements.

  • log_fdw version 1.0–Using this extension from Amazon RDS, you can load and query your database engine log from within the database. For more information, see Using the log_fdw Extension.

  • With this version release, you can now edit the max_worker_processes parameter in a DB parameter group.

PostgreSQL version 9.6.2 on Amazon RDS also supports altering enum values. For more information, see ALTER ENUM for PostgreSQL.

For more information on the fixes in 9.6.2, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL Version 9.6.1 on Amazon RDS

PostgreSQL version 9.6.1 contains several new features and improvements. For more information about the fixes and improvements in PostgreSQL 9.6.1, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance. For information about performing parallel queries and phrase searching using Amazon RDS for PostgreSQL 9.6.1, see the AWS Database Blog.

PostgreSQL version 9.6.1 includes the following changes:

  • Parallel query execution: Supports parallel execution of large read-only queries, allowing sequential scans, hash joins, nested loops, and aggregates to be run in parallel. By default, parallel query execution is not enabled. To enable parallel query execution, set the parameter max_parallel_workers_per_gather to a value larger than zero.

  • Updated postgres_fdw extension: Supports remote JOINs, SORTs, UPDATEs, and DELETE operations.

  • PL/v8 update: Provides version 1.5.3 of the PL/v8 language.

  • PostGIS version update: Supports POSTGIS='2.3.0 r15146' GEOS='3.5.0-CAPI-1.9.0 r4084' PROJ='Rel. 4.9.2, 08 September 2015' GDAL='GDAL 2.1.1, released 2016/07/07' LIBXML='2.9.1' LIBJSON='0.12' RASTER

  • Vacuum improvement: Avoids scanning pages unnecessarily during vacuum freeze operations.

  • Full-text search support for phrases: Supports the ability to specify a phrase-search query in tsquery input using the new operators <-> and <N>.

  • Two new extensions are supported:

    • bloom, an index access method based on Bloom filters

    • pg_visibility, which provides a means for examining the visibility map and page-level visibility information of a table.

  • With the release of version 9.6.2, you can now edit the max_worker_processes parameter in a PostgreSQL version 9.6.1 DB parameter group.

You can create a new PostgreSQL 9.6.1 database instance using the AWS Management Console, AWS CLI, or RDS API. You can also upgrade an existing PostgreSQL 9.5 instance to version 9.6.1 using major version upgrade. If you want to upgrade a DB instance from version 9.3 or 9.4 to 9.6, you must perform a point-and-click upgrade to the next major version first. Each upgrade operation involves a short period of unavailability for your DB instance.

PostgreSQL Version 9.5.18 on Amazon RDS

This release contains bug fixes and improvements done by the PostgreSQL community.

With this release, the pg_hint_plan extension has been updated to version 1.1.8.

For more information on the fixes in PostgreSQL 9.5.18, see the PostgreSQL documentation.

PostgreSQL Version 9.5.16 on Amazon RDS

PostgreSQL version 9.5.16 contains several bug fixes for issues in release 9.5.15. For more information on the fixes in 9.5.16, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.5.15 on Amazon RDS

PostgreSQL version 9.5.15 contains several bug fixes for issues in release 9.5.14. For more information on the fixes in 9.5.15, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.5.14 on Amazon RDS

PostgreSQL version 9.5.14 contains several bug fixes for issues in release 9.5.13. For more information on the fixes in 9.5.14, see the PostgreSQL documentation.

For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.5.13 on Amazon RDS

PostgreSQL version 9.5.13 contains several bug fixes for issues in release 9.5.12. For more information on the fixes in 9.5.13, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

This version includes the following extension updates:

  • Update of the pgaudit extension to version 1.0.6. See Working with the pgaudit Extension.

  • Update of the pg_hint_plan extension to version 1.1.5.

  • Update of the plv8 extension to version 2.1.2.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.5.12 on Amazon RDS

PostgreSQL version 9.5.12 contains several bug fixes for issues in release 9.5.10 For more information on the fixes in 9.5.12, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.5.10 on Amazon RDS

PostgreSQL version 9.5.10 contains several bug fixes for issues in version 9.5.9. For more information on the fixes in 9.5.10, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL Version 9.5.9 on Amazon RDS

PostgreSQL version 9.5.9 contains several bug fixes for issues in version 9.5.8. For more information on the fixes in 9.5.9, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL Version 9.5.7 on Amazon RDS

PostgreSQL version 9.5.7 contains several new features and bug fixes. This version includes the following features:

  • Supports the extension pgaudit version 1.0.5. This extension provides detailed session and object audit logging. For more information on using pgaudit with Amazon RDS, see Working with the pgaudit Extension.

  • Supports wal2json, an output plugin for logical decoding.

  • Supports the auto_explain module. You can use this module to log execution plans of slow statements automatically. The following example shows how to use auto_explain from within an Amazon RDS PostgreSQL session.

    For more information on using auto_explain, see the PostgreSQL documentation.

PostgreSQL Version 9.5.6 on Amazon RDS

PostgreSQL version 9.5.6 contains several new features and bug fixes. The new version also includes the following extension versions:

  • PostGIS version 2.2.5

  • pg_freespacemap version 1.1–Provides a way to examine the free space map (FSM). This extension provides an overloaded function called pg_freespace. This function shows the value recorded in the free space map for a given page, or for all pages in the relation.

  • pg_hint_plan version 1.1.3– Provides control of execution plans by using hinting phrases at the beginning of SQL statements.

PostgreSQL version 9.5.6 on Amazon RDS also supports altering enum values. For more information, see ALTER ENUM for PostgreSQL.

For more information on the fixes in 9.5.6, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL Version 9.5.4 on Amazon RDS

PostgreSQL version 9.5.4 contains several fixes to issue found in previous versions. For more information on the fixes in 9.5.4, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

Beginning with PostgreSQL version 9.4, PostgreSQL supports the streaming of WAL changes using logical replication decoding. Amazon RDS supports logical replication for PostgreSQL version 9.4.9 and higher and 9.5.4 and higher. For more information about PostgreSQL logical replication on Amazon RDS, see Logical Replication for PostgreSQL on Amazon RDS.

Beginning with PostgreSQL version 9.5.4 for Amazon RDS, the command ALTER USER WITH BYPASSRLS is supported.

PostgreSQL versions 9.4.9 and later and version 9.5.4 and later support event triggers, and Amazon RDS supports event triggers for these versions. You can use the master user account can be used to create, modify, rename, and delete event triggers. Event triggers are at the DB instance level, so they can apply to all databases on an instance. For more information about PostgreSQL event triggers on Amazon RDS, see Event Triggers for PostgreSQL on Amazon RDS.

PostgreSQL Version 9.5.2 on Amazon RDS

PostgreSQL version 9.5.2 contains several fixes to issues found in previous versions. For more information on the features in 9.5.2, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL version 9.5.2 doesn't support the db.m1 or db.m2 DB instance classes. If you need to upgrade a DB instance running PostgreSQL version 9.4 to version 9.5.2 to one of these instance classes, you need to scale compute. To do that, you need a comparable db.t2 or db.m3 DB instance class before you can upgrade a DB instance running PostgreSQL version 9.4 to version 9.5.2. For more information on DB instance classes, see Choosing the DB Instance Class.

Native PostgreSQL version 9.5.2 introduced the command ALTER USER WITH BYPASSRLS.

This release includes updates from previous versions, including the following:

  • CVE-2016-2193: Fixes an issue where a query plan might be reused for more than one ROLE in the same session. Reusing a query plan can cause the query to use the wrong set of Row Level Security (RLS) policies.

  • CVE-2016-3065: Fixes a server crash bug triggered by using pageinspect with BRIN index pages. Because an attacker might be able to expose a few bytes of server memory, this crash is being treated as a security issue.

Major enhancements in RDS PostgreSQL 9.5 include the following:

  • UPSERT: Allow INSERTs that would generate constraint conflicts to be turned into UPDATEs or ignored

  • Add the GROUP BY analysis features GROUPING SETS, CUBE, and ROLLUP

  • Add row-level security control

  • Create mechanisms for tracking the progress of replication, including methods for identifying the origin of individual changes during logical replication

  • Add Block Range Indexes (BRIN)

  • Add substantial performance improvements for sorting

  • Add substantial performance improvements for multi-CPU machines

  • PostGIS 2.2.2 - To use this latest version of PostGIS, use the ALTER EXTENSION UPDATE statement to update after you upgrade to version 9.5.2. Example:

    ALTER EXTENSION POSTGIS UPDATE TO '2.2.2'

  • Improved visibility of autovacuum sessions by allowing the rds_superuser account to view autovacuum sessions in pg_stat_activity. For example, you can identify and terminate an autovacuum session that is blocking a command from running, or executing slower than a manually issued vacuum command.

RDS PostgreSQL version 9.5.2 includes the following new extensions:

  • address_standardizer – A single-line address parser that takes an input address and normalizes it based on a set of rules stored in a table, helper lex, and gaz tables.

  • hstore_plperl – Provides transforms for the hstore type for PL/Perl.

  • tsm_system_rows – Provides the table sampling method SYSTEM_ROWS, which can be used in the TABLESAMPLE clause of a SELECT command.

  • tsm_system_time – Provides the table sampling method SYSTEM_TIME, which can be used in the TABLESAMPLE clause of a SELECT command.

PostgreSQL Version 9.4.23 on Amazon RDS

This release contains bug fixes and improvements done by the PostgreSQL community. For more information on the fixes in PostgreSQL 9.4.23, see the PostgreSQL documentation.

PostgreSQL Version 9.4.21 on Amazon RDS

PostgreSQL version 9.4.21 contains several bug fixes for issues in release 9.4.20. For more information on the fixes in 9.4.21, the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.4.20 on Amazon RDS

PostgreSQL version 9.4.20 contains several bug fixes for issues in release 9.4.19. For more information on the fixes in 9.4.20, the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.4.19 on Amazon RDS

PostgreSQL version 9.4.19 contains several bug fixes for issues in release 9.4.18. For more information on the fixes in 9.4.19, see the PostgreSQL documentation.

For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.4.18 on Amazon RDS

PostgreSQL version 9.4.18 contains several bug fixes for issues in release 9.4.17. For more information on the fixes in 9.4.18, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

The plv8 extension has been updated to version 2.1.2. For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.4.17 on Amazon RDS

PostgreSQL version 9.4.17 contains several bug fixes for issues in release 9.4.15. For more information on the fixes in 9.4.17, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.4.15 on Amazon RDS

PostgreSQL version 9.4.15 contains several bug fixes for issues in release 9.4.14. For more information on the fixes in 9.4.15, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL Version 9.4.14 on Amazon RDS

PostgreSQL version 9.4.14 contains several bug fixes for issues in release 9.4.12. For more information on the fixes in 9.4.14, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL Version 9.4.12 on Amazon RDS

PostgreSQL version 9.4.12 contains several fixes to issue found in previous versions.

For more information on the fixes in 9.4.12, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL Version 9.4.11 on Amazon RDS

PostgreSQL version 9.4.11 contains several fixes to issue found in previous versions.

For more information on the fixes in 9.4.11, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

Beginning with PostgreSQL version 9.4, PostgreSQL supports the streaming of WAL changes using logical replication decoding. Amazon RDS supports logical replication for PostgreSQL version 9.4.9 and higher and 9.5.4 and higher. For more information about PostgreSQL logical replication on Amazon RDS, see Logical Replication for PostgreSQL on Amazon RDS.

PostgreSQL versions 9.4.9 and later and version 9.5.4 and later support event triggers, and Amazon RDS supports event triggers for these versions. The master user account can be used to create, modify, rename, and delete event triggers. Event triggers are at the DB instance level, so they can apply to all databases on an instance. For more information about PostgreSQL event triggers on Amazon RDS, see Event Triggers for PostgreSQL on Amazon RDS.

PostgreSQL Version 9.4.9 on Amazon RDS

PostgreSQL version 9.4.9 contains several fixes to issue found in previous versions. For more information on the fixes in 9.4.9, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

Beginning with PostgreSQL version 9.4, PostgreSQL supports the streaming of WAL changes using logical replication decoding. Amazon RDS supports logical replication for PostgreSQL version 9.4.9 and higher and 9.5.4 and higher. For more information about PostgreSQL logical replication on Amazon RDS, see Logical Replication for PostgreSQL on Amazon RDS.

PostgreSQL versions 9.4.9 and later and version 9.5.4 and later support event triggers, and Amazon RDS supports event triggers for these versions. The master user account can be used to create, modify, rename, and delete event triggers. Event triggers are at the DB instance level, so they can apply to all databases on an instance. For more information about PostgreSQL event triggers on Amazon RDS, see Event Triggers for PostgreSQL on Amazon RDS.

PostgreSQL Version 9.4.7 on Amazon RDS

PostgreSQL version 9.4.7 contains several fixes to issue found in previous versions. For more information on the fixes in 9.4.7, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL version 9.4.7 includes improved visibility of autovacuum sessions by allowing the rds_superuser account to view autovacuum sessions in pg_stat_activity. For example, you can identify and terminate an autovacuum session that is blocking a command from running, or executing slower than a manually issued vacuum command.

PostgreSQL Version 9.3.25 on Amazon RDS

Note

Amazon RDS for PostgreSQL announced retirement of PostgreSQL 9.3 in September 2018 and has stopped support for PostgreSQL version 9.3. We encourage you to upgrade to PostgreSQL 9.4 or a higher version as early as possible. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL version 9.3.25 contains several bug fixes for issues in release 9.3.24. For more information on the fixes in 9.3.25, see the PostgreSQL documentation.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.3.24 on Amazon RDS

PostgreSQL version 9.3.24 contains several bug fixes for issues in release 9.3.23. For more information on the fixes in 9.3.24, see the PostgreSQL documentation.

Note

Amazon RDS for PostgreSQL has deprecated PostgreSQL version 9.3.x.

For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.3.23 on Amazon RDS

PostgreSQL version 9.3.23 contains several bug fixes for issues in release 9.3.22. For more information on the fixes in 9.3.23, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

The plv8 extension has been updated to version 2.1.2. For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

Note

Amazon RDS for PostgreSQL has announced version 9.3.x is scheduled for retirement in September, 2018. We encourage you to upgrade your 9.3.x databases to the latest version at your earliest convenience.

What To Use For Aws Rds Client Mac Postgresql Download

PostgreSQL Version 9.3.22 on Amazon RDS

PostgreSQL version 9.3.22 contains several bug fixes for issues in release 9.3.20. For more information on the fixes in 9.3.22, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

For the complete list of extensions supported by Amazon RDS for PostgreSQL, see Supported PostgreSQL Features and Extensions.

PostgreSQL Version 9.3.20 on Amazon RDS

PostgreSQL version 9.3.20 contains several bug fixes for issues in version 9.3.19. For more information on the fixes in 9.3.20, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL Version 9.3.19 on Amazon RDS

PostgreSQL version 9.3.19 contains several bug fixes for issues in version 9.3.18. For more information on the fixes in 9.3.19, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL Version 9.3.17 on Amazon RDS

PostgreSQL version 9.3.17 contains several fixes for bugs found in previous versions. This version contains the same extension components as version 9.3.16. For a list of fixes in version 9.3.17, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL Version 9.3.16 on Amazon RDS

PostgreSQL version 9.3.16 contains several fixes for bugs found in previous versions. This version contains the same extension components as version 9.3.14. For a list of fixes in version 9.3.16, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL Version 9.3.14 on Amazon RDS

PostgreSQL version 9.3.14 contains several fixes for bugs found in previous versions. For a list of fixes in version 9.3.14, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL Version 9.3.12 on Amazon RDS

PostgreSQL version 9.3.12 contains several fixes for bugs found in previous versions. For a list of fixes in version 9.3.12, see the PostgreSQL documentation. For information on upgrading the engine version for your PostgreSQL DB instance, see Upgrading a PostgreSQL DB Instance.

PostgreSQL version 9.3.12 includes improved visibility of autovacuum sessions by allowing the rds_superuser account to view autovacuum sessions in pg_stat_activity. For example, you can identify and terminate an autovacuum session that is blocking a command from running, or executing slower than a manually issued vacuum command.

Supported PostgreSQL Features and Extensions

Amazon RDS supports many of the most common PostgreSQL extensions and features.

Topics

PostgreSQL Extensions and Modules Supported on Amazon RDS

PostgreSQL supports many PostgreSQL extensions and modules. Extensions and modules expand on the functionality provided by the PostgreSQL engine. The following sections show the extensions and modules supported by Amazon RDS for the major PostgreSQL versions.

Topics

You can find a list of extensions supported by Amazon RDS in the default DB parameter group for that PostgreSQL version. You can also see the current extensions list using psql by showing the rds.extensions parameter as in the following example.

Note

Parameters added in a minor version release might display inaccurately when using the rds.extensions parameter in psql.

PostgreSQL Version 12.x Extensions and Modules Supported on Amazon RDS in the Database Preview Environment

The following table shows PostgreSQL extensions and modules for PostgreSQL version 12.x that are currently supported by PostgreSQL in the Amazon RDS Preview Environment. For more information on PostgreSQL extensions, see Packaging Related Objects into an Extension.

ExtensionVersion 12 Beta 3
address_standardizer3.0.0alpha3
address_standardizer_data_us3.0.0alpha3
bloom1.0
btree_gin1.3
btree_gist1.5
citext 1.6
cube 1.4
dblink1.2
dict_int 1.0
dict_xsyn1.0
earthdistance1.1
fuzzystrmatch1.1
hstore1.6
hstore_plperl1.0
intagg1.1
intarray1.2
ip4r2.2
isn 1.2
jsonb_plperl1.0
log_fdw—see Using the log_fdw Extension1.1
ltree 1.1
pageinspect1.7
pg_buffercache1.3
pg_freespacemap1.2
pg_prewarm1.2
pg_similarity1.0
pg_stat_statements1.7
pg_trgm1.4
pg_visibility1.2
pgcrypto1.3
pgrouting2.6.1
pgrowlocks1.2
pgstattuple1.5
pgTAP1.0.0
plperl1.0
plpgsql1.0
pltcl1.0
PostGIS3.0.0alpha3
postgis_tiger_geocoder3.0.0alpha3
postgis_topology3.0.0alpha3
postgres_fdw1.0
prefix1.2.0
sslinfo1.2
tablefunc1.0
test_parser1.0
tsm_system_rows1.0
tsm_system_time1.0
unaccent1.1
uuid-ossp1.1
PostgreSQL Version 11.x Extensions and Modules Supported on Amazon RDS

The following tables show PostgreSQL extensions and modules for PostgreSQL version 11.x that are currently supported by PostgreSQL on Amazon RDS. 'N/A' indicates that the extension or module is not available for that PostgreSQL version. For more information on PostgreSQL extensions, see Packaging Related Objects into an Extension.

ExtensionVersion 11.1Version 11.2Version 11.4
address_standardizer2.4.22.4.22.4.2
address_standardizer_data_us2.4.22.4.22.4.2
bloom1.01.01.0
btree_gin1.21.21.2
btree_gist1.51.51.5
citext 1.41.41.4
cube 1.21.21.2
dblink1.21.21.2
dict_int 1.01.01.0
dict_xsyn1.01.01.0
earthdistance1.11.11.1
fuzzystrmatch1.11.11.1
hstore1.41.41.4
hstore_plperl1.01.01.0
intagg1.11.11.1
intarray1.21.21.2
ip4r2.32.32.3
isn 1.11.11.1
log_fdw—see Using the log_fdw Extension1.01.01.0
libprotobuf1.3.01.3.01.3.0
ltree 1.11.11.1
orafce3.6.13.6.13.6.1
pgaudit1.3.01.3.01.3.0
pg_buffercache1.31.31.3
pg_freespacemap1.21.21.2
pg_hint_plan1.3.21.3.21.3.4
pg_prewarm1.11.11.1
pg_repack 1.4.41.4.41.4.4
pg_similarity1.01.01.0
pg_stat_statements1.51.51.5
pg_trgm1.31.31.3
pg_visibility1.21.21.2
pgcrypto1.31.31.3
pageinspect1.61.61.6
pglogical2.2.12.2.12.2.1
pgrowlocks1.21.21.2
pgrouting2.6.12.6.12.6.1
pgstattuple1.51.51.5
pgTAPNA1.01.0
plcoffee2.3.82.3.82.3.8
plls2.3.82.3.82.3.8
plperl1.01.01.0
plpgsql1.01.01.0
pltcl1.01.01.0
plv82.3.82.3.82.3.8
PostGIS2.5.12.5.12.5.1
postgis_tiger_geocoder2.5.12.5.12.5.1
postgis_topology2.5.02.5.02.5.0
postgres_fdw1.01.01.0
postgresql-hll2.112.112.11
prefix1.2.81.2.81.2.8
sslinfo1.21.21.2
tablefunc1.01.01.0
test_parser1.01.01.0
tsm_system_rows1.01.01.0
tsm_system_time1.01.01.0
unaccent 1.11.11.1
uuid-ossp1.11.11.1

The following modules are supported as shown for PostgreSQL version 11.x.

ModuleVersion 11.1Version 11.2Version 11.4
amcheckSupportedSupportedSupported
auto_explainSupportedSupportedSupported
decoder_rawSupportedSupportedSupported
ICUVersion 60.2 supportedVersion 60.2 supportedVersion 60.2 supported
test_decodingSupportedSupportedSupported
wal2jsonCommit hash 9e962badCommit hash 9e962badCommit hash 9e962bad
PostgreSQL Version 10.x Extensions and Modules Supported on Amazon RDS

The following tables show PostgreSQL extensions and modules for PostgreSQL version 10 that are currently supported by PostgreSQL on Amazon RDS. 'N/A' indicates that the extension or module is not available for that PostgreSQL version. For more information on PostgreSQL extensions, see Packaging Related Objects into an Extension.

Extension10.110.310.410.510.610.710.9
address_standardizer2.4.22.4.22.4.22.4.22.4.22.4.22.4.2
address_standardizer_data_us2.4.22.4.22.4.22.4.22.4.22.4.22.4.2
bloom1.01.01.01.01.01.01.0
btree_gin1.21.21.21.21.21.21.2
btree_gist1.51.51.51.51.51.51.5
chkpass1.01.01.01.01.01.01.0
citext 1.41.41.41.41.41.41.4
cube 1.21.21.21.21.21.21.2
dblink1.21.21.21.21.21.21.2
dict_int 1.01.01.01.01.01.01.0
dict_xsyn1.01.01.01.01.01.01.0
earthdistance1.11.11.11.11.11.11.1
fuzzystrmatch1.11.11.11.11.11.11.1
hstore1.41.41.41.41.41.41.4
hstore_plperl1.01.01.01.01.01.01.0
intagg1.11.11.11.11.11.11.1
intarray1.21.21.21.21.21.21.2
ip4r2.02.02.1.12.1.12.1.12.1.12.1.1
isn 1.11.11.11.11.11.11.1
log_fdw—see Using the log_fdw Extension1.01.01.01.01.01.01.0
libprotobufN/AN/AN/A1.3.01.3.01.3.01.3.0
ltree 1.11.11.11.11.11.11.1
orafce3.6.13.6.13.6.13.6.13.6.13.6.13.6.1
pgaudit1.2.01.2.01.2.01.2.01.2.01.2.01.2.0
pg_buffercache1.31.31.31.31.31.31.3
pg_freespacemap1.21.21.21.21.21.21.2
pg_hint_plan1.3.01.3.01.3.01.3.11.3.11.3.11.3.3
pg_prewarm1.11.11.11.11.11.11.1
pg_repack 1.4.21.4.21.4.31.4.31.4.31.4.31.4.3
pg_similarityN/AN/AN/A1.01.01.01.0
pg_stat_statements1.51.51.51.51.51.51.5
pg_trgm1.31.31.31.31.31.31.3
pg_visibility1.21.21.21.21.21.21.2
pgcrypto1.31.31.31.31.31.31.3
pageinspectN/AN/AN/A1.61.61.61.6
pglogicalN/AN/AN/A2.2.02.2.02.2.02.2.0
pgrowlocks1.21.21.21.21.21.21.2
pgrouting2.5.22.5.22.5.22.5.22.5.22.5.22.5.2
pgstattuple1.51.51.51.51.51.51.5
plcoffee2.1.02.1.02.1.22.1.22.1.22.1.22.1.2
plls2.1.02.1.02.1.22.1.22.1.22.1.22.1.2
plperl1.01.01.01.01.01.01.0
plpgsql1.01.01.01.01.01.01.0
pltcl1.01.01.01.01.01.01.0
plv82.1.02.1.02.1.22.1.22.1.22.1.22.1.2
PostGIS2.4.22.4.22.4.42.4.42.4.42.4.42.4.4
postgis_tiger_geocoder2.4.22.4.22.4.22.4.22.4.22.4.22.4.2
postgis_topology2.4.22.4.22.4.22.4.22.4.22.4.22.4.2
postgres_fdw1.01.01.01.01.01.01.0
postgresql-hll2.10.22.10.22.10.22.10.22.10.22.10.22.10.2
prefix1.2.01.2.01.2.01.2.01.2.01.2.01.2.0
sslinfo1.21.21.21.21.21.21.2
tablefunc1.01.01.01.01.01.01.0
test_parser1.01.01.01.01.01.01.0
tsearch2 (deprecated in version 10) 1.01.01.01.01.01.01.0
tsm_system_rows1.01.01.01.01.01.01.0
tsm_system_time1.01.01.01.01.01.01.0
unaccent 1.11.11.11.11.11.11.1
uuid-ossp1.11.11.11.11.11.11.1

The tsearch2 extension is deprecated in version 10. The PostgreSQL team plans to remove tsearch2 from the next major release of PostgreSQL.

The following modules are supported as shown for versions of PostgreSQL 10.

ModuleVersion 10.110.310.410.510.610.710.9
amcheckNot SupportedSupportedSupportedSupportedSupportedSupportedSupported
auto_explainSupportedSupportedSupportedSupportedSupportedSupportedSupported
decoder_rawSupportedSupportedSupportedSupportedSupportedSupportedSupported
ICUVersion 60.2 supportedVersion 60.2 supportedVersion 60.2 supportedVersion 60.2 supportedVersion 60.2 supportedVersion 60.2 supportedVersion 60.2 supported
test_decodingSupportedSupportedSupportedSupportedSupportedSupportedSupported
wal2jsonCommit hash 5352cc4Commit hash 5352cc4Commit hash 5352cc4Commit hash 01c5c1eCommit hash 9e962baCommit hash 9e962baCommit hash 9e962ba
PostgreSQL Version 9.6.x Extensions and Modules Supported on Amazon RDS

The following tables show PostgreSQL extensions and modules for PostgreSQL version 9.6.x that are currently supported by PostgreSQL on Amazon RDS. 'N/A' indicates that the extension or module is not available for that PostgreSQL version. For more information on PostgreSQL extensions, see Packaging Related Objects into an Extension.

Extension9.6.19.6.29.6.39.6.59.6.69.6.89.6.99.6.109.6.119.6.129.6.14
address_standardizer2.3.02.3.22.3.22.3.22.3.42.3.42.3.42.3.42.3.42.3.42.3.4
address_standardizer_data_us2.3.02.3.22.3.22.3.22.3.42.3.42.3.42.3.42.3.42.3.42.3.4
bloom1.01.01.01.01.01.01.01.01.01.01.0
btree_gin1.01.01.01.01.01.01.01.01.01.01.0
btree_gist1.21.21.21.21.21.21.21.21.21.21.2
chkpass1.01.01.01.01.01.01.01.01.01.01.0
citext 1.31.31.31.31.31.31.31.31.31.31.3
cube 1.21.21.21.21.21.21.21.21.21.21.2
dblink1.21.21.21.21.21.21.21.21.21.21.2
dict_int 1.01.01.01.01.01.01.01.01.01.01.0
dict_xsyn1.01.01.01.01.01.01.01.01.01.01.0
earthdistance1.11.11.11.11.11.11.11.11.11.11.1
fuzzystrmatch1.11.11.11.11.11.11.11.11.11.11.1
hstore1.41.41.41.41.41.41.41.41.41.41.4
hstore_plperl1.01.01.01.01.01.01.01.01.01.01.0
intagg1.11.11.11.11.11.11.11.11.11.11.1
intarray1.21.21.21.21.21.21.21.21.21.21.2
ip4r2.02.02.02.02.02.02.1.12.1.12.1.12.1.12.1.1
isn 1.11.11.11.11.11.11.11.11.11.11.1
log_fdw—see Using the log_fdw Extension N/A1.01.01.01.01.01.01.01.01.01.0
ltree 1.11.11.11.11.11.11.11.11.11.11.1
orafce N/AN/AN/AN/A3.6.13.6.13.6.13.6.13.6.13.6.13.6.1
pgauditN/AN/A1.11.11.11.11.1.11.1.11.1.11.1.11.1.1
pg_buffercache1.21.21.21.21.21.21.21.21.21.21.2
pg_freespacemap N/A1.11.11.11.11.11.11.11.11.11.1
pg_hint_plan N/A1.1.31.1.31.1.31.1.31.2.21.2.21.2.31.2.31.2.31.2.5
pg_prewarm1.11.11.11.11.11.11.11.11.11.11.1
pg_repack N/AN/A1.4.01.4.11.4.21.4.21.4.31.4.31.4.31.4.31.4.3
pg_similarityN/AN/AN/AN/AN/AN/AN/A1.01.01.01.0
pg_stat_statements1.41.41.41.41.41.41.41.41.41.41.4
pg_trgm1.31.31.31.31.31.31.31.31.31.31.3
pg_visibility1.11.11.11.11.11.11.11.11.11.11.1
pgcrypto1.31.31.31.31.31.31.31.31.31.31.3
pglogicalN/AN/AN/AN/AN/AN/AN/A2.2.02.2.02.2.02.2.0
pgrowlocks1.21.21.21.21.21.21.21.21.21.21.2
pgroutingN/AN/AN/A2.3.22.4.22.4.22.4.22.4.22.4.22.4.22.4.2
pgstattuple1.41.41.41.41.41.41.41.41.41.41.4
plcoffee1.5.31.5.31.5.31.5.31.5.32.1.22.1.22.1.22.1.22.1.22.1.2
plls1.5.31.5.31.5.31.5.31.5.32.1.22.1.22.1.22.1.22.1.22.1.2
plperl1.01.01.01.01.01.01.01.01.01.01.0
plpgsql1.01.01.01.01.01.01.01.01.01.01.0
pltcl1.01.01.01.01.01.01.01.01.01.01.0
plv81.5.31.5.31.5.31.5.31.5.32.1.02.1.22.1.22.1.22.1.22.1.2
PostGIS2.3.02.3.22.3.22.3.22.3.42.3.42.3.72.3.72.3.72.3.72.3.7
postgis_tiger_geocoder2.3.02.3.22.3.22.3.22.3.42.3.42.3.42.3.42.3.42.3.42.3.4
postgis_topology2.3.02.3.22.3.22.3.22.3.42.3.42.3.42.3.42.3.42.3.42.3.4
postgres_fdw1.01.01.01.01.01.01.01.01.01.01.0
postgresql-hllN/AN/AN/A2.10.22.10.22.10.22.10.22.10.22.10.22.10.22.10.2
prefixN/AN/AN/AN/A1.2.61.2.61.2.61.2.61.2.61.2.61.2.6
sslinfo1.21.21.21.21.21.21.21.21.21.21.2
tablefunc1.01.01.01.01.01.01.01.01.01.01.0
test_parser1.01.01.01.01.01.01.01.01.01.01.0
tsearch21.01.01.01.01.01.01.01.01.01.01.0
tsm_system_rows1.01.01.01.01.01.01.01.01.01.01.0
tsm_system_time1.01.01.01.01.01.01.01.01.01.01.0
unaccent 1.11.11.11.11.11.11.11.11.11.11.1
uuid-ossp1.11.11.11.11.11.11.11.11.11.11.1

The following modules are supported as shown for versions of PostgreSQL 9.6.

Module9.6.19.6.29.6.39.6.59.6.89.6.99.6.109.6.119.6.129.6.14
auto_explainN/AN/ASupportedSupportedSupportedSupportedSupportedSupportedSupportedSupported
decoder_rawN/AN/AN/ASupportedSupportedSupportedSupportedSupportedSupportedSupported
test_decodingSupportedSupportedSupportedSupportedSupportedSupportedSupportedSupportedSupportedSupported
wal2jsonN/AN/aCommit hash 2828409Commit hash 645ab69Commit hash 5352cc4Commit hash 5352cc4Commit hash 01c5c1eCommit hash 9e962baCommit hash 9e962baCommit hash 9e962ba
PostgreSQL Version 9.5.x Extensions Supported on Amazon RDS

The following tables show PostgreSQL extensions and modules for PostgreSQL version 9.5.x that are currently supported by PostgreSQL on Amazon RDS. 'N/A' indicates that the extension or module is not available for that PostgreSQL version. For more information on PostgreSQL extensions, see Packaging Related Objects into an Extension.

Extension9.5.29.5.49.5.69.5.79.5.99.5.109.5.129.5.139.5.149.5.159.5.169.5.18
address_standardizer2.2.22.2.22.2.52.2.52.2.52.2.52.2.52.2.52.2.52.2.52.2.52.2.5
address_standardizer_data_us2.2.22.2.22.2.52.2.52.2.52.2.52.2.52.2.52.2.52.2.52.2.52.2.5
bloomN/AN/AN/AN/AN/AN/AN/AN/AN/AN/AN/AN/A
btree_gin1.01.01.01.01.01.01.01.01.01.01.01.0
btree_gist1.11.11.11.11.11.11.11.11.11.11.11.1
chkpass1.01.01.01.01.01.01.01.01.01.01.01.0
citext 1.11.11.11.11.11.11.11.11.11.11.11.1
cube 1.01.01.01.01.01.01.01.01.01.01.01.0
dblink1.11.11.11.11.11.11.11.11.11.11.11.1
dict_int 1.01.01.01.01.01.01.01.01.01.01.01.0
dict_xsyn1.01.01.01.01.01.01.01.01.01.01.01.0
earthdistance1.01.01.01.01.01.01.01.01.01.01.01.0
fuzzystrmatch1.01.01.01.01.01.01.01.01.01.01.01.0
hstore1.31.31.31.31.31.31.31.31.31.31.31.3
hstore_plperl1.01.01.01.01.01.01.01.01.01.01.01.0
intagg1.01.01.01.01.01.01.01.01.01.01.01.0
intarray1.01.01.01.01.01.01.01.01.01.01.01.0
ip4r2.02.02.02.02.02.02.02.02.02.02.02.0
isn 1.01.01.01.01.01.01.01.01.01.01.01.0
log_fdw—see Using the log_fdw ExtensionN/AN/AN/AN/AN/AN/AN/AN/AN/AN/AN/AN/A
ltree 1.01.01.01.01.01.01.01.01.01.01.01.0
pgauditN/AN/AN/A1.0.51.0.51.0.51.0.51.0.61.0.61.0.61.0.61.0.6
pg_buffercache1.11.11.11.11.11.11.11.11.11.11.11.1
pg_freespacemap N/A N/A1.01.01.01.01.01.01.01.01.01.0
pg_hint_plan N/A N/A1.1.31.1.31.1.31.1.31.1.31.1.51.1.51.1.51.1.51.1.8
pg_prewarm1.01.01.01.01.01.01.01.01.01.01.01.0
pg_stat_statements1.31.31.31.31.31.31.31.31.31.31.31.3
pg_trgm1.11.11.11.11.11.11.11.11.11.11.11.1
pg_visibility N/A N/A N/A N/A N/A N/AN/AN/AN/AN/AN/AN/A
pgcrypto1.21.21.21.21.21.21.21.21.21.21.21.2
pgrowlocks1.11.11.11.11.11.11.11.11.11.11.11.1
pgstattuple1.31.31.31.31.31.31.31.31.31.31.31.3
plcoffee1.4.41.4.41.4.41.4.41.4.41.4.42.1.02.1.02.1.02.1.02.1.02.1.0
plls1.4.41.4.41.4.41.4.41.4.41.4.42.1.02.1.02.1.02.1.02.1.02.1.0
plperl1.01.01.01.01.01.01.01.01.01.01.01.0
plpgsql1.01.01.01.01.01.01.01.01.01.01.01.0
pltcl1.01.01.01.01.01.01.01.01.01.01.01.0
plv81.4.41.4.41.4.41.4.41.4.41.4.42.1.02.1.22.1.22.1.22.1.22.1.2
PostGIS2.2.22.2.22.2.52.2.52.2.52.2.52.2.52.2.52.2.52.2.52.2.52.2.5
postgis_tiger_geocoder2.2.22.2.22.2.52.2.52.2.52.2.52.2.52.2.52.2.52.2.52.2.52.2.5
postgis_topology2.2.22.2.22.2.52.2.52.2.52.2.52.2.52.2.52.2.52.2.52.2.52.2.5
postgres_fdw1.01.01.01.01.01.01.01.01.01.01.01.0
sslinfo1.01.01.01.01.01.01.01.01.01.01.01.0
tablefunc1.01.01.01.01.01.01.01.01.01.01.01.0
test_parser1.01.01.01.01.01.01.01.01.01.01.01.0
tsearch21.01.01.01.01.01.01.01.01.01.01.01.0
tsm_system_rows N/A N/A1.01.01.01.01.01.01.01.01.01.0
tsm_system_time N/A N/A1.01.01.01.01.01.01.01.01.01.0
unaccent 1.01.01.01.01.01.01.01.01.01.01.01.0
uuid-ossp1.01.01.01.01.01.01.01.01.01.01.01.0

The following modules are supported as shown for versions of PostgreSQL 9.5.

Module9.5.29.5.49.5.69.5.79.5.99.5.129.5.139.5.149.5.159.5.169.5.18
auto_explainN/AN/AN/ASupportedSupportedSupportedSupportedSupportedSupportedSupportedSupported
test_decodingN/AN/ASupportedSupportedSupportedSupportedSupportedSupportedSupportedSupportedSupported
wal2jsonN/AN/aN/ACommit hash 2828409Commit hash 2828409Commit hash 2828409Commit hash 2828409Commit hash 2828409Commit hash 2828409Commit hash 2828409Commit hash 2828409
PostgreSQL Version 9.4.x Extensions and Modules Supported on Amazon RDS

The following tables show the PostgreSQL extensions and modules for PostgreSQL version 9.4.x that are currently supported by PostgreSQL on Amazon RDS. 'N/A' indicates that the extension or module is not available for that PostgreSQL version. For more information on PostgreSQL extensions, see Packaging Related Objects into an Extension.

Extension9.4.79.4.99.4.119.4.129.4.149.4.159.4.179.4.189.4.199.4.209.4.21
address_standardizer N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
address_standardizer_data_us N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
bloom N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
btree_gin1.01.01.01.01.01.01.01.01.01.01.0
btree_gist1.01.01.01.01.01.01.01.01.01.01.0
chkpass1.01.01.01.01.01.01.01.01.01.01.0
citext 1.01.01.01.01.01.01.01.01.01.01.0
cube 1.01.01.01.01.01.01.01.01.01.01.0
dblink1.11.11.11.11.11.11.11.11.11.11.1
dict_int 1.01.01.01.01.01.01.01.01.01.01.0
dict_xsyn1.01.01.01.01.01.01.01.01.01.01.0
earthdistance1.01.01.01.01.01.01.01.01.01.01.0
fuzzystrmatch1.01.01.01.01.01.01.01.01.01.01.0
hstore1.31.31.31.31.31.31.31.31.31.31.3
hstore_plperl N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
intagg1.01.01.01.01.01.01.01.01.01.01.0
intarray1.01.01.01.01.01.01.01.01.01.01.0
ip4r2.02.02.02.02.02.02.02.02.02.02.0
isn 1.01.01.01.01.01.01.01.01.01.01.0
log_fdw—see Using the log_fdw Extension N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
ltree 1.01.01.01.01.01.01.01.01.01.01.0
pg_buffercache1.01.01.01.01.01.01.01.01.01.01.0
pg_freespacemap N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
pg_hint_plan N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
pg_prewarm1.01.01.01.01.01.01.01.01.01.01.0
pg_stat_statements1.21.21.21.21.21.21.21.21.21.21.2
pg_trgm1.11.11.11.11.11.11.11.11.11.11.1
pg_visibility N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
pgcrypto1.11.11.11.11.11.11.11.11.11.11.1
pgrowlocks1.11.11.11.11.11.11.11.11.11.11.1
pgstattuple1.21.21.21.21.21.21.21.21.21.21.2
plcoffee1.4.41.4.41.4.41.4.41.4.41.4.41.4.41.4.41.4.41.4.41.4.4
plls1.4.41.4.41.4.41.4.41.4.41.4.41.4.41.4.41.4.41.4.41.4.4
plperl1.01.01.01.01.01.01.01.01.01.01.0
plpgsql1.01.01.01.01.01.01.01.01.01.01.0
pltcl1.01.01.01.01.01.01.01.01.01.01.0
plv81.4.41.4.41.4.41.4.41.4.41.4.42.1.02.1.22.1.22.1.22.1.2
PostGIS2.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.8
postgis_tiger_geocoder2.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.8
postgis_topology2.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.8
postgres_fdw1.01.01.01.01.01.01.01.01.01.01.0
sslinfo1.01.01.01.01.01.01.01.01.01.01.0
tablefunc1.01.01.01.01.01.01.01.01.01.01.0
test_parser1.01.01.01.01.01.01.01.01.01.01.0
tsearch21.01.01.01.01.01.01.01.01.01.01.0
tsm_system_rows N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
tsm_system_time N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
unaccent 1.01.01.01.01.01.01.01.01.01.01.0
uuid-ossp1.01.01.01.01.01.01.01.01.01.01.0

The following modules are supported as shown for versions of PostgreSQL 9.4.

Module9.4.79.4.99.4.119.4.129.4.149.4.17
test_decodingN/AN/AN/ASupportedSupportedSupported
PostgreSQL Version 9.3.x Extensions Supported on Amazon RDS

Note

Amazon RDS for PostgreSQL has deprecated PostgreSQL version 9.3.x. We strongly recommend that you upgrade to a major version, preferably version 9.6.x or 10.x. See Upgrading the PostgreSQL DB Engine for Amazon RDS.

The following table shows PostgreSQL extensions for PostgreSQL version 9.3.x that are currently supported by PostgreSQL on Amazon RDS. 'N/A' indicates that the extension is not available for that PostgreSQL version. For more information on PostgreSQL extensions, see Packaging Related Objects into an Extension.

Extension9.3.129.3.149.3.169.3.179.3.199.3.209.3.229.3.239.3.249.3.25
address_standardizer N/A N/A N/A N/A N/A N/A N/AN/AN/AN/A
address_standardizer_data_us N/A N/A N/A N/A N/A N/A N/AN/AN/AN/A
bloom N/A N/A N/A N/A N/A N/A N/AN/AN/AN/A
btree_gin1.01.01.01.01.01.01.01.01.01.0
btree_gist1.01.01.01.01.01.01.01.01.01.0
chkpass1.01.01.01.01.01.01.01.01.01.0
citext 1.01.01.01.01.01.01.01.01.01.0
cube 1.01.01.01.01.01.01.01.01.01.0
dblink1.11.11.11.11.11.11.11.11.11.1
dict_int 1.01.01.01.01.01.01.01.01.01.0
dict_xsyn1.01.01.01.01.01.01.01.01.01.0
earthdistance1.01.01.01.01.01.01.01.01.01.0
fuzzystrmatch1.01.01.01.01.01.01.01.01.01.0
hstore1.21.21.21.21.21.21.21.21.21.2
hstore_plperl N/A N/A N/A N/A N/A N/A N/AN/AN/AN/A
intagg1.01.01.01.01.01.01.01.01.01.0
intarray1.01.01.01.01.01.01.01.01.01.0
ip4r N/A N/A N/A N/A N/A N/A N/AN/AN/AN/A
isn 1.01.01.01.01.01.01.01.01.01.0
log_fdw—see Using the log_fdw Extension N/A N/A N/A N/A N/A N/A N/AN/AN/AN/A
ltree 1.01.01.01.01.01.01.01.01.01.0
pg_buffercache N/A N/A N/A N/A N/A N/A N/AN/AN/AN/A
pg_freespacemap N/A N/A N/A N/A N/A N/A N/AN/AN/AN/A
pg_hint_plan N/A N/A N/A N/A N/A N/A N/AN/AN/AN/A
pg_prewarm N/A N/A N/A N/A N/A N/A N/AN/AN/AN/A
pg_stat_statements1.11.11.11.11.11.11.11.11.11.1
pg_trgm1.11.11.11.11.11.11.11.11.11.1
pg_visibility N/A N/A N/A N/A N/A N/A N/AN/AN/AN/A
pgcrypto1.01.01.01.01.01.01.01.01.01.0
pgrowlocks1.11.11.11.11.11.11.11.11.11.1
pgstattuple N/A N/A N/A N/A N/A N/A N/AN/AN/AN/A
plcoffee1.4.41.4.41.4.41.4.41.4.41.4.41.4.41.4.41.4.41.4.4
plls1.4.41.4.41.4.41.4.41.4.41.4.41.4.41.4.41.4.41.4.4
plperl1.01.01.01.01.01.01.01.01.01.0
plpgsql1.01.01.01.01.01.01.01.01.01.0
pltcl1.01.01.01.01.01.01.01.01.01.0
plv81.4.41.4.41.4.41.4.41.4.41.4.42.1.02.1.22.1.22.1.2
PostGIS2.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.8
postgis_tiger_geocoder2.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.8
postgis_topology2.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.82.1.8
postgres_fdw1.01.01.01.01.01.01.01.01.01.0
sslinfo1.01.01.01.01.01.01.01.01.01.0
tablefunc1.01.01.01.01.01.01.01.01.01.0
test_parser1.01.01.01.01.01.01.01.01.01.0
tsearch21.01.01.01.01.01.01.01.01.01.0
tsm_system_rows N/A N/A N/A N/A N/A N/A N/AN/AN/AN/A
tsm_system_time N/A N/A N/A N/A N/A N/A N/AN/AN/AN/A
unaccent 1.01.01.01.01.01.01.01.01.01.0
uuid-ossp1.01.01.01.01.01.01.01.01.01.0
PostgreSQL Extension Support for PostGIS on Amazon RDS

Before you can use the PostGIS extension, you must create it by running the following command.

The following table shows the PostGIS component versions that ship with the Amazon RDS for PostgreSQL versions.

PostgreSQLPostGISGEOSGDALPROJ
9.3.122.1.8 r137803.5.0-CAPI-1.9.0 r4084

1.11.4, released 2016/01/25

Rel. 4.9.2, September 8th, 2015

9.3.142.1.8 r137803.5.0-CAPI-1.9.0 r4084

1.11.5, released 2016/07/01

Rel. 4.9.2, September 8th, 2015

9.3.162.1.8 r137803.5.0-CAPI-1.9.0 r4084

1.11.5, released 2016/07/01

Rel. 4.9.2, September 8th, 2015

9.3.172.1.8 r137803.5.0-CAPI-1.9.0 r4084

1.11.5, released 2016/07/01

Rel. 4.9.2, September 8th, 2015

9.4.7

2.1.8 r13780

3.5.0-CAPI-1.9.0 r4084

1.11.4, released 2016/01/25

Rel. 4.9.2, September 8th, 2015
9.4.9

2.1.8 r13780

3.5.0-CAPI-1.9.0 r4084

1.11.5, released 2016/07/01

Rel. 4.9.2, September 8th, 2015
9.4.11

2.1.8 r13780

3.5.0-CAPI-1.9.0 r4084

1.11.5, released 2016/07/01

Rel. 4.9.2, September 8th, 2015
9.4.12

2.1.8 r13780

3.5.0-CAPI-1.9.0 r4084

1.11.5, released 2016/07/01

Rel. 4.9.2, September 8th, 2015
9.5.2

2.2.2 r14797

3.5.0-CAPI-1.9.0 r4084

2.0.2, released 2016/01/26

Rel. 4.9.2, September 8th, 2015
9.5.4

2.2.2 r14797

3.5.0-CAPI-1.9.0 r4084

2.0.3, released 2016/07/01

Rel. 4.9.2, September 8th, 2015
9.5.6

2.2.5 r15298

3.5.1-CAPI-1.9.1 r4246

2.0.3, released 2016/07/01

Rel. 4.9.3, September 15th, 2016

9.5.7

2.2.5 r15298

3.5.1-CAPI-1.9.1 r4246

2.0.3, released 2016/07/01

Rel. 4.9.3, September 15th, 2016

9.6.1

2.3.0 r15146

3.5.0-CAPI-1.9.0 r4084

2.1.1, released 2016/07/07

Rel. 4.9.2, September 8th, 2016
9.6.2

2.3.2 r15302

3.5.1-CAPI-1.9.1 r4246

2.1.3, released 2017/20/01

Rel. 4.9.3, September 15th, 2016

9.6.3

2.3.2 r15302

3.5.1-CAPI-1.9.1 r4246

2.1.3, released 2017/20/01

Rel. 4.9.3, September 15th, 2016

9.6.62.3.4 r160093.6.2-CAPI-1.10.2 4d2925d62.1.3, released 2017/20/01Rel. 4.9.3, September 15th, 2016
9.6.82.3.4 r160093.6.2-CAPI-1.10.2 4d2925d62.1.3, released 2017/20/01Rel. 4.9.3, September 15th, 2016
9.6.92.3.7 r165233.6.2-CAPI-1.10.2 4d2925d62.1.4, released 2017/06/23

Rel. 4.9.3, September 15th, 2016

9.6.102.3.7 r165233.6.2-CAPI-1.10.2 4d2925d62.1.4, released 2017/06/23

Rel. 4.9.3, September 15th, 2016

9.6.112.3.7 r165233.6.2-CAPI-1.10.2 4d2925d62.1.4, released 2017/06/23

Rel. 4.9.3, September 15th, 2016

10.12.4.23.6.2-CAPI-1.10.2 4d2925d62.1.3, released 2017/20/01 Rel. 4.9.3, September 15th, 2016
10.32.4.23.6.2-CAPI-1.10.2 4d2925d62.1.3, released 2017/20/01 Rel. 4.9.3, September 15th, 2016
10.42.4.4 r165263.6.2-CAPI-1.10.2 4d2925d62.1.4, released 2017/06/23

Rel. 4.9.3, September 15th, 2016

10.5 2.4.4 r165263.6.2-CAPI-1.10.2 4d2925d62.1.4, released 2017/06/23Rel. 4.9.3, September 15th, 2016
10.62.4.4 r165263.6.2-CAPI-1.10.2 4d2925d62.1.4, released 2017/06/23Rel. 4.9.3, September 15th, 2016
11.12.5.1 r170273.7.0-CAPI-1.11.0 673b99392.3.1, released 2018/06/22Rel. 5.2.0, September 15th, 2018

Note

PostgreSQL 10.5 added support for the libprotobuf extension version 1.3.0 to the PostGIS component.

Using the log_fdw Extension
Aws rds

The log_fdw extension is new for Amazon RDS for PostgreSQL version 9.6.2 and later. Using this extension, you can access your database engine log using a SQL interface. In addition to viewing the stderr log files that are generated by default on RDS, you can view CSV logs (set the log_destination parameter to csvlog) and build foreign tables with the data neatly split into several columns.

This extension introduces two new functions that make it easy to create foreign tables for database logs:

  • list_postgres_log_files() – Lists the files in the database log directory and the file size in bytes.

  • create_foreign_table_for_log_file(table_name text, server_name text, log_file_name text) – Builds a foreign table for the specified file in the current database.

All functions created by log_fdw are owned by rds_superuser. Members of the rds_superuser role can grant access to these functions to other database users.

The following example shows how to use the log_fdw extension.

To use the log_fdw extension

  1. Get the log_fdw extension.

  2. Create the log server as a foreign data wrapper.

  3. Select all from a list of log files.

    A sample response is as follows.

  4. Create a table with a single 'log_entry' column for non-CSV files.

    A sample response is as follows.

  5. Select a sample of the log file. The following code retrieves the log time and error message description.

    A sample response is as follows.

Upgrade PL/v8

If you use PL/v8 and upgrade PostgreSQL to a new PL/v8 version, you immediately take advantage of the new extension but the catalog metadata doesn't reflect this fact. The following steps synchronize your catalog metadata with the new version of PL/v8. These steps are optional but we highly recommended you complete them to avoid metadata mismatch warnings.

  1. Verify that you need to update.

    Run the following command while connected to your instance.

    select * from pg_available_extensions where name in ('plv8','plls','plcoffee');

    If your results contain values for an installed version that is a lower number than the default version, you should continue with this procedure to update your extensions.

    For example, the following result set indicates you should update:

  2. Take a snapshot of your instance.

    The upgrade drops all your PL/v8 functions. Take a snapshot of your instance as a precaution. You can continue with the following steps while the snapshot is being created.

    For steps to create a snapshot see, Creating a DB Snapshot

  3. Get a count of the functions you need to drop and recreate.

    Obtain the count of the number of PL/v8 functions in your instance so you can validate that they are all in place after the upgrade.

    The following code returns the number of functions written in PL/v8, plcoffee, or plls:

  4. Use pg_dump to create a schema-only dump file.

    The following code creates a file on your client machine in the /tmp directory.

    ./pg_dump -Fc --schema-only -U master postgres > /tmp/test.dmp

    This example uses the following flags:

    • -FC 'format custom'

    • --schema-only 'will only dump commands necessary to create schema (functions in our case)'

    • -U 'rds master username'

    • database 'the database name in our instance'

    For more information on pg_dump see, pg_dump.

  5. Extract the 'CREATE FUNCTION' DDL statement that is present in the dump file.

    The following code extracts the DDL statement needed to create the functions. You use this in subsequent steps to recreate the functions. The code uses the grep command to extract the statements to a file.

    ./pg_restore -l /tmp/test.dmp | grep FUNCTION > /tmp/function_list/

    For more information on pg_restore see, pg_restore.

  6. Drop the functions and extensions.

    The following code drops any PL/v8 based objects. The cascade option ensures that any dependent are dropped.

    drop extension plv8 cascade;

    If your PostgreSQL instance contains objects based on plcoffee or plls, repeat this step for those extensions.

  7. Create the extensions.

    The following code creates the PL/v8, plcoffee, and plls extensions:

    create extension plv8;

    create extension plcoffee;

    create extension plls;

  8. Create the functions using the dump file and 'driver' file.

    The following code re-creates the functions that you extracted previously.

    ./pg_restore -U master -d postgres -Fc -L /tmp/function_list /tmp/test.dmp

  9. Verify your functions count.

    Validate that your functions have all been re-creating by re-running the following code:

    select * from pg_available_extensions where name in ('plv8','plls','plcoffee');

    Note

    PL/v8 version 2 adds the following extra row to your result set:

Supported PostgreSQL Features

Amazon RDS supports many of the most common PostgreSQL features. These include:

Topics

Logical Replication for PostgreSQL on Amazon RDS

Beginning with PostgreSQL version 10.4, RDS supports the publication and subscription SQL Syntax for PostgreSQL 10 Logical Replication.

To enable logical replication for an Amazon RDS for PostgreSQL DB instance

  1. The AWS user account requires the rds_superuser role to perform logical replication for the PostgreSQL database on Amazon RDS.

  2. Set the rds.logical_replication static parameter to 1.

  3. Modify the inbound rules of the security group for the publisher instance (production) to allow the subscriber instance (replica) to connect. This is usually done by including the IP address of the subscriber in the security group.

  4. Restart the DB instance for the changes to the static parameter rds.logical_replication to take effect.

For more information on PostgreSQL logical replication, see the PostgreSQL documentation.

Logical Decoding and Logical Replication

Beginning with PostgreSQL version 9.4, RDS supports the streaming of WAL changes using logical replication slots. Amazon RDS supports logical decoding for a PostgreSQL DB instance version 9.4.9 and higher and 9.5.4 and higher. You can set up logical replication slots on your instance and stream database changes through these slots to a client such as pg_recvlogical. Logical replication slots are created at the database level and support replication connections to a single database.

The most common clients for PostgreSQL logical replication are the AWS Database Migration Service or a custom-managed host on an AWS EC2 instance. The logical replication slot knows nothing about the receiver of the stream, and there is no requirement that the target be a replica database. If you set up a logical replication slot and don't read from the slot, data can be written and quickly fill up your DB instance's storage.

PostgreSQL logical replication and logical decoding on Amazon RDS are enabled with a parameter, a replication connection type, and a security role. The client for logical decoding can be any client that is capable of establishing a replication connection to a database on a PostgreSQL DB instance.

To enable logical decoding for an Amazon RDS for PostgreSQL DB instance

  1. The user account requires the rds_superuser role to enable logical replication. The user account also requires the rds_replication role to grant permissions to manage logical slots and to stream data using logical slots.

  2. Set the rds.logical_replication static parameter to 1. As part of applying this parameter, we also set the parameters wal_level, max_wal_senders, max_replication_slots, and max_connections. These parameter changes can increase WAL generation, so you should only set the rds.logical_replication parameter when you are using logical slots.

  3. Reboot the DB instance for the static rds.logical_replication parameter to take effect.

  4. Create a logical replication slot as explained in the next section. This process requires that you specify a decoding plugin. Currently we support the test_decoding output plugin that ships with PostgreSQL.

For more information on PostgreSQL logical decoding, see the PostgreSQL documentation.

Working with Logical Replication Slots

You can use SQL commands to work with logical slots. For example, the following command creates a logical slot named test_slot using the default PostgreSQL output plugin test_decoding.

The output should be similar to the following.

To list logical slots, use the following command.

To drop a logical slot, use the following command.

The output should be similar to the following.

For more examples on working with logical replication slots, see Logical Decoding Examples in the PostgreSQL documentation.

Once you create the logical replication slot, you can start streaming. The following example shows how logical decoding is controlled over the streaming replication protocol, using the program pg_recvlogical included in the PostgreSQL distribution. This requires that client authentication is set up to allow replication connections.

Event Triggers for PostgreSQL on Amazon RDS

PostgreSQL versions 9.4.9 and later and version 9.5.4 and later support event triggers, and Amazon RDS supports event triggers for these versions. The master user account can be used to create, modify, rename, and delete event triggers. Event triggers are at the DB instance level, so they can apply to all databases on an instance.

For example, the following code creates an event trigger that prints the current user at the end of every DDL command.

For more information about PostgreSQL event triggers, see Event Triggers in the PostgreSQL documentation.

There are several limitations to using PostgreSQL event triggers on Amazon RDS. These include:

  • You cannot create event triggers on read replicas. You can, however, create event triggers on a read replica master. The event triggers are then copied to the read replica. The event triggers on the read replica don't fire on the read replica when changes are pushed from the master. However, if the read replica is promoted, the existing event triggers fire when database operations occur.

  • To perform a major version upgrade to a PostgreSQL DB instance that uses event triggers, you must delete the event triggers before you upgrade the instance.

Huge Pages for Amazon RDS for PostgreSQL

Amazon RDS for PostgreSQL supports multiple page sizes for PostgreSQL versions 9.4.11 and later, 9.5.6 and later, and 9.6.2 and later. This support includes 4 K and 2 MB page sizes.

Huge pages reduce overhead when using large contiguous chunks of memory. You allocate huge pages for your application by using calls to mmap or SYSV shared memory. You enable huge pages on an Amazon RDS for PostgreSQL database by using the huge_pages parameter. Set this parameter to 'on' to enable huge pages.

For PostgreSQL versions 10 and above, huge pages are enabled for all instance classes. For PostgreSQL versions below 10, huge pages are enabled by default for db.r4.*, db.m4.16xlarge, and db.m5.* instance classes. For other instance classes, huge pages are disabled by default.

When you set the huge_pages parameter to 'on,' Amazon RDS uses huge pages based on the available shared memory. If the DB instance is unable to use huge pages due to shared memory constraints, Amazon RDS prevents the instance from starting and sets the status of the DB instance to an incompatible parameters state. In this case, you can set the huge_pages parameter to 'off' to allow Amazon RDS to start the DB instance.

The shared_buffers parameter is key to setting the shared memory pool that is required for using huge pages. The default value for the shared_buffers parameter is set to a percentage of the total 8K pages available for that instance's memory. When you use huge pages, those pages are allocated in the huge pages collocated together. Amazon RDS puts a DB instance into an incompatible parameters state if the shared memory parameters are set to require more than 90 percent of the DB instance memory. For more information about setting shared memory for PostgreSQL, see the PostgreSQL documentation.

Note

Huge pages are not supported for the db.m1, db.m2, and db.m3 DB instance classes.

Tablespaces for PostgreSQL on Amazon RDS

Tablespaces are supported in PostgreSQL on Amazon RDS for compatibility; since all storage is on a single logical volume, tablespaces cannot be used for IO splitting or isolation. We have benchmarks and practical experience that shows that a single logical volume is the best setup for most use cases.

Autovacuum for PostgreSQL on Amazon RDS

The PostgreSQL autovacuum feature is turned on by default for new PostgreSQL DB instances. Autovacuum is optional, but we highly recommend that you do not turn autovacuum off. For more information on using autovacuum with Amazon RDS for PostgreSQL, see Working with PostgreSQL Autovacuum on Amazon RDS.

RAM Disk for the stats_temp_directory

The Amazon RDS for PostgreSQL parameter, rds.pg_stat_ramdisk_size, can be used to specify the system memory allocated to a RAM disk for storing the PostgreSQL stats_temp_directory. The RAM disk parameter is available for all PostgreSQL versions on Amazon RDS.

Under certain workloads, setting this parameter can improve performance and decrease IO requirements. For more information about the stats_temp_directory, see the PostgreSQL documentation.

To enable a RAM disk for your stats_temp_directory, set the rds.pg_stat_ramdisk_size parameter to a non-zero value in the parameter group used by your DB instance. The parameter value is in MB. You must reboot the DB instance before the change takes effect.

For example, the following AWS CLI command sets the RAM disk parameter to 256 MB.

After you reboot, run the following command to see the status of the stats_temp_directory:

The command should return the following:

ALTER ENUM for PostgreSQL

Amazon RDS for PostgreSQL versions 9.6.2 and 9.5.6 and later support the ability to alter enumerations. This feature is not available in other versions on Amazon RDS.

The following code shows an example of altering an enum value.

Limits for PostgreSQL DB Instances

The following is a list of limitations for PostgreSQL on Amazon RDS:

  • You can have up to 40 PostgreSQL DB instances.

  • For storage limits, see Amazon RDS DB Instance Storage.

  • Amazon RDS reserves up to 3 connections for system maintenance. If you specify a value for the user connections parameter, you need to add 3 to the number of connections that you expect to use.

Upgrading a PostgreSQL DB Instance

There are two types of upgrades you can manage for your PostgreSQL DB instance:

  • OS Updates – Occasionally, Amazon RDS might need to update the underlying operating system of your DB instance to apply security fixes or OS changes. You can decide when Amazon RDS applies OS updates by using the RDS console, AWS Command Line Interface (AWS CLI), or RDS API.

    For more information about OS updates, see Applying Updates for a DB Instance.

  • Database Engine Upgrades – When Amazon RDS supports a new version of a database engine, you can upgrade your DB instances to the new version. There are two kinds of upgrades: major version upgrades and minor version upgrades. Amazon RDS supports both major and minor version upgrades for PostgreSQL DB instances.

    For more information about PostgreSQL DB engine upgrades, see Upgrading the PostgreSQL DB Engine for Amazon RDS.

Using SSL with a PostgreSQL DB Instance

Amazon RDS supports Secure Socket Layer (SSL) encryption for PostgreSQL DB instances. Using SSL, you can encrypt a PostgreSQL connection between your applications and your PostgreSQL DB instances. You can also force all connections to your PostgreSQL DB instance to use SSL.

Topics

Aws Rds Instance Types

SSL support is available in all AWS regions for PostgreSQL. Amazon RDS creates an SSL certificate for your PostgreSQL DB instance when the instance is created. If you enable SSL certificate verification, then the SSL certificate includes the DB instance endpoint as the Common Name (CN) for the SSL certificate to guard against spoofing attacks.

To connect to a PostgreSQL DB instance over SSL

  1. Download the certificate stored at https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem.

  2. Import the certificate into your operating system.

  3. Connect to your PostgreSQL DB instance over SSL by appending sslmode=verify-full to your connection string. When you use sslmode=verify-full, the SSL connection verifies the DB instance endpoint against the endpoint in the SSL certificate.

    Use the sslrootcert parameter to reference the certificate, for example, sslrootcert=rds-ssl-ca-cert.pem.

The following is an example of using the psql program to connect to a PostgreSQL DB instance :

Requiring an SSL Connection to a PostgreSQL DB Instance

You can require that connections to your PostgreSQL DB instance use SSL by using the rds.force_ssl parameter. By default, the rds.force_ssl parameter is set to 0 (off). You can set the rds.force_ssl parameter to 1 (on) to require SSL for connections to your DB instance. Updating the rds.force_ssl parameter also sets the PostgreSQL ssl parameter to 1 (on) and modifies your DB instance’s pg_hba.conf file to support the new SSL configuration.

You can set the rds.force_ssl parameter value by updating the parameter group for your DB instance. If the parameter group for your DB instance isn't the default one, and the ssl parameter is already set to 1 when you set rds.force_ssl to 1, you don't need to reboot your DB instance. Otherwise, you must reboot your DB instance for the change to take effect. For more information on parameter groups, see Working with DB Parameter Groups.

When the rds.force_ssl parameter is set to 1 for a DB instance, you see output similar to the following when you connect, indicating that SSL is now required:

Determining the SSL Connection Status

The encrypted status of your connection is shown in the logon banner when you connect to the DB instance:

You can also load the sslinfo extension and then call the ssl_is_used() function to determine if SSL is being used. The function returns t if the connection is using SSL, otherwise it returns f.

You can use the select ssl_cipher() command to determine the SSL cipher:

If you enable set rds.force_ssl and restart your instance, non-SSL connections are refused with the following message:

After Amazon RDS provisions your DB instance, you can use any standard SQL client application to connect to the instance. To list the details of an Amazon RDS DB instance, you can use the AWS Management Console, the AWS CLI describe-db-instances command, or the Amazon RDS API DescribeDBInstances operation. You need the following information to connect:

  • The host or host name for the DB instance, for example:

  • The port on which the DB instance is listening. For example, the default PostgreSQL port is 5432.

  • The user name and password for the DB instance.

Following are two ways to connect to a PostgreSQL DB instance. The first example uses pgAdmin, a popular open-source administration and development tool for PostgreSQL. The second example uses psql, a command line utility that is part of a PostgreSQL installation.

Using pgAdmin to Connect to a PostgreSQL DB Instance

You can use the open-source tool pgAdmin to connect to a PostgreSQL DB instance.

To connect to a PostgreSQL DB instance using pgAdmin

  1. Find the endpoint (DNS name) and port number for your DB Instance.

    1. Open the RDS console and then choose Databases to display a list of your DB instances.

    2. Choose the PostgreSQL DB instance name to display its details.

    3. On the Connectivity & security tab, copy the endpoint. Also, note the port number. You need both the endpoint and the port number to connect to the DB instance.

  2. Install pgAdmin from http://www.pgadmin.org/. You can download and use pgAdmin without having a local instance of PostgreSQL on your client computer.

  3. Launch the pgAdmin application on your client computer.

  4. On the Dashboard tab, choose Add New Server.

  5. In the Create - Server dialog box, type a name on the General tab to identify the server in pgAdmin.

  6. On the Connection tab, type the following information from your DB instance:

    • For Host, type the endpoint, for example mypostgresql.c6c8dntfzzhgv0.us-east-2.rds.amazonaws.com.

    • For Port, type the assigned port.

    • For Username, type the user name that you entered when you created the DB instance.

    • For Password, type the password that you entered when you created the DB instance.

  7. Choose Save.

    If you have any problems connecting, see Troubleshooting Connection Issues.

  8. To access a database in the pgAdmin browser, expand Servers, the DB instance, and Databases. Choose the DB instance's database name.

  9. To open a panel where you can enter SQL commands, choose Tools, Query Tool.

Using psql to Connect to a PostgreSQL DB Instance

What To Use For Aws Rds Client Mac Postgresql Replication

You can use a local instance of the psql command line utility to connect to a PostgreSQL DB instance. You need either PostgreSQL or the psql client installed on your client computer. To connect to your PostgreSQL DB instance using psql, you need to provide host information and access credentials.

Use one of the following formats to connect to a PostgreSQL DB instance on Amazon RDS. When you connect, you're prompted for a password. For batch jobs or scripts, use the --no-password option.

For Unix, use the following format.

For Windows, use the following format.

For example, the following command connects to a database called mypgdb on a PostgreSQL DB instance called mypostgresql using fictitious credentials.

Troubleshooting Connection Issues

What To Use For Aws Rds Client Mac Postgresql Create

If you can't connect to the DB instance, the most common error is Could not connect to server: Connection timed out. If you receive this error, do the following:

  • Check that the host name used is the DB instance endpoint and that the port number used is correct.

  • Make sure that the DB instance's public accessibility is set to Yes.

  • Check that the security group assigned to the DB instance has rules to allow access through any firewall your connection might go through. For example, if the DB instance was created using the default port of 5432, your company might have firewall rules blocking connections to that port from company devices.

    To fix this failure, modify the DB instance to use a different port. Also, make sure that the security group applied to the DB instance allows connections to the new port.

  • Check whether the DB instance was created using a security group that doesn't authorize connections from the device or Amazon EC2 instance where the application is running. For the connection to work, the security group you assigned to the DB instance at its creation must allow access to the DB instance. For example, if the DB instance was created in a VPC, it must have a VPC security group that authorizes connections. Alternatively, if the DB instance was created outside of a VPC, it must have a database security group that authorizes those connections.

Aws Rds Documentation

By far the most common connection problem is with the security group's access rules assigned to the DB instance. If you used the default DB security group when you created the DB instance, the security group likely didn't have access rules that allow you to access the instance. For more information about Amazon RDS security groups, see Controlling Access with Security Groups.