> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tensor9.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Aurora PostgreSQL

> AWS Aurora PostgreSQL. PostgreSQL-compatible engine running on the same Aurora storage layer, where replicas read from shared storage rather than replaying a write-ahead log stream.

**On this page**

* [Coverage by target cloud](#coverage-by-target-cloud)
* [How the targets compare](#how-the-targets-compare)
  * [Max adaptation](#max-adaptation)
  * [Infrastructure-only adaptation](#infrastructure-only-adaptation)
* [On Google Cloud](#on-google-cloud)
* [On Azure](#on-azure)
* [On OCI](#on-oci)
* [On Private Kubernetes](#on-private-kubernetes)

## Coverage by target cloud

| Target             | Available |
| ------------------ | --------- |
| Google Cloud       | ✓         |
| Azure              | ✓         |
| OCI                | ✓         |
| Private Kubernetes | ✓         |

## How the targets compare

Each row compares a capability of Aurora PostgreSQL with its adaptation on each target.
A dash means this row is not stated for that target.

### Max adaptation

#### Runtime surface

| Capability   | Aurora PostgreSQL | Google Cloud | Azure | OCI  |
| ------------ | ----------------- | ------------ | ----- | ---- |
| API coverage | full              | high         | high  | high |

#### Management surface

| Capability                                        | Aurora PostgreSQL | Google Cloud                                                                 | Azure                                                                             | OCI                                                                                                                                                                                                                                                                |
| ------------------------------------------------- | ----------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Snapshot / restore + PITR                         | Yes               | Yes                                                                          | Yes                                                                               | Partial - OCI supports point-in-time recovery with a configured policy, retained WAL and periodic backups, creating a new database system within the active recovery window; the documented adapter mapping does not promise AWS point-in-time restore translation |
| Zero-ETL integration · Redshift                   | Yes               | Partial - replicates to BigQuery (Datastream); Redshift itself is not served | Partial - replicates to Microsoft Fabric (OneLake); Redshift itself is not served | No                                                                                                                                                                                                                                                                 |
| Read replicas · in-region                         | Yes               | Yes                                                                          | Yes                                                                               | Yes                                                                                                                                                                                                                                                                |
| Read replicas · cross-region                      | Yes               | Yes                                                                          | Yes                                                                               | No - OCI supports readable warm standby systems in up to three disaster recovery regions, using asynchronous replication; the documented adapter mapping does not promise AWS cross-region replica or Aurora global-cluster semantics                              |
| Managed connection pooling · RDS Proxy            | Yes               | Yes                                                                          | Yes                                                                               | Yes                                                                                                                                                                                                                                                                |
| Trusted Language Extensions · pg\_tle             | Yes               | No                                                                           | No                                                                                | No                                                                                                                                                                                                                                                                 |
| Data API (HTTP SQL) · rds-data                    | Yes               | Yes                                                                          | Yes                                                                               | Yes                                                                                                                                                                                                                                                                |
| Query performance insights · Performance Insights | Yes               | Partial - the vendor can't access the appliance's cloud console              | Partial - the vendor can't access the appliance's cloud console                   | Partial - the vendor can't access the appliance's cloud console                                                                                                                                                                                                    |

#### Limits

| Capability                                  | Aurora PostgreSQL | Google Cloud | Azure       | OCI             |
| ------------------------------------------- | ----------------- | ------------ | ----------- | --------------- |
| Maximum storage                             | 256 TiB           | 64 TiB       | 64 TiB      | 32 TiB          |
| vCPU range · smallest to largest instance   | 2-192             | 1-128        | 1-192       | 2-128 (64 OCPU) |
| Memory range · smallest to largest instance | 4-1,536 GiB       | 0.6-864 GiB  | 2-1,832 GiB | 16-1,024 GiB    |
| Storage autoscaling                         | Yes               | Yes          | Yes         | Yes             |

### Infrastructure-only adaptation

#### Runtime surface

| Capability   | Aurora PostgreSQL | Google Cloud | Azure | OCI  | Private Kubernetes |
| ------------ | ----------------- | ------------ | ----- | ---- | ------------------ |
| API coverage | full              | high         | high  | high | high               |

#### Management surface

| Capability                                        | Aurora PostgreSQL | Google Cloud                                                                 | Azure                                                                             | OCI                                                                                                                                                                                                                                                                | Private Kubernetes                                              |
| ------------------------------------------------- | ----------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------- |
| Snapshot / restore + PITR                         | Yes               | Yes                                                                          | Yes                                                                               | Partial - OCI supports point-in-time recovery with a configured policy, retained WAL and periodic backups, creating a new database system within the active recovery window; the documented adapter mapping does not promise AWS point-in-time restore translation | Yes                                                             |
| Zero-ETL integration · Redshift                   | Yes               | Partial - replicates to BigQuery (Datastream); Redshift itself is not served | Partial - replicates to Microsoft Fabric (OneLake); Redshift itself is not served | No                                                                                                                                                                                                                                                                 | No                                                              |
| Read replicas · in-region                         | Yes               | Yes                                                                          | Yes                                                                               | Yes                                                                                                                                                                                                                                                                | Yes                                                             |
| Read replicas · cross-region                      | Yes               | Yes                                                                          | Yes                                                                               | No - OCI supports readable warm standby systems in up to three disaster recovery regions, using asynchronous replication; the documented adapter mapping does not promise AWS cross-region replica or Aurora global-cluster semantics                              | No                                                              |
| Managed connection pooling · RDS Proxy            | Yes               | Yes                                                                          | Yes                                                                               | Yes                                                                                                                                                                                                                                                                | Yes                                                             |
| Trusted Language Extensions · pg\_tle             | Yes               | No                                                                           | No                                                                                | No                                                                                                                                                                                                                                                                 | Yes                                                             |
| Data API (HTTP SQL) · rds-data                    | Yes               | Yes                                                                          | Yes                                                                               | Yes                                                                                                                                                                                                                                                                | Yes                                                             |
| Query performance insights · Performance Insights | Yes               | Partial - the vendor can't access the appliance's cloud console              | Partial - the vendor can't access the appliance's cloud console                   | Partial - the vendor can't access the appliance's cloud console                                                                                                                                                                                                    | Partial - the vendor can't access the appliance's cloud console |

#### Limits

| Capability                                  | Aurora PostgreSQL | Google Cloud | Azure       | OCI             | Private Kubernetes                                                    |
| ------------------------------------------- | ----------------- | ------------ | ----------- | --------------- | --------------------------------------------------------------------- |
| Maximum storage                             | 256 TiB           | 64 TiB       | 64 TiB      | 32 TiB          | limited by persistent volume capacity                                 |
| vCPU range · smallest to largest instance   | 2-192             | 1-128        | 1-192       | 2-128 (64 OCPU) | limited by Kubernetes node resources                                  |
| Memory range · smallest to largest instance | 4-1,536 GiB       | 0.6-864 GiB  | 2-1,832 GiB | 16-1,024 GiB    | limited by Kubernetes node resources                                  |
| Storage autoscaling                         | Yes               | Yes          | Yes         | Yes             | No - increase the volume size explicitly; it does not grow with usage |

## On Google Cloud

| Operation                                                                                                                            | Area          | Support      | Depth        | Notes                                                                                                    |
| ------------------------------------------------------------------------------------------------------------------------------------ | ------------- | ------------ | ------------ | -------------------------------------------------------------------------------------------------------- |
| AWS/Aurora-proprietary SQL: aws\_s3.*, aws\_lambda.invoke, Aurora ML (aws\_sagemaker / aws\_comprehend), aurora\_* / apg\_plan\_mgmt | SQL functions | Out of scope | Full surface | AWS and Aurora extension functions with no counterpart on vanilla PostgreSQL; a query calling them fails |
| pgwire protocol (application SQL)                                                                                                    | Wire protocol | Supported    | Common       | wire-compatible PostgreSQL; application SQL is unchanged                                                 |

#### How it works

Your application's PostgreSQL driver connects directly to Cloud SQL for PostgreSQL. These database requests are the **data plane**. The driver and PostgreSQL wire protocol stay unchanged, and Tensor9 adds no proxy, translation, or latency to the query path.

Management requests, such as snapshots, restore, replicas, failover, and configuration changes, form the **control plane**. Tensor9 serves the RDS API in the customer's appliance and translates those requests to the target's management API. The sections below describe which operations have equivalents and which return errors.

<div className="t9-diagram-scroll" role="region" aria-label="Scrollable diagram" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMjUyIiB2aWV3Qm94PSIwIDAgODM2IDI1MiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJEYXRhYmFzZSByZXF1ZXN0cyAoU1FMIG92ZXIgcGd3aXJlKSBjb25uZWN0IGRpcmVjdGx5IHRvIENsb3VkIFNRTC4gVGhlIFRlbnNvcjkgc2VydmljZSBhZGFwdGVyIHRyYW5zbGF0ZXMgUkRTIEFQSSBtYW5hZ2VtZW50IGNhbGxzIHRvIENsb3VkIFNRTCBhZG1pbiBBUEkuIj48c3R5bGU+dGV4dHtmb250LWZhbWlseTpJbnRlciwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwnU2Vnb2UgVUknLFJvYm90bywnSGVsdmV0aWNhIE5ldWUnLEFyaWFsLHNhbnMtc2VyaWY7ZmlsbDojMzM0MTU1fTwvc3R5bGU+CjxkZWZzPjxtYXJrZXIgaWQ9ImFoZC1jbG91ZC1zcWwiIHZpZXdCb3g9IjAgMCAxMCAxMCIgcmVmWD0iOCIgcmVmWT0iNSIgbWFya2VyV2lkdGg9IjciIG1hcmtlckhlaWdodD0iNyIgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiPjxwYXRoIGQ9Ik0wLDAgTDEwLDUgTDAsMTAgeiIgZmlsbD0iIzk0YTNiOCIvPjwvbWFya2VyPjwvZGVmcz4KPHJlY3QgeD0iOCIgeT0iMzQiIHdpZHRoPSI4MjAiIGhlaWdodD0iMjA2IiByeD0iMTYiIGZpbGw9IiNmOGZhZmMiIHN0cm9rZT0iI2NiZDVlMSIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1kYXNoYXJyYXk9IjUgNSIvPgo8dGV4dCB4PSIyNiIgeT0iNTQiIHN0eWxlPSJmb250OiA3MDAgMTBweCBJbnRlciwgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IDEuM3B4OyBmaWxsOiAjOTRhM2I4OyBmaWxsOiMwNDc4NTciPk9OIEdPT0dMRSBDTE9VRDwvdGV4dD4KPHJlY3QgeD0iMjYiIHk9Ijg4IiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjExMiIgcng9IjEyIiBmaWxsPSIjZmZmIiBzdHJva2U9IiNlMmU4ZjAiIHN0cm9rZS13aWR0aD0iMS41Ii8+Cjx0ZXh0IHg9IjkwIiB5PSIxMjYiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMGYxNzJhOyBmb250LXNpemU6MTNweCI+WW91ciBhcHA8L3RleHQ+Cjx0ZXh0IHg9IjkwIiB5PSIxNDUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjNjQ3NDhiIj5Qb3N0Z3JlU1FMIGRyaXZlcjwvdGV4dD4KPHRleHQgeD0iOTAiIHk9IjE2MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDYwMCAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMDU5NjY5Ij51bmNoYW5nZWQ8L3RleHQ+Cjx0ZXh0IHg9IjIwMCIgeT0iODIiIHN0eWxlPSJmb250OiA3MDAgMTBweCBJbnRlciwgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IDEuM3B4OyBmaWxsOiAjOTRhM2I4OyBmaWxsOiMwNDc4NTciPkRBVEFCQVNFIFJFUVVFU1RTIMK3IERJUkVDVCBDT05ORUNUSU9OPC90ZXh0Pgo8bGluZSB4MT0iMTU0IiB5MT0iMTA4IiB4Mj0iNjEwIiB5Mj0iMTA4IiBzdHJva2U9IiMwNTk2NjkiIHN0cm9rZS13aWR0aD0iMi4yIiBtYXJrZXItZW5kPSJ1cmwoI2FoZC1jbG91ZC1zcWwpIi8+Cjx0ZXh0IHg9IjM4MiIgeT0iMTAwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTBweCAnU0YgTW9ubycsIHVpLW1vbm9zcGFjZSwgJ0pldEJyYWlucyBNb25vJywgTWVubG8sIG1vbm9zcGFjZTsgZmlsbDogIzY0NzQ4YjsgZmlsbDojMDQ3ODU3Ij5TUUwgb3ZlciBwZ3dpcmU8L3RleHQ+CjxyZWN0IHg9IjYxNCIgeT0iNzYiIHdpZHRoPSIxOTYiIGhlaWdodD0iNjQiIHJ4PSIxMiIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjZTJlOGYwIiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSI3MTIiIHk9IjEwMyIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwZjE3MmE7IGZvbnQtc2l6ZToxMnB4Ij5DbG91ZCBTUUw8L3RleHQ+Cjx0ZXh0IHg9IjcxMiIgeT0iMTIyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+UG9zdGdyZVNRTCBlbmdpbmU8L3RleHQ+Cjx0ZXh0IHg9IjIwMCIgeT0iMTU4IiBzdHlsZT0iZm9udDogNzAwIDEwcHggSW50ZXIsIHNhbnMtc2VyaWY7IGxldHRlci1zcGFjaW5nOiAxLjNweDsgZmlsbDogIzk0YTNiOCI+TUFOQUdFTUVOVCBSRVFVRVNUUyDCtyBWSUEgVEVOU09SOTwvdGV4dD4KPGxpbmUgeDE9IjE1NCIgeTE9IjE5NiIgeDI9IjMwMCIgeTI9IjE5NiIgc3Ryb2tlPSIjOTRhM2I4IiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjYWhkLWNsb3VkLXNxbCkiLz4KPHRleHQgeD0iMjI3IiB5PSIxODgiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMHB4ICdTRiBNb25vJywgdWktbW9ub3NwYWNlLCAnSmV0QnJhaW5zIE1vbm8nLCBNZW5sbywgbW9ub3NwYWNlOyBmaWxsOiAjNjQ3NDhiIj5SRFMgQVBJPC90ZXh0Pgo8cmVjdCB4PSIzMDQiIHk9IjE2NCIgd2lkdGg9IjE4MCIgaGVpZ2h0PSI2NiIgcng9IjEyIiBmaWxsPSIjZWNmZGY1IiBzdHJva2U9IiMwNTk2NjkiIHN0cm9rZS13aWR0aD0iMS43Ii8+Cjx0ZXh0IHg9IjM5NCIgeT0iMTkxIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNzAwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzA0Nzg1NzsgZm9udC1zaXplOjEycHgiPlRlbnNvcjk8L3RleHQ+CiAgPHRleHQgeD0iMzk0IiB5PSIyMDgiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMC41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwNDc4NTciPnNlcnZpY2UgYWRhcHRlcjwvdGV4dD4KPGxpbmUgeDE9IjQ4NCIgeTE9IjE5NiIgeDI9IjYxMCIgeTI9IjE5NiIgc3Ryb2tlPSIjOTRhM2I4IiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjYWhkLWNsb3VkLXNxbCkiLz4KPHJlY3QgeD0iNjE0IiB5PSIxNjQiIHdpZHRoPSIxOTYiIGhlaWdodD0iNjQiIHJ4PSIxMiIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjZTJlOGYwIiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSI3MTIiIHk9IjE5MSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwZjE3MmE7IGZvbnQtc2l6ZToxMS41cHgiPkNsb3VkIFNRTCBhZG1pbiBBUEk8L3RleHQ+Cjx0ZXh0IHg9IjcxMiIgeT0iMjEwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+dGhlIHRhcmdldCdzIG1hbmFnZW1lbnQgQVBJPC90ZXh0Pgo8L3N2Zz4=" alt="Database requests (SQL over pgwire) connect directly to Cloud SQL. The Tensor9 service adapter translates RDS API management calls to Cloud SQL admin API." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMjUyIiB2aWV3Qm94PSIwIDAgODM2IDI1MiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJEYXRhYmFzZSByZXF1ZXN0cyAoU1FMIG92ZXIgcGd3aXJlKSBjb25uZWN0IGRpcmVjdGx5IHRvIENsb3VkIFNRTC4gVGhlIFRlbnNvcjkgc2VydmljZSBhZGFwdGVyIHRyYW5zbGF0ZXMgUkRTIEFQSSBtYW5hZ2VtZW50IGNhbGxzIHRvIENsb3VkIFNRTCBhZG1pbiBBUEkuIj48c3R5bGU+dGV4dHtmb250LWZhbWlseTpJbnRlciwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwnU2Vnb2UgVUknLFJvYm90bywnSGVsdmV0aWNhIE5ldWUnLEFyaWFsLHNhbnMtc2VyaWY7ZmlsbDojY2JkNWUxfTwvc3R5bGU+CjxkZWZzPjxtYXJrZXIgaWQ9ImFoZC1jbG91ZC1zcWwiIHZpZXdCb3g9IjAgMCAxMCAxMCIgcmVmWD0iOCIgcmVmWT0iNSIgbWFya2VyV2lkdGg9IjciIG1hcmtlckhlaWdodD0iNyIgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiPjxwYXRoIGQ9Ik0wLDAgTDEwLDUgTDAsMTAgeiIgZmlsbD0iIzk0YTNiOCIvPjwvbWFya2VyPjwvZGVmcz4KPHJlY3QgeD0iOCIgeT0iMzQiIHdpZHRoPSI4MjAiIGhlaWdodD0iMjA2IiByeD0iMTYiIGZpbGw9IiMxYTI2MzEiIHN0cm9rZT0iIzNkNGY2NiIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1kYXNoYXJyYXk9IjUgNSIvPgo8dGV4dCB4PSIyNiIgeT0iNTQiIHN0eWxlPSJmb250OiA3MDAgMTBweCBJbnRlciwgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IDEuM3B4OyBmaWxsOiAjOTRhM2I4OyBmaWxsOiAjOTBkZWM4Ij5PTiBHT09HTEUgQ0xPVUQ8L3RleHQ+CjxyZWN0IHg9IjI2IiB5PSI4OCIgd2lkdGg9IjEyOCIgaGVpZ2h0PSIxMTIiIHJ4PSIxMiIgZmlsbD0iIzI2MjYyNiIgc3Ryb2tlPSIjM2Q0ZTY2IiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSI5MCIgeT0iMTI2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2VkODsgZm9udC1zaXplOjEzcHgiPllvdXIgYXBwPC90ZXh0Pgo8dGV4dCB4PSI5MCIgeT0iMTQ1IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2ZkOCI+UG9zdGdyZVNRTCBkcml2ZXI8L3RleHQ+Cjx0ZXh0IHg9IjkwIiB5PSIxNjIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2MDAgMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzkwZGVjNiI+dW5jaGFuZ2VkPC90ZXh0Pgo8dGV4dCB4PSIyMDAiIHk9IjgyIiBzdHlsZT0iZm9udDogNzAwIDEwcHggSW50ZXIsIHNhbnMtc2VyaWY7IGxldHRlci1zcGFjaW5nOiAxLjNweDsgZmlsbDogIzk0YTNiODsgZmlsbDogIzkwZGVjOCI+REFUQUJBU0UgUkVRVUVTVFMgwrcgRElSRUNUIENPTk5FQ1RJT048L3RleHQ+CjxsaW5lIHgxPSIxNTQiIHkxPSIxMDgiIHgyPSI2MTAiIHkyPSIxMDgiIHN0cm9rZT0iIzA1OTY2OSIgc3Ryb2tlLXdpZHRoPSIyLjIiIG1hcmtlci1lbmQ9InVybCgjYWhkLWNsb3VkLXNxbCkiLz4KPHRleHQgeD0iMzgyIiB5PSIxMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMHB4ICdTRiBNb25vJywgdWktbW9ub3NwYWNlLCAnSmV0QnJhaW5zIE1vbm8nLCBNZW5sbywgbW9ub3NwYWNlOyBmaWxsOiAjYzljZmQ4OyBmaWxsOiAjOTBkZWM4Ij5TUUwgb3ZlciBwZ3dpcmU8L3RleHQ+CjxyZWN0IHg9IjYxNCIgeT0iNzYiIHdpZHRoPSIxOTYiIGhlaWdodD0iNjQiIHJ4PSIxMiIgZmlsbD0iIzI2MjYyNiIgc3Ryb2tlPSIjM2Q0ZTY2IiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSI3MTIiIHk9IjEwMyIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNlZDg7IGZvbnQtc2l6ZToxMnB4Ij5DbG91ZCBTUUw8L3RleHQ+Cjx0ZXh0IHg9IjcxMiIgeT0iMTIyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2ZkOCI+UG9zdGdyZVNRTCBlbmdpbmU8L3RleHQ+Cjx0ZXh0IHg9IjIwMCIgeT0iMTU4IiBzdHlsZT0iZm9udDogNzAwIDEwcHggSW50ZXIsIHNhbnMtc2VyaWY7IGxldHRlci1zcGFjaW5nOiAxLjNweDsgZmlsbDogIzk0YTNiOCI+TUFOQUdFTUVOVCBSRVFVRVNUUyDCtyBWSUEgVEVOU09SOTwvdGV4dD4KPGxpbmUgeDE9IjE1NCIgeTE9IjE5NiIgeDI9IjMwMCIgeTI9IjE5NiIgc3Ryb2tlPSIjNDE0ZTYyIiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjYWhkLWNsb3VkLXNxbCkiLz4KPHRleHQgeD0iMjI3IiB5PSIxODgiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMHB4ICdTRiBNb25vJywgdWktbW9ub3NwYWNlLCAnSmV0QnJhaW5zIE1vbm8nLCBNZW5sbywgbW9ub3NwYWNlOyBmaWxsOiAjYzljZmQ4Ij5SRFMgQVBJPC90ZXh0Pgo8cmVjdCB4PSIzMDQiIHk9IjE2NCIgd2lkdGg9IjE4MCIgaGVpZ2h0PSI2NiIgcng9IjEyIiBmaWxsPSIjMWEzMTI2IiBzdHJva2U9IiMwNTk2NjkiIHN0cm9rZS13aWR0aD0iMS43Ii8+Cjx0ZXh0IHg9IjM5NCIgeT0iMTkxIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNzAwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzkwZGVjODsgZm9udC1zaXplOjEycHgiPlRlbnNvcjk8L3RleHQ+CiAgPHRleHQgeD0iMzk0IiB5PSIyMDgiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMC41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM5MGRlYzgiPnNlcnZpY2UgYWRhcHRlcjwvdGV4dD4KPGxpbmUgeDE9IjQ4NCIgeTE9IjE5NiIgeDI9IjYxMCIgeTI9IjE5NiIgc3Ryb2tlPSIjNDE0ZTYyIiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjYWhkLWNsb3VkLXNxbCkiLz4KPHJlY3QgeD0iNjE0IiB5PSIxNjQiIHdpZHRoPSIxOTYiIGhlaWdodD0iNjQiIHJ4PSIxMiIgZmlsbD0iIzI2MjYyNiIgc3Ryb2tlPSIjM2Q0ZTY2IiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSI3MTIiIHk9IjE5MSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNlZDg7IGZvbnQtc2l6ZToxMS41cHgiPkNsb3VkIFNRTCBhZG1pbiBBUEk8L3RleHQ+Cjx0ZXh0IHg9IjcxMiIgeT0iMjEwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2ZkOCI+dGhlIHRhcmdldCdzIG1hbmFnZW1lbnQgQVBJPC90ZXh0Pgo8L3N2Zz4=" alt="Database requests (SQL over pgwire) connect directly to Cloud SQL. The Tensor9 service adapter translates RDS API management calls to Cloud SQL admin API." />
</div>

<p className="t9-caption">Queries reach the database directly; only the management calls are translated.</p>

#### Database connections

Aurora uses an AWS-specific storage layer but exposes the PostgreSQL wire protocol to your application. Cloud SQL for PostgreSQL supports that protocol. Your SQL, drivers, object-relational mappers (ORMs), prepared statements, data types, and transaction semantics remain unchanged; the target replaces Aurora's storage layer.

AWS and Aurora add SQL functions for moving data through S3, invoking Lambda, and machine learning. These functions have no equivalent on the target. Queries that call them return an error.

#### Database management

At runtime your application and operational tooling keep making the same RDS calls they make today: describe the cluster, take a snapshot, restore to a point in time, add a reader, trigger a failover, stop and start, change the instance class or a parameter. For the supported operations, the adapter accepts RDS requests and uses the RDS response format, translating the operation to Cloud SQL: on-demand backups and restores, point-in-time restore, read replicas, manual failover, stop / start, and machine-type, storage, and database-flag updates.

The adapter also serves the Aurora Data API (SQL over HTTPS, transactions included), executing each statement over a native connection to the backend database. Aurora's global database is served by the adapter as well: Cloud SQL has no global-cluster object, so the adapter keeps the cluster container itself and maps its members and role changes onto Cloud SQL's cross-region read replicas, with planned switchover and unplanned failover translating to the target's managed promote.

With Max, your tooling uses CreateDBCluster and CreateDBInstance through the RDS adapter to create a logical Aurora cluster and its members on Cloud SQL. Tensor9 retains durable logical cluster and member state and reconciles it with the target resources: accepted requests are recorded, then native resources are created or removed asynchronously. DescribeDBClusters and DescribeDBInstances report status and endpoints. DeleteDBInstance removes members; DeleteDBCluster removes the cluster after its members are gone. Your application's SQL connection goes directly to the database. With the Infrastructure-only alternative, Tensor9 compiles the declared cluster infrastructure into native Cloud SQL resources. You manage those resources through the target's own tools; serving runtime RDS API requests requires Max.

<div className="t9-diagram-scroll" role="region" aria-label="Scrollable diagram" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTk2IiB2aWV3Qm94PSIwIDAgODM2IDE5NiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJUaGUgVGVuc29yOSBzZXJ2aWNlIGFkYXB0ZXIgaGFuZGxlcyBSRFMgbWFuYWdlbWVudCByZXF1ZXN0cyB1c2luZyBDbG91ZCBTUUwgYWRtaW4gQVBJIGFuZCByZXR1cm5zIFJEUyByZXNwb25zZXMuIj48c3R5bGU+dGV4dHtmb250LWZhbWlseTpJbnRlciwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwnU2Vnb2UgVUknLFJvYm90bywnSGVsdmV0aWNhIE5ldWUnLEFyaWFsLHNhbnMtc2VyaWY7ZmlsbDojMzM0MTU1fTwvc3R5bGU+CjxkZWZzPjxtYXJrZXIgaWQ9ImFoYy1yZHMtY2xvdWQtc3FsLWFkbWluLWFwaSIgdmlld0JveD0iMCAwIDEwIDEwIiByZWZYPSI4IiByZWZZPSI1IiBtYXJrZXJXaWR0aD0iNyIgbWFya2VySGVpZ2h0PSI3IiBvcmllbnQ9ImF1dG8tc3RhcnQtcmV2ZXJzZSI+PHBhdGggZD0iTTAsMCBMMTAsNSBMMCwxMCB6IiBmaWxsPSIjOTRhM2I4Ii8+PC9tYXJrZXI+PC9kZWZzPgo8cmVjdCB4PSIxNiIgeT0iMzQiIHdpZHRoPSIyMzYiIGhlaWdodD0iMTI4IiByeD0iMTIiIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2UyZThmMCIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KPHRleHQgeD0iMTM0IiB5PSI2MCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwZjE3MmE7IGZvbnQtc2l6ZToxMi41cHgiPlJEUyBtYW5hZ2VtZW50IGNhbGw8L3RleHQ+Cjx0ZXh0IHg9IjEzNCIgeT0iODIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjNjQ3NDhiIj5zbmFwc2hvdCDCtyBwb2ludC1pbi10aW1lIHJlc3RvcmU8L3RleHQ+Cjx0ZXh0IHg9IjEzNCIgeT0iOTkiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjNjQ3NDhiIj5yZWFkZXIgwrcgZmFpbG92ZXIgwrcgZ2xvYmFsIGRhdGFiYXNlPC90ZXh0Pgo8dGV4dCB4PSIxMzQiIHk9IjExNiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPkRhdGEgQVBJIMK3IHBhcmFtZXRlcnM8L3RleHQ+Cjx0ZXh0IHg9IjEzNCIgeT0iMTQyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTBweCAnU0YgTW9ubycsIHVpLW1vbm9zcGFjZSwgJ0pldEJyYWlucyBNb25vJywgTWVubG8sIG1vbm9zcGFjZTsgZmlsbDogIzY0NzQ4YiI+c2FtZSByZXF1ZXN0IC8gcmVzcG9uc2Ugc2hhcGVzPC90ZXh0Pgo8bGluZSB4MT0iMjUyIiB5MT0iNzQiIHgyPSIzMTQiIHkyPSI3NCIgc3Ryb2tlPSIjOTRhM2I4IiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjYWhjLXJkcy1jbG91ZC1zcWwtYWRtaW4tYXBpKSIvPgo8bGluZSB4MT0iMzE4IiB5MT0iMTI4IiB4Mj0iMjU2IiB5Mj0iMTI4IiBzdHJva2U9IiM5NGEzYjgiIHN0cm9rZS13aWR0aD0iMiIgbWFya2VyLWVuZD0idXJsKCNhaGMtcmRzLWNsb3VkLXNxbC1hZG1pbi1hcGkpIi8+CjxyZWN0IHg9IjMxOCIgeT0iNTQiIHdpZHRoPSIyMDQiIGhlaWdodD0iODgiIHJ4PSIxMiIgZmlsbD0iI2VjZmRmNSIgc3Ryb2tlPSIjMDU5NjY5IiBzdHJva2Utd2lkdGg9IjEuNyIvPgo8dGV4dCB4PSI0MjAiIHk9Ijk0IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNzAwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzA0Nzg1NzsgZm9udC1zaXplOjEycHgiPlRlbnNvcjk8L3RleHQ+CiAgPHRleHQgeD0iNDIwIiB5PSIxMTIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMC41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwNDc4NTciPnNlcnZpY2UgYWRhcHRlcjwvdGV4dD4KPGxpbmUgeDE9IjUyMiIgeTE9Ijc0IiB4Mj0iNTg0IiB5Mj0iNzQiIHN0cm9rZT0iIzk0YTNiOCIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoYy1yZHMtY2xvdWQtc3FsLWFkbWluLWFwaSkiLz4KPGxpbmUgeDE9IjU4OCIgeTE9IjEyOCIgeDI9IjUyNiIgeTI9IjEyOCIgc3Ryb2tlPSIjOTRhM2I4IiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjYWhjLXJkcy1jbG91ZC1zcWwtYWRtaW4tYXBpKSIvPgo8cmVjdCB4PSI1ODgiIHk9IjM0IiB3aWR0aD0iMjMyIiBoZWlnaHQ9IjEyOCIgcng9IjEyIiBmaWxsPSIjZmZmIiBzdHJva2U9IiNlMmU4ZjAiIHN0cm9rZS13aWR0aD0iMS41Ii8+Cjx0ZXh0IHg9IjcwNCIgeT0iNjIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMGYxNzJhOyBmb250LXNpemU6MTJweCI+Q2xvdWQgU1FMIGFkbWluIEFQSTwvdGV4dD4KPHRleHQgeD0iNzA0IiB5PSI5NCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPmJhY2t1cHMgwrcgcmVzdG9yZXMgwrcgcmVwbGljYXM8L3RleHQ+Cjx0ZXh0IHg9IjcwNCIgeT0iMTExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+ZmFpbG92ZXIgwrcgdXBkYXRlcyDCtyBmbGFnczwvdGV4dD4KPC9zdmc+" alt="The Tensor9 service adapter handles RDS management requests using Cloud SQL admin API and returns RDS responses." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTk2IiB2aWV3Qm94PSIwIDAgODM2IDE5NiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJUaGUgVGVuc29yOSBzZXJ2aWNlIGFkYXB0ZXIgaGFuZGxlcyBSRFMgbWFuYWdlbWVudCByZXF1ZXN0cyB1c2luZyBDbG91ZCBTUUwgYWRtaW4gQVBJIGFuZCByZXR1cm5zIFJEUyByZXNwb25zZXMuIj48c3R5bGU+dGV4dHtmb250LWZhbWlseTpJbnRlciwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwnU2Vnb2UgVUknLFJvYm90bywnSGVsdmV0aWNhIE5ldWUnLEFyaWFsLHNhbnMtc2VyaWY7ZmlsbDojY2JkNWUxfTwvc3R5bGU+CjxkZWZzPjxtYXJrZXIgaWQ9ImFoYy1yZHMtY2xvdWQtc3FsLWFkbWluLWFwaSIgdmlld0JveD0iMCAwIDEwIDEwIiByZWZYPSI4IiByZWZZPSI1IiBtYXJrZXJXaWR0aD0iNyIgbWFya2VySGVpZ2h0PSI3IiBvcmllbnQ9ImF1dG8tc3RhcnQtcmV2ZXJzZSI+PHBhdGggZD0iTTAsMCBMMTAsNSBMMCwxMCB6IiBmaWxsPSIjOTRhM2I4Ii8+PC9tYXJrZXI+PC9kZWZzPgo8cmVjdCB4PSIxNiIgeT0iMzQiIHdpZHRoPSIyMzYiIGhlaWdodD0iMTI4IiByeD0iMTIiIGZpbGw9IiMyNjI2MjYiIHN0cm9rZT0iIzNkNGU2NiIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KPHRleHQgeD0iMTM0IiB5PSI2MCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNlZDg7IGZvbnQtc2l6ZToxMi41cHgiPlJEUyBtYW5hZ2VtZW50IGNhbGw8L3RleHQ+Cjx0ZXh0IHg9IjEzNCIgeT0iODIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjYzljZmQ4Ij5zbmFwc2hvdCDCtyBwb2ludC1pbi10aW1lIHJlc3RvcmU8L3RleHQ+Cjx0ZXh0IHg9IjEzNCIgeT0iOTkiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjYzljZmQ4Ij5yZWFkZXIgwrcgZmFpbG92ZXIgwrcgZ2xvYmFsIGRhdGFiYXNlPC90ZXh0Pgo8dGV4dCB4PSIxMzQiIHk9IjExNiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNmZDgiPkRhdGEgQVBJIMK3IHBhcmFtZXRlcnM8L3RleHQ+Cjx0ZXh0IHg9IjEzNCIgeT0iMTQyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTBweCAnU0YgTW9ubycsIHVpLW1vbm9zcGFjZSwgJ0pldEJyYWlucyBNb25vJywgTWVubG8sIG1vbm9zcGFjZTsgZmlsbDogI2M5Y2ZkOCI+c2FtZSByZXF1ZXN0IC8gcmVzcG9uc2Ugc2hhcGVzPC90ZXh0Pgo8bGluZSB4MT0iMjUyIiB5MT0iNzQiIHgyPSIzMTQiIHkyPSI3NCIgc3Ryb2tlPSIjNDE0ZTYyIiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjYWhjLXJkcy1jbG91ZC1zcWwtYWRtaW4tYXBpKSIvPgo8bGluZSB4MT0iMzE4IiB5MT0iMTI4IiB4Mj0iMjU2IiB5Mj0iMTI4IiBzdHJva2U9IiM0MTRlNjIiIHN0cm9rZS13aWR0aD0iMiIgbWFya2VyLWVuZD0idXJsKCNhaGMtcmRzLWNsb3VkLXNxbC1hZG1pbi1hcGkpIi8+CjxyZWN0IHg9IjMxOCIgeT0iNTQiIHdpZHRoPSIyMDQiIGhlaWdodD0iODgiIHJ4PSIxMiIgZmlsbD0iIzFhMzEyNiIgc3Ryb2tlPSIjMDU5NjY5IiBzdHJva2Utd2lkdGg9IjEuNyIvPgo8dGV4dCB4PSI0MjAiIHk9Ijk0IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNzAwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzkwZGVjODsgZm9udC1zaXplOjEycHgiPlRlbnNvcjk8L3RleHQ+CiAgPHRleHQgeD0iNDIwIiB5PSIxMTIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMC41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM5MGRlYzgiPnNlcnZpY2UgYWRhcHRlcjwvdGV4dD4KPGxpbmUgeDE9IjUyMiIgeTE9Ijc0IiB4Mj0iNTg0IiB5Mj0iNzQiIHN0cm9rZT0iIzQxNGU2MiIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoYy1yZHMtY2xvdWQtc3FsLWFkbWluLWFwaSkiLz4KPGxpbmUgeDE9IjU4OCIgeTE9IjEyOCIgeDI9IjUyNiIgeTI9IjEyOCIgc3Ryb2tlPSIjNDE0ZTYyIiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjYWhjLXJkcy1jbG91ZC1zcWwtYWRtaW4tYXBpKSIvPgo8cmVjdCB4PSI1ODgiIHk9IjM0IiB3aWR0aD0iMjMyIiBoZWlnaHQ9IjEyOCIgcng9IjEyIiBmaWxsPSIjMjYyNjI2IiBzdHJva2U9IiMzZDRlNjYiIHN0cm9rZS13aWR0aD0iMS41Ii8+Cjx0ZXh0IHg9IjcwNCIgeT0iNjIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjYzljZWQ4OyBmb250LXNpemU6MTJweCI+Q2xvdWQgU1FMIGFkbWluIEFQSTwvdGV4dD4KPHRleHQgeD0iNzA0IiB5PSI5NCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNmZDgiPmJhY2t1cHMgwrcgcmVzdG9yZXMgwrcgcmVwbGljYXM8L3RleHQ+Cjx0ZXh0IHg9IjcwNCIgeT0iMTExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2ZkOCI+ZmFpbG92ZXIgwrcgdXBkYXRlcyDCtyBmbGFnczwvdGV4dD4KPC9zdmc+" alt="The Tensor9 service adapter handles RDS management requests using Cloud SQL admin API and returns RDS responses." />
</div>

<p className="t9-caption">Tensor9 translates RDS management requests to the target API and returns RDS responses.</p>

#### Limitations

△ Where Aurora and Cloud SQL stay different

* **Aurora-specific settings have no counterpart.** Failover priority / promotion tiers, Serverless v2 autoscaling, global write forwarding, and I/O-Optimized storage are Aurora-specific.
* **Event subscriptions are not served.** RDS event notifications publish to SNS; Cloud Monitoring is a different model with no direct counterpart.
* **Parameter groups retain their logical identity.** Tensor9 retains named parameter groups and their overrides. Supported explicit PostgreSQL parameters become Cloud SQL database flags; the group object itself stays with Tensor9 rather than becoming a native object on Cloud SQL. The group family and PostgreSQL version must match, and target limits on allowed values and restart requirements still apply. RDS-specific parameters and settings outside the target's settable list are rejected.

#### Other considerations

**Migration.** Moving the data itself is a one-time step, covered by this page's migration note: logical dump / restore, or logical replication for a low-downtime cutover. This page describes steady state after cutover.

**Operations.** The customer owns the Cloud SQL service in their Google Cloud: maintenance windows, quotas, and pricing are Google's.

**Features and capacity.** The comparison table on this page lists database features and high-availability differences. Check the target service's pricing and capacity limits when sizing the deployment.

## On Azure

| Operation                                                                                                                            | Area          | Support      | Depth        | Notes                                                                                                    |
| ------------------------------------------------------------------------------------------------------------------------------------ | ------------- | ------------ | ------------ | -------------------------------------------------------------------------------------------------------- |
| AWS/Aurora-proprietary SQL: aws\_s3.*, aws\_lambda.invoke, Aurora ML (aws\_sagemaker / aws\_comprehend), aurora\_* / apg\_plan\_mgmt | SQL functions | Out of scope | Full surface | AWS and Aurora extension functions with no counterpart on vanilla PostgreSQL; a query calling them fails |
| pgwire protocol (application SQL)                                                                                                    | Wire protocol | Supported    | Common       | wire-compatible PostgreSQL; application SQL is unchanged                                                 |

#### How it works

Your application's PostgreSQL driver connects directly to Azure Database for PostgreSQL Flexible Server. These database requests are the **data plane**. The driver and PostgreSQL wire protocol stay unchanged, and Tensor9 adds no proxy, translation, or latency to the query path.

Management requests, such as snapshots, restore, replicas, failover, and configuration changes, form the **control plane**. Tensor9 serves the RDS API in the customer's appliance and translates those requests to the target's management API. The sections below describe which operations have equivalents and which return errors.

<div className="t9-diagram-scroll" role="region" aria-label="Scrollable diagram" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMjUyIiB2aWV3Qm94PSIwIDAgODM2IDI1MiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJEYXRhYmFzZSByZXF1ZXN0cyAoU1FMIG92ZXIgcGd3aXJlKSBjb25uZWN0IGRpcmVjdGx5IHRvIFBvc3RncmVTUUwgRmxleGlibGUgU2VydmVyLiBUaGUgVGVuc29yOSBzZXJ2aWNlIGFkYXB0ZXIgdHJhbnNsYXRlcyBSRFMgQVBJIG1hbmFnZW1lbnQgY2FsbHMgdG8gQXp1cmUgbWFuYWdlbWVudCBBUEkuIj48c3R5bGU+dGV4dHtmb250LWZhbWlseTpJbnRlciwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwnU2Vnb2UgVUknLFJvYm90bywnSGVsdmV0aWNhIE5ldWUnLEFyaWFsLHNhbnMtc2VyaWY7ZmlsbDojMzM0MTU1fTwvc3R5bGU+CjxkZWZzPjxtYXJrZXIgaWQ9ImFoZC1wb3N0Z3Jlc3FsLWZsZXhpYmxlLXNlcnZlciIgdmlld0JveD0iMCAwIDEwIDEwIiByZWZYPSI4IiByZWZZPSI1IiBtYXJrZXJXaWR0aD0iNyIgbWFya2VySGVpZ2h0PSI3IiBvcmllbnQ9ImF1dG8tc3RhcnQtcmV2ZXJzZSI+PHBhdGggZD0iTTAsMCBMMTAsNSBMMCwxMCB6IiBmaWxsPSIjOTRhM2I4Ii8+PC9tYXJrZXI+PC9kZWZzPgo8cmVjdCB4PSI4IiB5PSIzNCIgd2lkdGg9IjgyMCIgaGVpZ2h0PSIyMDYiIHJ4PSIxNiIgZmlsbD0iI2Y4ZmFmYyIgc3Ryb2tlPSIjY2JkNWUxIiBzdHJva2Utd2lkdGg9IjEuNCIgc3Ryb2tlLWRhc2hhcnJheT0iNSA1Ii8+Cjx0ZXh0IHg9IjI2IiB5PSI1NCIgc3R5bGU9ImZvbnQ6IDcwMCAxMHB4IEludGVyLCBzYW5zLXNlcmlmOyBsZXR0ZXItc3BhY2luZzogMS4zcHg7IGZpbGw6ICM5NGEzYjg7IGZpbGw6IzA0Nzg1NyI+T04gQVpVUkU8L3RleHQ+CjxyZWN0IHg9IjI2IiB5PSI4OCIgd2lkdGg9IjEyOCIgaGVpZ2h0PSIxMTIiIHJ4PSIxMiIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjZTJlOGYwIiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSI5MCIgeT0iMTI2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzBmMTcyYTsgZm9udC1zaXplOjEzcHgiPllvdXIgYXBwPC90ZXh0Pgo8dGV4dCB4PSI5MCIgeT0iMTQ1IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+UG9zdGdyZVNRTCBkcml2ZXI8L3RleHQ+Cjx0ZXh0IHg9IjkwIiB5PSIxNjIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2MDAgMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzA1OTY2OSI+dW5jaGFuZ2VkPC90ZXh0Pgo8dGV4dCB4PSIyMDAiIHk9IjgyIiBzdHlsZT0iZm9udDogNzAwIDEwcHggSW50ZXIsIHNhbnMtc2VyaWY7IGxldHRlci1zcGFjaW5nOiAxLjNweDsgZmlsbDogIzk0YTNiODsgZmlsbDojMDQ3ODU3Ij5EQVRBQkFTRSBSRVFVRVNUUyDCtyBESVJFQ1QgQ09OTkVDVElPTjwvdGV4dD4KPGxpbmUgeDE9IjE1NCIgeTE9IjEwOCIgeDI9IjYxMCIgeTI9IjEwOCIgc3Ryb2tlPSIjMDU5NjY5IiBzdHJva2Utd2lkdGg9IjIuMiIgbWFya2VyLWVuZD0idXJsKCNhaGQtcG9zdGdyZXNxbC1mbGV4aWJsZS1zZXJ2ZXIpIi8+Cjx0ZXh0IHg9IjM4MiIgeT0iMTAwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTBweCAnU0YgTW9ubycsIHVpLW1vbm9zcGFjZSwgJ0pldEJyYWlucyBNb25vJywgTWVubG8sIG1vbm9zcGFjZTsgZmlsbDogIzY0NzQ4YjsgZmlsbDojMDQ3ODU3Ij5TUUwgb3ZlciBwZ3dpcmU8L3RleHQ+CjxyZWN0IHg9IjYxNCIgeT0iNzYiIHdpZHRoPSIxOTYiIGhlaWdodD0iNjQiIHJ4PSIxMiIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjZTJlOGYwIiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSI3MTIiIHk9IjEwMyIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwZjE3MmE7IGZvbnQtc2l6ZToxMnB4Ij5Qb3N0Z3JlU1FMIEZsZXhpYmxlIFNlcnZlcjwvdGV4dD4KPHRleHQgeD0iNzEyIiB5PSIxMjIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjNjQ3NDhiIj5Qb3N0Z3JlU1FMIGVuZ2luZTwvdGV4dD4KPHRleHQgeD0iMjAwIiB5PSIxNTgiIHN0eWxlPSJmb250OiA3MDAgMTBweCBJbnRlciwgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IDEuM3B4OyBmaWxsOiAjOTRhM2I4Ij5NQU5BR0VNRU5UIFJFUVVFU1RTIMK3IFZJQSBURU5TT1I5PC90ZXh0Pgo8bGluZSB4MT0iMTU0IiB5MT0iMTk2IiB4Mj0iMzAwIiB5Mj0iMTk2IiBzdHJva2U9IiM5NGEzYjgiIHN0cm9rZS13aWR0aD0iMiIgbWFya2VyLWVuZD0idXJsKCNhaGQtcG9zdGdyZXNxbC1mbGV4aWJsZS1zZXJ2ZXIpIi8+Cjx0ZXh0IHg9IjIyNyIgeT0iMTg4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTBweCAnU0YgTW9ubycsIHVpLW1vbm9zcGFjZSwgJ0pldEJyYWlucyBNb25vJywgTWVubG8sIG1vbm9zcGFjZTsgZmlsbDogIzY0NzQ4YiI+UkRTIEFQSTwvdGV4dD4KPHJlY3QgeD0iMzA0IiB5PSIxNjQiIHdpZHRoPSIxODAiIGhlaWdodD0iNjYiIHJ4PSIxMiIgZmlsbD0iI2VjZmRmNSIgc3Ryb2tlPSIjMDU5NjY5IiBzdHJva2Utd2lkdGg9IjEuNyIvPgo8dGV4dCB4PSIzOTQiIHk9IjE5MSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDcwMCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwNDc4NTc7IGZvbnQtc2l6ZToxMnB4Ij5UZW5zb3I5PC90ZXh0PgogIDx0ZXh0IHg9IjM5NCIgeT0iMjA4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTAuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMDQ3ODU3Ij5zZXJ2aWNlIGFkYXB0ZXI8L3RleHQ+CjxsaW5lIHgxPSI0ODQiIHkxPSIxOTYiIHgyPSI2MTAiIHkyPSIxOTYiIHN0cm9rZT0iIzk0YTNiOCIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoZC1wb3N0Z3Jlc3FsLWZsZXhpYmxlLXNlcnZlcikiLz4KPHJlY3QgeD0iNjE0IiB5PSIxNjQiIHdpZHRoPSIxOTYiIGhlaWdodD0iNjQiIHJ4PSIxMiIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjZTJlOGYwIiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSI3MTIiIHk9IjE5MSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwZjE3MmE7IGZvbnQtc2l6ZToxMS41cHgiPkF6dXJlIG1hbmFnZW1lbnQgQVBJPC90ZXh0Pgo8dGV4dCB4PSI3MTIiIHk9IjIxMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPnRoZSB0YXJnZXQncyBtYW5hZ2VtZW50IEFQSTwvdGV4dD4KPC9zdmc+" alt="Database requests (SQL over pgwire) connect directly to PostgreSQL Flexible Server. The Tensor9 service adapter translates RDS API management calls to Azure management API." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMjUyIiB2aWV3Qm94PSIwIDAgODM2IDI1MiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJEYXRhYmFzZSByZXF1ZXN0cyAoU1FMIG92ZXIgcGd3aXJlKSBjb25uZWN0IGRpcmVjdGx5IHRvIFBvc3RncmVTUUwgRmxleGlibGUgU2VydmVyLiBUaGUgVGVuc29yOSBzZXJ2aWNlIGFkYXB0ZXIgdHJhbnNsYXRlcyBSRFMgQVBJIG1hbmFnZW1lbnQgY2FsbHMgdG8gQXp1cmUgbWFuYWdlbWVudCBBUEkuIj48c3R5bGU+dGV4dHtmb250LWZhbWlseTpJbnRlciwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwnU2Vnb2UgVUknLFJvYm90bywnSGVsdmV0aWNhIE5ldWUnLEFyaWFsLHNhbnMtc2VyaWY7ZmlsbDojY2JkNWUxfTwvc3R5bGU+CjxkZWZzPjxtYXJrZXIgaWQ9ImFoZC1wb3N0Z3Jlc3FsLWZsZXhpYmxlLXNlcnZlciIgdmlld0JveD0iMCAwIDEwIDEwIiByZWZYPSI4IiByZWZZPSI1IiBtYXJrZXJXaWR0aD0iNyIgbWFya2VySGVpZ2h0PSI3IiBvcmllbnQ9ImF1dG8tc3RhcnQtcmV2ZXJzZSI+PHBhdGggZD0iTTAsMCBMMTAsNSBMMCwxMCB6IiBmaWxsPSIjOTRhM2I4Ii8+PC9tYXJrZXI+PC9kZWZzPgo8cmVjdCB4PSI4IiB5PSIzNCIgd2lkdGg9IjgyMCIgaGVpZ2h0PSIyMDYiIHJ4PSIxNiIgZmlsbD0iIzFhMjYzMSIgc3Ryb2tlPSIjM2Q0ZjY2IiBzdHJva2Utd2lkdGg9IjEuNCIgc3Ryb2tlLWRhc2hhcnJheT0iNSA1Ii8+Cjx0ZXh0IHg9IjI2IiB5PSI1NCIgc3R5bGU9ImZvbnQ6IDcwMCAxMHB4IEludGVyLCBzYW5zLXNlcmlmOyBsZXR0ZXItc3BhY2luZzogMS4zcHg7IGZpbGw6ICM5NGEzYjg7IGZpbGw6ICM5MGRlYzgiPk9OIEFaVVJFPC90ZXh0Pgo8cmVjdCB4PSIyNiIgeT0iODgiIHdpZHRoPSIxMjgiIGhlaWdodD0iMTEyIiByeD0iMTIiIGZpbGw9IiMyNjI2MjYiIHN0cm9rZT0iIzNkNGU2NiIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KPHRleHQgeD0iOTAiIHk9IjEyNiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNlZDg7IGZvbnQtc2l6ZToxM3B4Ij5Zb3VyIGFwcDwvdGV4dD4KPHRleHQgeD0iOTAiIHk9IjE0NSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNmZDgiPlBvc3RncmVTUUwgZHJpdmVyPC90ZXh0Pgo8dGV4dCB4PSI5MCIgeT0iMTYyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjAwIDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM5MGRlYzYiPnVuY2hhbmdlZDwvdGV4dD4KPHRleHQgeD0iMjAwIiB5PSI4MiIgc3R5bGU9ImZvbnQ6IDcwMCAxMHB4IEludGVyLCBzYW5zLXNlcmlmOyBsZXR0ZXItc3BhY2luZzogMS4zcHg7IGZpbGw6ICM5NGEzYjg7IGZpbGw6ICM5MGRlYzgiPkRBVEFCQVNFIFJFUVVFU1RTIMK3IERJUkVDVCBDT05ORUNUSU9OPC90ZXh0Pgo8bGluZSB4MT0iMTU0IiB5MT0iMTA4IiB4Mj0iNjEwIiB5Mj0iMTA4IiBzdHJva2U9IiMwNTk2NjkiIHN0cm9rZS13aWR0aD0iMi4yIiBtYXJrZXItZW5kPSJ1cmwoI2FoZC1wb3N0Z3Jlc3FsLWZsZXhpYmxlLXNlcnZlcikiLz4KPHRleHQgeD0iMzgyIiB5PSIxMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMHB4ICdTRiBNb25vJywgdWktbW9ub3NwYWNlLCAnSmV0QnJhaW5zIE1vbm8nLCBNZW5sbywgbW9ub3NwYWNlOyBmaWxsOiAjYzljZmQ4OyBmaWxsOiAjOTBkZWM4Ij5TUUwgb3ZlciBwZ3dpcmU8L3RleHQ+CjxyZWN0IHg9IjYxNCIgeT0iNzYiIHdpZHRoPSIxOTYiIGhlaWdodD0iNjQiIHJ4PSIxMiIgZmlsbD0iIzI2MjYyNiIgc3Ryb2tlPSIjM2Q0ZTY2IiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSI3MTIiIHk9IjEwMyIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNlZDg7IGZvbnQtc2l6ZToxMnB4Ij5Qb3N0Z3JlU1FMIEZsZXhpYmxlIFNlcnZlcjwvdGV4dD4KPHRleHQgeD0iNzEyIiB5PSIxMjIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjYzljZmQ4Ij5Qb3N0Z3JlU1FMIGVuZ2luZTwvdGV4dD4KPHRleHQgeD0iMjAwIiB5PSIxNTgiIHN0eWxlPSJmb250OiA3MDAgMTBweCBJbnRlciwgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IDEuM3B4OyBmaWxsOiAjOTRhM2I4Ij5NQU5BR0VNRU5UIFJFUVVFU1RTIMK3IFZJQSBURU5TT1I5PC90ZXh0Pgo8bGluZSB4MT0iMTU0IiB5MT0iMTk2IiB4Mj0iMzAwIiB5Mj0iMTk2IiBzdHJva2U9IiM0MTRlNjIiIHN0cm9rZS13aWR0aD0iMiIgbWFya2VyLWVuZD0idXJsKCNhaGQtcG9zdGdyZXNxbC1mbGV4aWJsZS1zZXJ2ZXIpIi8+Cjx0ZXh0IHg9IjIyNyIgeT0iMTg4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTBweCAnU0YgTW9ubycsIHVpLW1vbm9zcGFjZSwgJ0pldEJyYWlucyBNb25vJywgTWVubG8sIG1vbm9zcGFjZTsgZmlsbDogI2M5Y2ZkOCI+UkRTIEFQSTwvdGV4dD4KPHJlY3QgeD0iMzA0IiB5PSIxNjQiIHdpZHRoPSIxODAiIGhlaWdodD0iNjYiIHJ4PSIxMiIgZmlsbD0iIzFhMzEyNiIgc3Ryb2tlPSIjMDU5NjY5IiBzdHJva2Utd2lkdGg9IjEuNyIvPgo8dGV4dCB4PSIzOTQiIHk9IjE5MSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDcwMCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM5MGRlYzg7IGZvbnQtc2l6ZToxMnB4Ij5UZW5zb3I5PC90ZXh0PgogIDx0ZXh0IHg9IjM5NCIgeT0iMjA4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTAuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjOTBkZWM4Ij5zZXJ2aWNlIGFkYXB0ZXI8L3RleHQ+CjxsaW5lIHgxPSI0ODQiIHkxPSIxOTYiIHgyPSI2MTAiIHkyPSIxOTYiIHN0cm9rZT0iIzQxNGU2MiIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoZC1wb3N0Z3Jlc3FsLWZsZXhpYmxlLXNlcnZlcikiLz4KPHJlY3QgeD0iNjE0IiB5PSIxNjQiIHdpZHRoPSIxOTYiIGhlaWdodD0iNjQiIHJ4PSIxMiIgZmlsbD0iIzI2MjYyNiIgc3Ryb2tlPSIjM2Q0ZTY2IiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSI3MTIiIHk9IjE5MSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNlZDg7IGZvbnQtc2l6ZToxMS41cHgiPkF6dXJlIG1hbmFnZW1lbnQgQVBJPC90ZXh0Pgo8dGV4dCB4PSI3MTIiIHk9IjIxMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNmZDgiPnRoZSB0YXJnZXQncyBtYW5hZ2VtZW50IEFQSTwvdGV4dD4KPC9zdmc+" alt="Database requests (SQL over pgwire) connect directly to PostgreSQL Flexible Server. The Tensor9 service adapter translates RDS API management calls to Azure management API." />
</div>

<p className="t9-caption">Queries reach the database directly; only the management calls are translated.</p>

#### Database connections

Aurora uses an AWS-specific storage layer but exposes the PostgreSQL wire protocol to your application. Azure Database for PostgreSQL Flexible Server supports that protocol. Your SQL, drivers, object-relational mappers (ORMs), prepared statements, data types, and transaction semantics remain unchanged; the target replaces Aurora's storage layer.

AWS and Aurora add SQL functions for moving data through S3, invoking Lambda, and machine learning. These functions have no equivalent on the target. Queries that call them return an error.

#### Database management

At runtime your application and operational tooling keep making the same RDS calls they make today: describe the cluster, take a snapshot, restore to a point in time, add a reader, trigger a failover, stop and start, change the instance class or a parameter. For the supported operations, the adapter accepts RDS requests and uses the RDS response format, translating the operation to the Flexible Server: on-demand backups and restores, point-in-time restore, read replicas, manual failover, stop / start, and compute, storage, and server-parameter updates.

The adapter also serves the Aurora Data API (SQL over HTTPS, transactions included), executing each statement over a native connection to the backend database. Aurora's global database is served by the adapter as well: the Flexible Server has no global-cluster object, so the adapter keeps the cluster container itself and maps its members and role changes onto cross-region read replicas, with planned switchover and unplanned failover translating to the target's managed replica promotion operation.

With Max, your tooling uses CreateDBCluster and CreateDBInstance through the RDS adapter to create a logical Aurora cluster and its members on Azure PostgreSQL Flexible Server. Tensor9 retains durable logical cluster and member state and reconciles it with the target resources: accepted requests are recorded, then native resources are created or removed asynchronously. DescribeDBClusters and DescribeDBInstances report status and endpoints. DeleteDBInstance removes members; DeleteDBCluster removes the cluster after its members are gone. Your application's SQL connection goes directly to the database. With the Infrastructure-only alternative, Tensor9 compiles the declared cluster infrastructure into native Azure PostgreSQL Flexible Server resources. You manage those resources through the target's own tools; serving runtime RDS API requests requires Max.

<div className="t9-diagram-scroll" role="region" aria-label="Scrollable diagram" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTk2IiB2aWV3Qm94PSIwIDAgODM2IDE5NiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJUaGUgVGVuc29yOSBzZXJ2aWNlIGFkYXB0ZXIgaGFuZGxlcyBSRFMgbWFuYWdlbWVudCByZXF1ZXN0cyB1c2luZyBBenVyZSBtYW5hZ2VtZW50IEFQSSBhbmQgcmV0dXJucyBSRFMgcmVzcG9uc2VzLiI+PHN0eWxlPnRleHR7Zm9udC1mYW1pbHk6SW50ZXIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO2ZpbGw6IzMzNDE1NX08L3N0eWxlPgo8ZGVmcz48bWFya2VyIGlkPSJhaGMtcmRzLWF6dXJlLW1hbmFnZW1lbnQtYXBpIiB2aWV3Qm94PSIwIDAgMTAgMTAiIHJlZlg9IjgiIHJlZlk9IjUiIG1hcmtlcldpZHRoPSI3IiBtYXJrZXJIZWlnaHQ9IjciIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIj48cGF0aCBkPSJNMCwwIEwxMCw1IEwwLDEwIHoiIGZpbGw9IiM5NGEzYjgiLz48L21hcmtlcj48L2RlZnM+CjxyZWN0IHg9IjE2IiB5PSIzNCIgd2lkdGg9IjIzNiIgaGVpZ2h0PSIxMjgiIHJ4PSIxMiIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjZTJlOGYwIiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSIxMzQiIHk9IjYwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzBmMTcyYTsgZm9udC1zaXplOjEyLjVweCI+UkRTIG1hbmFnZW1lbnQgY2FsbDwvdGV4dD4KPHRleHQgeD0iMTM0IiB5PSI4MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPnNuYXBzaG90IMK3IHBvaW50LWluLXRpbWUgcmVzdG9yZTwvdGV4dD4KPHRleHQgeD0iMTM0IiB5PSI5OSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPnJlYWRlciDCtyBmYWlsb3ZlciDCtyBnbG9iYWwgZGF0YWJhc2U8L3RleHQ+Cjx0ZXh0IHg9IjEzNCIgeT0iMTE2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+RGF0YSBBUEkgwrcgcGFyYW1ldGVyczwvdGV4dD4KPHRleHQgeD0iMTM0IiB5PSIxNDIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMHB4ICdTRiBNb25vJywgdWktbW9ub3NwYWNlLCAnSmV0QnJhaW5zIE1vbm8nLCBNZW5sbywgbW9ub3NwYWNlOyBmaWxsOiAjNjQ3NDhiIj5zYW1lIHJlcXVlc3QgLyByZXNwb25zZSBzaGFwZXM8L3RleHQ+CjxsaW5lIHgxPSIyNTIiIHkxPSI3NCIgeDI9IjMxNCIgeTI9Ijc0IiBzdHJva2U9IiM5NGEzYjgiIHN0cm9rZS13aWR0aD0iMiIgbWFya2VyLWVuZD0idXJsKCNhaGMtcmRzLWF6dXJlLW1hbmFnZW1lbnQtYXBpKSIvPgo8bGluZSB4MT0iMzE4IiB5MT0iMTI4IiB4Mj0iMjU2IiB5Mj0iMTI4IiBzdHJva2U9IiM5NGEzYjgiIHN0cm9rZS13aWR0aD0iMiIgbWFya2VyLWVuZD0idXJsKCNhaGMtcmRzLWF6dXJlLW1hbmFnZW1lbnQtYXBpKSIvPgo8cmVjdCB4PSIzMTgiIHk9IjU0IiB3aWR0aD0iMjA0IiBoZWlnaHQ9Ijg4IiByeD0iMTIiIGZpbGw9IiNlY2ZkZjUiIHN0cm9rZT0iIzA1OTY2OSIgc3Ryb2tlLXdpZHRoPSIxLjciLz4KPHRleHQgeD0iNDIwIiB5PSI5NCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDcwMCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwNDc4NTc7IGZvbnQtc2l6ZToxMnB4Ij5UZW5zb3I5PC90ZXh0PgogIDx0ZXh0IHg9IjQyMCIgeT0iMTEyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTAuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMDQ3ODU3Ij5zZXJ2aWNlIGFkYXB0ZXI8L3RleHQ+CjxsaW5lIHgxPSI1MjIiIHkxPSI3NCIgeDI9IjU4NCIgeTI9Ijc0IiBzdHJva2U9IiM5NGEzYjgiIHN0cm9rZS13aWR0aD0iMiIgbWFya2VyLWVuZD0idXJsKCNhaGMtcmRzLWF6dXJlLW1hbmFnZW1lbnQtYXBpKSIvPgo8bGluZSB4MT0iNTg4IiB5MT0iMTI4IiB4Mj0iNTI2IiB5Mj0iMTI4IiBzdHJva2U9IiM5NGEzYjgiIHN0cm9rZS13aWR0aD0iMiIgbWFya2VyLWVuZD0idXJsKCNhaGMtcmRzLWF6dXJlLW1hbmFnZW1lbnQtYXBpKSIvPgo8cmVjdCB4PSI1ODgiIHk9IjM0IiB3aWR0aD0iMjMyIiBoZWlnaHQ9IjEyOCIgcng9IjEyIiBmaWxsPSIjZmZmIiBzdHJva2U9IiNlMmU4ZjAiIHN0cm9rZS13aWR0aD0iMS41Ii8+Cjx0ZXh0IHg9IjcwNCIgeT0iNjIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMGYxNzJhOyBmb250LXNpemU6MTJweCI+QXp1cmUgbWFuYWdlbWVudCBBUEk8L3RleHQ+Cjx0ZXh0IHg9IjcwNCIgeT0iOTQiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjNjQ3NDhiIj5iYWNrdXBzIMK3IHJlc3RvcmVzIMK3IHJlcGxpY2FzPC90ZXh0Pgo8dGV4dCB4PSI3MDQiIHk9IjExMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPmZhaWxvdmVyIMK3IHVwZGF0ZXMgwrcgcGFyYW1ldGVyczwvdGV4dD4KPC9zdmc+" alt="The Tensor9 service adapter handles RDS management requests using Azure management API and returns RDS responses." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTk2IiB2aWV3Qm94PSIwIDAgODM2IDE5NiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJUaGUgVGVuc29yOSBzZXJ2aWNlIGFkYXB0ZXIgaGFuZGxlcyBSRFMgbWFuYWdlbWVudCByZXF1ZXN0cyB1c2luZyBBenVyZSBtYW5hZ2VtZW50IEFQSSBhbmQgcmV0dXJucyBSRFMgcmVzcG9uc2VzLiI+PHN0eWxlPnRleHR7Zm9udC1mYW1pbHk6SW50ZXIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO2ZpbGw6I2NiZDVlMX08L3N0eWxlPgo8ZGVmcz48bWFya2VyIGlkPSJhaGMtcmRzLWF6dXJlLW1hbmFnZW1lbnQtYXBpIiB2aWV3Qm94PSIwIDAgMTAgMTAiIHJlZlg9IjgiIHJlZlk9IjUiIG1hcmtlcldpZHRoPSI3IiBtYXJrZXJIZWlnaHQ9IjciIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIj48cGF0aCBkPSJNMCwwIEwxMCw1IEwwLDEwIHoiIGZpbGw9IiM5NGEzYjgiLz48L21hcmtlcj48L2RlZnM+CjxyZWN0IHg9IjE2IiB5PSIzNCIgd2lkdGg9IjIzNiIgaGVpZ2h0PSIxMjgiIHJ4PSIxMiIgZmlsbD0iIzI2MjYyNiIgc3Ryb2tlPSIjM2Q0ZTY2IiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSIxMzQiIHk9IjYwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2VkODsgZm9udC1zaXplOjEyLjVweCI+UkRTIG1hbmFnZW1lbnQgY2FsbDwvdGV4dD4KPHRleHQgeD0iMTM0IiB5PSI4MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNmZDgiPnNuYXBzaG90IMK3IHBvaW50LWluLXRpbWUgcmVzdG9yZTwvdGV4dD4KPHRleHQgeD0iMTM0IiB5PSI5OSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNmZDgiPnJlYWRlciDCtyBmYWlsb3ZlciDCtyBnbG9iYWwgZGF0YWJhc2U8L3RleHQ+Cjx0ZXh0IHg9IjEzNCIgeT0iMTE2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2ZkOCI+RGF0YSBBUEkgwrcgcGFyYW1ldGVyczwvdGV4dD4KPHRleHQgeD0iMTM0IiB5PSIxNDIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMHB4ICdTRiBNb25vJywgdWktbW9ub3NwYWNlLCAnSmV0QnJhaW5zIE1vbm8nLCBNZW5sbywgbW9ub3NwYWNlOyBmaWxsOiAjYzljZmQ4Ij5zYW1lIHJlcXVlc3QgLyByZXNwb25zZSBzaGFwZXM8L3RleHQ+CjxsaW5lIHgxPSIyNTIiIHkxPSI3NCIgeDI9IjMxNCIgeTI9Ijc0IiBzdHJva2U9IiM0MTRlNjIiIHN0cm9rZS13aWR0aD0iMiIgbWFya2VyLWVuZD0idXJsKCNhaGMtcmRzLWF6dXJlLW1hbmFnZW1lbnQtYXBpKSIvPgo8bGluZSB4MT0iMzE4IiB5MT0iMTI4IiB4Mj0iMjU2IiB5Mj0iMTI4IiBzdHJva2U9IiM0MTRlNjIiIHN0cm9rZS13aWR0aD0iMiIgbWFya2VyLWVuZD0idXJsKCNhaGMtcmRzLWF6dXJlLW1hbmFnZW1lbnQtYXBpKSIvPgo8cmVjdCB4PSIzMTgiIHk9IjU0IiB3aWR0aD0iMjA0IiBoZWlnaHQ9Ijg4IiByeD0iMTIiIGZpbGw9IiMxYTMxMjYiIHN0cm9rZT0iIzA1OTY2OSIgc3Ryb2tlLXdpZHRoPSIxLjciLz4KPHRleHQgeD0iNDIwIiB5PSI5NCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDcwMCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM5MGRlYzg7IGZvbnQtc2l6ZToxMnB4Ij5UZW5zb3I5PC90ZXh0PgogIDx0ZXh0IHg9IjQyMCIgeT0iMTEyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTAuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjOTBkZWM4Ij5zZXJ2aWNlIGFkYXB0ZXI8L3RleHQ+CjxsaW5lIHgxPSI1MjIiIHkxPSI3NCIgeDI9IjU4NCIgeTI9Ijc0IiBzdHJva2U9IiM0MTRlNjIiIHN0cm9rZS13aWR0aD0iMiIgbWFya2VyLWVuZD0idXJsKCNhaGMtcmRzLWF6dXJlLW1hbmFnZW1lbnQtYXBpKSIvPgo8bGluZSB4MT0iNTg4IiB5MT0iMTI4IiB4Mj0iNTI2IiB5Mj0iMTI4IiBzdHJva2U9IiM0MTRlNjIiIHN0cm9rZS13aWR0aD0iMiIgbWFya2VyLWVuZD0idXJsKCNhaGMtcmRzLWF6dXJlLW1hbmFnZW1lbnQtYXBpKSIvPgo8cmVjdCB4PSI1ODgiIHk9IjM0IiB3aWR0aD0iMjMyIiBoZWlnaHQ9IjEyOCIgcng9IjEyIiBmaWxsPSIjMjYyNjI2IiBzdHJva2U9IiMzZDRlNjYiIHN0cm9rZS13aWR0aD0iMS41Ii8+Cjx0ZXh0IHg9IjcwNCIgeT0iNjIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjYzljZWQ4OyBmb250LXNpemU6MTJweCI+QXp1cmUgbWFuYWdlbWVudCBBUEk8L3RleHQ+Cjx0ZXh0IHg9IjcwNCIgeT0iOTQiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjYzljZmQ4Ij5iYWNrdXBzIMK3IHJlc3RvcmVzIMK3IHJlcGxpY2FzPC90ZXh0Pgo8dGV4dCB4PSI3MDQiIHk9IjExMSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNmZDgiPmZhaWxvdmVyIMK3IHVwZGF0ZXMgwrcgcGFyYW1ldGVyczwvdGV4dD4KPC9zdmc+" alt="The Tensor9 service adapter handles RDS management requests using Azure management API and returns RDS responses." />
</div>

<p className="t9-caption">Tensor9 translates RDS management requests to the target API and returns RDS responses.</p>

#### Limitations

△ Where Aurora and PostgreSQL Flexible Server stay different

* **Aurora-specific settings have no counterpart.** Failover priority / promotion tiers, Serverless v2 autoscaling, global write forwarding, and I/O-Optimized storage are Aurora-specific.
* **Event subscriptions are not served.** RDS event notifications publish to SNS; Azure Monitor is a different model with no direct counterpart.
* **Parameter groups retain their logical identity.** Tensor9 retains named parameter groups and their overrides. Supported explicit PostgreSQL parameters become Azure server parameters; the group object itself stays with Tensor9 rather than becoming a native object on the Flexible Server. The group family and PostgreSQL version must match, and target limits on allowed values and restart requirements still apply. RDS-specific parameters and settings outside the target's settable list are rejected.

#### Other considerations

**Migration.** Moving the data itself is a one-time step, covered by this page's migration note: logical dump / restore, or logical replication for a low-downtime cutover. This page describes steady state after cutover.

**Operations.** The customer owns the Flexible Server in their Azure subscription: maintenance windows, quotas, and pricing are Microsoft's.

**Features and capacity.** The comparison table on this page lists database features and high-availability differences. Check the target service's pricing and capacity limits when sizing the deployment.

## On OCI

| Operation                                                                                                                            | Area          | Support      | Depth        | Notes                                                                                                    |
| ------------------------------------------------------------------------------------------------------------------------------------ | ------------- | ------------ | ------------ | -------------------------------------------------------------------------------------------------------- |
| AWS/Aurora-proprietary SQL: aws\_s3.*, aws\_lambda.invoke, Aurora ML (aws\_sagemaker / aws\_comprehend), aurora\_* / apg\_plan\_mgmt | SQL functions | Out of scope | Full surface | AWS and Aurora extension functions with no counterpart on vanilla PostgreSQL; a query calling them fails |
| pgwire protocol (application SQL)                                                                                                    | Wire protocol | Supported    | Common       | wire-compatible PostgreSQL; application SQL is unchanged                                                 |

#### How it works

Your application's PostgreSQL driver connects directly to OCI Database with PostgreSQL. These database requests are the **data plane**. The driver and PostgreSQL wire protocol stay unchanged, and Tensor9 adds no proxy, translation, or latency to the query path.

Management requests, such as snapshots, restore, replicas, failover, and configuration changes, form the **control plane**. Tensor9 serves the RDS API in the customer's appliance and translates those requests to the target's management API. The sections below describe which operations have equivalents and which return errors.

<div className="t9-diagram-scroll" role="region" aria-label="Scrollable diagram" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMjUyIiB2aWV3Qm94PSIwIDAgODM2IDI1MiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJEYXRhYmFzZSByZXF1ZXN0cyAoU1FMIG92ZXIgcGd3aXJlKSBjb25uZWN0IGRpcmVjdGx5IHRvIE9DSSBQb3N0Z3JlU1FMLiBUaGUgVGVuc29yOSBzZXJ2aWNlIGFkYXB0ZXIgdHJhbnNsYXRlcyBSRFMgQVBJIG1hbmFnZW1lbnQgY2FsbHMgdG8gT0NJIG1hbmFnZW1lbnQgQVBJLiI+PHN0eWxlPnRleHR7Zm9udC1mYW1pbHk6SW50ZXIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO2ZpbGw6IzMzNDE1NX08L3N0eWxlPgo8ZGVmcz48bWFya2VyIGlkPSJhaGQtb2NpLXBvc3RncmVzcWwiIHZpZXdCb3g9IjAgMCAxMCAxMCIgcmVmWD0iOCIgcmVmWT0iNSIgbWFya2VyV2lkdGg9IjciIG1hcmtlckhlaWdodD0iNyIgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiPjxwYXRoIGQ9Ik0wLDAgTDEwLDUgTDAsMTAgeiIgZmlsbD0iIzk0YTNiOCIvPjwvbWFya2VyPjwvZGVmcz4KPHJlY3QgeD0iOCIgeT0iMzQiIHdpZHRoPSI4MjAiIGhlaWdodD0iMjA2IiByeD0iMTYiIGZpbGw9IiNmOGZhZmMiIHN0cm9rZT0iI2NiZDVlMSIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1kYXNoYXJyYXk9IjUgNSIvPgo8dGV4dCB4PSIyNiIgeT0iNTQiIHN0eWxlPSJmb250OiA3MDAgMTBweCBJbnRlciwgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IDEuM3B4OyBmaWxsOiAjOTRhM2I4OyBmaWxsOiMwNDc4NTciPk9OIE9DSTwvdGV4dD4KPHJlY3QgeD0iMjYiIHk9Ijg4IiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjExMiIgcng9IjEyIiBmaWxsPSIjZmZmIiBzdHJva2U9IiNlMmU4ZjAiIHN0cm9rZS13aWR0aD0iMS41Ii8+Cjx0ZXh0IHg9IjkwIiB5PSIxMjYiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMGYxNzJhOyBmb250LXNpemU6MTNweCI+WW91ciBhcHA8L3RleHQ+Cjx0ZXh0IHg9IjkwIiB5PSIxNDUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjNjQ3NDhiIj5Qb3N0Z3JlU1FMIGRyaXZlcjwvdGV4dD4KPHRleHQgeD0iOTAiIHk9IjE2MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDYwMCAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMDU5NjY5Ij51bmNoYW5nZWQ8L3RleHQ+Cjx0ZXh0IHg9IjIwMCIgeT0iODIiIHN0eWxlPSJmb250OiA3MDAgMTBweCBJbnRlciwgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IDEuM3B4OyBmaWxsOiAjOTRhM2I4OyBmaWxsOiMwNDc4NTciPkRBVEFCQVNFIFJFUVVFU1RTIMK3IERJUkVDVCBDT05ORUNUSU9OPC90ZXh0Pgo8bGluZSB4MT0iMTU0IiB5MT0iMTA4IiB4Mj0iNjEwIiB5Mj0iMTA4IiBzdHJva2U9IiMwNTk2NjkiIHN0cm9rZS13aWR0aD0iMi4yIiBtYXJrZXItZW5kPSJ1cmwoI2FoZC1vY2ktcG9zdGdyZXNxbCkiLz4KPHRleHQgeD0iMzgyIiB5PSIxMDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMHB4ICdTRiBNb25vJywgdWktbW9ub3NwYWNlLCAnSmV0QnJhaW5zIE1vbm8nLCBNZW5sbywgbW9ub3NwYWNlOyBmaWxsOiAjNjQ3NDhiOyBmaWxsOiMwNDc4NTciPlNRTCBvdmVyIHBnd2lyZTwvdGV4dD4KPHJlY3QgeD0iNjE0IiB5PSI3NiIgd2lkdGg9IjE5NiIgaGVpZ2h0PSI2NCIgcng9IjEyIiBmaWxsPSIjZmZmIiBzdHJva2U9IiNlMmU4ZjAiIHN0cm9rZS13aWR0aD0iMS41Ii8+Cjx0ZXh0IHg9IjcxMiIgeT0iMTAzIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzBmMTcyYTsgZm9udC1zaXplOjEycHgiPk9DSSBQb3N0Z3JlU1FMPC90ZXh0Pgo8dGV4dCB4PSI3MTIiIHk9IjEyMiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPlBvc3RncmVTUUwgZW5naW5lPC90ZXh0Pgo8dGV4dCB4PSIyMDAiIHk9IjE1OCIgc3R5bGU9ImZvbnQ6IDcwMCAxMHB4IEludGVyLCBzYW5zLXNlcmlmOyBsZXR0ZXItc3BhY2luZzogMS4zcHg7IGZpbGw6ICM5NGEzYjgiPk1BTkFHRU1FTlQgUkVRVUVTVFMgwrcgVklBIFRFTlNPUjk8L3RleHQ+CjxsaW5lIHgxPSIxNTQiIHkxPSIxOTYiIHgyPSIzMDAiIHkyPSIxOTYiIHN0cm9rZT0iIzk0YTNiOCIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoZC1vY2ktcG9zdGdyZXNxbCkiLz4KPHRleHQgeD0iMjI3IiB5PSIxODgiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMHB4ICdTRiBNb25vJywgdWktbW9ub3NwYWNlLCAnSmV0QnJhaW5zIE1vbm8nLCBNZW5sbywgbW9ub3NwYWNlOyBmaWxsOiAjNjQ3NDhiIj5SRFMgQVBJPC90ZXh0Pgo8cmVjdCB4PSIzMDQiIHk9IjE2NCIgd2lkdGg9IjE4MCIgaGVpZ2h0PSI2NiIgcng9IjEyIiBmaWxsPSIjZWNmZGY1IiBzdHJva2U9IiMwNTk2NjkiIHN0cm9rZS13aWR0aD0iMS43Ii8+Cjx0ZXh0IHg9IjM5NCIgeT0iMTkxIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNzAwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzA0Nzg1NzsgZm9udC1zaXplOjEycHgiPlRlbnNvcjk8L3RleHQ+CiAgPHRleHQgeD0iMzk0IiB5PSIyMDgiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMC41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwNDc4NTciPnNlcnZpY2UgYWRhcHRlcjwvdGV4dD4KPGxpbmUgeDE9IjQ4NCIgeTE9IjE5NiIgeDI9IjYxMCIgeTI9IjE5NiIgc3Ryb2tlPSIjOTRhM2I4IiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjYWhkLW9jaS1wb3N0Z3Jlc3FsKSIvPgo8cmVjdCB4PSI2MTQiIHk9IjE2NCIgd2lkdGg9IjE5NiIgaGVpZ2h0PSI2NCIgcng9IjEyIiBmaWxsPSIjZmZmIiBzdHJva2U9IiNlMmU4ZjAiIHN0cm9rZS13aWR0aD0iMS41Ii8+Cjx0ZXh0IHg9IjcxMiIgeT0iMTkxIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzBmMTcyYTsgZm9udC1zaXplOjExLjVweCI+T0NJIG1hbmFnZW1lbnQgQVBJPC90ZXh0Pgo8dGV4dCB4PSI3MTIiIHk9IjIxMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPnRoZSB0YXJnZXQncyBtYW5hZ2VtZW50IEFQSTwvdGV4dD4KPC9zdmc+" alt="Database requests (SQL over pgwire) connect directly to OCI PostgreSQL. The Tensor9 service adapter translates RDS API management calls to OCI management API." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMjUyIiB2aWV3Qm94PSIwIDAgODM2IDI1MiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJEYXRhYmFzZSByZXF1ZXN0cyAoU1FMIG92ZXIgcGd3aXJlKSBjb25uZWN0IGRpcmVjdGx5IHRvIE9DSSBQb3N0Z3JlU1FMLiBUaGUgVGVuc29yOSBzZXJ2aWNlIGFkYXB0ZXIgdHJhbnNsYXRlcyBSRFMgQVBJIG1hbmFnZW1lbnQgY2FsbHMgdG8gT0NJIG1hbmFnZW1lbnQgQVBJLiI+PHN0eWxlPnRleHR7Zm9udC1mYW1pbHk6SW50ZXIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO2ZpbGw6I2NiZDVlMX08L3N0eWxlPgo8ZGVmcz48bWFya2VyIGlkPSJhaGQtb2NpLXBvc3RncmVzcWwiIHZpZXdCb3g9IjAgMCAxMCAxMCIgcmVmWD0iOCIgcmVmWT0iNSIgbWFya2VyV2lkdGg9IjciIG1hcmtlckhlaWdodD0iNyIgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiPjxwYXRoIGQ9Ik0wLDAgTDEwLDUgTDAsMTAgeiIgZmlsbD0iIzk0YTNiOCIvPjwvbWFya2VyPjwvZGVmcz4KPHJlY3QgeD0iOCIgeT0iMzQiIHdpZHRoPSI4MjAiIGhlaWdodD0iMjA2IiByeD0iMTYiIGZpbGw9IiMxYTI2MzEiIHN0cm9rZT0iIzNkNGY2NiIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1kYXNoYXJyYXk9IjUgNSIvPgo8dGV4dCB4PSIyNiIgeT0iNTQiIHN0eWxlPSJmb250OiA3MDAgMTBweCBJbnRlciwgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IDEuM3B4OyBmaWxsOiAjOTRhM2I4OyBmaWxsOiAjOTBkZWM4Ij5PTiBPQ0k8L3RleHQ+CjxyZWN0IHg9IjI2IiB5PSI4OCIgd2lkdGg9IjEyOCIgaGVpZ2h0PSIxMTIiIHJ4PSIxMiIgZmlsbD0iIzI2MjYyNiIgc3Ryb2tlPSIjM2Q0ZTY2IiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSI5MCIgeT0iMTI2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2VkODsgZm9udC1zaXplOjEzcHgiPllvdXIgYXBwPC90ZXh0Pgo8dGV4dCB4PSI5MCIgeT0iMTQ1IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2ZkOCI+UG9zdGdyZVNRTCBkcml2ZXI8L3RleHQ+Cjx0ZXh0IHg9IjkwIiB5PSIxNjIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2MDAgMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzkwZGVjNiI+dW5jaGFuZ2VkPC90ZXh0Pgo8dGV4dCB4PSIyMDAiIHk9IjgyIiBzdHlsZT0iZm9udDogNzAwIDEwcHggSW50ZXIsIHNhbnMtc2VyaWY7IGxldHRlci1zcGFjaW5nOiAxLjNweDsgZmlsbDogIzk0YTNiODsgZmlsbDogIzkwZGVjOCI+REFUQUJBU0UgUkVRVUVTVFMgwrcgRElSRUNUIENPTk5FQ1RJT048L3RleHQ+CjxsaW5lIHgxPSIxNTQiIHkxPSIxMDgiIHgyPSI2MTAiIHkyPSIxMDgiIHN0cm9rZT0iIzA1OTY2OSIgc3Ryb2tlLXdpZHRoPSIyLjIiIG1hcmtlci1lbmQ9InVybCgjYWhkLW9jaS1wb3N0Z3Jlc3FsKSIvPgo8dGV4dCB4PSIzODIiIHk9IjEwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDEwcHggJ1NGIE1vbm8nLCB1aS1tb25vc3BhY2UsICdKZXRCcmFpbnMgTW9ubycsIE1lbmxvLCBtb25vc3BhY2U7IGZpbGw6ICNjOWNmZDg7IGZpbGw6ICM5MGRlYzgiPlNRTCBvdmVyIHBnd2lyZTwvdGV4dD4KPHJlY3QgeD0iNjE0IiB5PSI3NiIgd2lkdGg9IjE5NiIgaGVpZ2h0PSI2NCIgcng9IjEyIiBmaWxsPSIjMjYyNjI2IiBzdHJva2U9IiMzZDRlNjYiIHN0cm9rZS13aWR0aD0iMS41Ii8+Cjx0ZXh0IHg9IjcxMiIgeT0iMTAzIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2VkODsgZm9udC1zaXplOjEycHgiPk9DSSBQb3N0Z3JlU1FMPC90ZXh0Pgo8dGV4dCB4PSI3MTIiIHk9IjEyMiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNmZDgiPlBvc3RncmVTUUwgZW5naW5lPC90ZXh0Pgo8dGV4dCB4PSIyMDAiIHk9IjE1OCIgc3R5bGU9ImZvbnQ6IDcwMCAxMHB4IEludGVyLCBzYW5zLXNlcmlmOyBsZXR0ZXItc3BhY2luZzogMS4zcHg7IGZpbGw6ICM5NGEzYjgiPk1BTkFHRU1FTlQgUkVRVUVTVFMgwrcgVklBIFRFTlNPUjk8L3RleHQ+CjxsaW5lIHgxPSIxNTQiIHkxPSIxOTYiIHgyPSIzMDAiIHkyPSIxOTYiIHN0cm9rZT0iIzQxNGU2MiIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoZC1vY2ktcG9zdGdyZXNxbCkiLz4KPHRleHQgeD0iMjI3IiB5PSIxODgiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMHB4ICdTRiBNb25vJywgdWktbW9ub3NwYWNlLCAnSmV0QnJhaW5zIE1vbm8nLCBNZW5sbywgbW9ub3NwYWNlOyBmaWxsOiAjYzljZmQ4Ij5SRFMgQVBJPC90ZXh0Pgo8cmVjdCB4PSIzMDQiIHk9IjE2NCIgd2lkdGg9IjE4MCIgaGVpZ2h0PSI2NiIgcng9IjEyIiBmaWxsPSIjMWEzMTI2IiBzdHJva2U9IiMwNTk2NjkiIHN0cm9rZS13aWR0aD0iMS43Ii8+Cjx0ZXh0IHg9IjM5NCIgeT0iMTkxIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNzAwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzkwZGVjODsgZm9udC1zaXplOjEycHgiPlRlbnNvcjk8L3RleHQ+CiAgPHRleHQgeD0iMzk0IiB5PSIyMDgiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMC41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM5MGRlYzgiPnNlcnZpY2UgYWRhcHRlcjwvdGV4dD4KPGxpbmUgeDE9IjQ4NCIgeTE9IjE5NiIgeDI9IjYxMCIgeTI9IjE5NiIgc3Ryb2tlPSIjNDE0ZTYyIiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjYWhkLW9jaS1wb3N0Z3Jlc3FsKSIvPgo8cmVjdCB4PSI2MTQiIHk9IjE2NCIgd2lkdGg9IjE5NiIgaGVpZ2h0PSI2NCIgcng9IjEyIiBmaWxsPSIjMjYyNjI2IiBzdHJva2U9IiMzZDRlNjYiIHN0cm9rZS13aWR0aD0iMS41Ii8+Cjx0ZXh0IHg9IjcxMiIgeT0iMTkxIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2VkODsgZm9udC1zaXplOjExLjVweCI+T0NJIG1hbmFnZW1lbnQgQVBJPC90ZXh0Pgo8dGV4dCB4PSI3MTIiIHk9IjIxMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNmZDgiPnRoZSB0YXJnZXQncyBtYW5hZ2VtZW50IEFQSTwvdGV4dD4KPC9zdmc+" alt="Database requests (SQL over pgwire) connect directly to OCI PostgreSQL. The Tensor9 service adapter translates RDS API management calls to OCI management API." />
</div>

<p className="t9-caption">Queries reach the database directly; only the management calls are translated.</p>

#### Database connections

Aurora uses an AWS-specific storage layer but exposes the PostgreSQL wire protocol to your application. OCI Database with PostgreSQL supports that protocol. Your SQL, drivers, object-relational mappers (ORMs), prepared statements, data types, and transaction semantics remain unchanged; the target replaces Aurora's storage layer.

AWS and Aurora add SQL functions for moving data through S3, invoking Lambda, and machine learning. These functions have no equivalent on the target. Queries that call them return an error.

#### Database management

At runtime your application and operational tooling keep making the same RDS calls they make today. The adapter accepts RDS requests and uses the RDS response format for the supported operations, translating them to OCI: on-demand backups and restore-from-backup, in-region readers, stop / start, and compute, storage, and configuration updates. The documented adapter mapping does not promise translation of every native OCI capability into Aurora semantics; the limitations below distinguish those boundaries. Each unsupported operation returns an error.

The adapter also serves the Aurora Data API (SQL over HTTPS, transactions included), executing each statement over a native connection to the backend database.

With Max, your tooling uses CreateDBCluster and CreateDBInstance through the RDS adapter to create a logical Aurora cluster and its members on OCI PostgreSQL. Tensor9 retains durable logical cluster and member state and reconciles it with the target resources: accepted requests are recorded, then native resources are created or removed asynchronously. DescribeDBClusters and DescribeDBInstances report status and endpoints. DeleteDBInstance removes members; DeleteDBCluster removes the cluster after its members are gone. Your application's SQL connection goes directly to the database. With the Infrastructure-only alternative, Tensor9 compiles the declared cluster infrastructure into native OCI PostgreSQL resources. You manage those resources through the target's own tools; serving runtime RDS API requests requires Max.

<div className="t9-diagram-scroll" role="region" aria-label="Scrollable diagram" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTk2IiB2aWV3Qm94PSIwIDAgODM2IDE5NiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJUaGUgVGVuc29yOSBzZXJ2aWNlIGFkYXB0ZXIgaGFuZGxlcyBSRFMgbWFuYWdlbWVudCByZXF1ZXN0cyB1c2luZyBPQ0kgbWFuYWdlbWVudCBBUEkgYW5kIHJldHVybnMgUkRTIHJlc3BvbnNlcy4iPjxzdHlsZT50ZXh0e2ZvbnQtZmFtaWx5OkludGVyLC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCdTZWdvZSBVSScsUm9ib3RvLCdIZWx2ZXRpY2EgTmV1ZScsQXJpYWwsc2Fucy1zZXJpZjtmaWxsOiMzMzQxNTV9PC9zdHlsZT4KPGRlZnM+PG1hcmtlciBpZD0iYWhjLXJkcy1vY2ktbWFuYWdlbWVudC1hcGkiIHZpZXdCb3g9IjAgMCAxMCAxMCIgcmVmWD0iOCIgcmVmWT0iNSIgbWFya2VyV2lkdGg9IjciIG1hcmtlckhlaWdodD0iNyIgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiPjxwYXRoIGQ9Ik0wLDAgTDEwLDUgTDAsMTAgeiIgZmlsbD0iIzk0YTNiOCIvPjwvbWFya2VyPjwvZGVmcz4KPHJlY3QgeD0iMTYiIHk9IjM0IiB3aWR0aD0iMjM2IiBoZWlnaHQ9IjEyOCIgcng9IjEyIiBmaWxsPSIjZmZmIiBzdHJva2U9IiNlMmU4ZjAiIHN0cm9rZS13aWR0aD0iMS41Ii8+Cjx0ZXh0IHg9IjEzNCIgeT0iNjAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMGYxNzJhOyBmb250LXNpemU6MTIuNXB4Ij5SRFMgbWFuYWdlbWVudCBjYWxsPC90ZXh0Pgo8dGV4dCB4PSIxMzQiIHk9IjgyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+c25hcHNob3QgwrcgcmVzdG9yZSBmcm9tIGJhY2t1cDwvdGV4dD4KPHRleHQgeD0iMTM0IiB5PSI5OSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPnJlYWRlciDCtyBzdG9wIC8gc3RhcnQ8L3RleHQ+Cjx0ZXh0IHg9IjEzNCIgeT0iMTE2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+RGF0YSBBUEkgwrcgY29uZmlndXJhdGlvbjwvdGV4dD4KPHRleHQgeD0iMTM0IiB5PSIxNDIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMHB4ICdTRiBNb25vJywgdWktbW9ub3NwYWNlLCAnSmV0QnJhaW5zIE1vbm8nLCBNZW5sbywgbW9ub3NwYWNlOyBmaWxsOiAjNjQ3NDhiIj5zYW1lIHJlcXVlc3QgLyByZXNwb25zZSBzaGFwZXM8L3RleHQ+CjxsaW5lIHgxPSIyNTIiIHkxPSI3NCIgeDI9IjMxNCIgeTI9Ijc0IiBzdHJva2U9IiM5NGEzYjgiIHN0cm9rZS13aWR0aD0iMiIgbWFya2VyLWVuZD0idXJsKCNhaGMtcmRzLW9jaS1tYW5hZ2VtZW50LWFwaSkiLz4KPGxpbmUgeDE9IjMxOCIgeTE9IjEyOCIgeDI9IjI1NiIgeTI9IjEyOCIgc3Ryb2tlPSIjOTRhM2I4IiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjYWhjLXJkcy1vY2ktbWFuYWdlbWVudC1hcGkpIi8+CjxyZWN0IHg9IjMxOCIgeT0iNTQiIHdpZHRoPSIyMDQiIGhlaWdodD0iODgiIHJ4PSIxMiIgZmlsbD0iI2VjZmRmNSIgc3Ryb2tlPSIjMDU5NjY5IiBzdHJva2Utd2lkdGg9IjEuNyIvPgo8dGV4dCB4PSI0MjAiIHk9Ijk0IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNzAwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzA0Nzg1NzsgZm9udC1zaXplOjEycHgiPlRlbnNvcjk8L3RleHQ+CiAgPHRleHQgeD0iNDIwIiB5PSIxMTIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMC41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwNDc4NTciPnNlcnZpY2UgYWRhcHRlcjwvdGV4dD4KPGxpbmUgeDE9IjUyMiIgeTE9Ijc0IiB4Mj0iNTg0IiB5Mj0iNzQiIHN0cm9rZT0iIzk0YTNiOCIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoYy1yZHMtb2NpLW1hbmFnZW1lbnQtYXBpKSIvPgo8bGluZSB4MT0iNTg4IiB5MT0iMTI4IiB4Mj0iNTI2IiB5Mj0iMTI4IiBzdHJva2U9IiM5NGEzYjgiIHN0cm9rZS13aWR0aD0iMiIgbWFya2VyLWVuZD0idXJsKCNhaGMtcmRzLW9jaS1tYW5hZ2VtZW50LWFwaSkiLz4KPHJlY3QgeD0iNTg4IiB5PSIzNCIgd2lkdGg9IjIzMiIgaGVpZ2h0PSIxMjgiIHJ4PSIxMiIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjZTJlOGYwIiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSI3MDQiIHk9IjYyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzBmMTcyYTsgZm9udC1zaXplOjEycHgiPk9DSSBtYW5hZ2VtZW50IEFQSTwvdGV4dD4KPHRleHQgeD0iNzA0IiB5PSI5NCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPmJhY2t1cHMgwrcgcmVzdG9yZXMgwrcgcmVwbGljYXM8L3RleHQ+Cjx0ZXh0IHg9IjcwNCIgeT0iMTExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+c3RvcCAvIHN0YXJ0IMK3IHVwZGF0ZXM8L3RleHQ+Cjwvc3ZnPg==" alt="The Tensor9 service adapter handles RDS management requests using OCI management API and returns RDS responses." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTk2IiB2aWV3Qm94PSIwIDAgODM2IDE5NiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJUaGUgVGVuc29yOSBzZXJ2aWNlIGFkYXB0ZXIgaGFuZGxlcyBSRFMgbWFuYWdlbWVudCByZXF1ZXN0cyB1c2luZyBPQ0kgbWFuYWdlbWVudCBBUEkgYW5kIHJldHVybnMgUkRTIHJlc3BvbnNlcy4iPjxzdHlsZT50ZXh0e2ZvbnQtZmFtaWx5OkludGVyLC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCdTZWdvZSBVSScsUm9ib3RvLCdIZWx2ZXRpY2EgTmV1ZScsQXJpYWwsc2Fucy1zZXJpZjtmaWxsOiNjYmQ1ZTF9PC9zdHlsZT4KPGRlZnM+PG1hcmtlciBpZD0iYWhjLXJkcy1vY2ktbWFuYWdlbWVudC1hcGkiIHZpZXdCb3g9IjAgMCAxMCAxMCIgcmVmWD0iOCIgcmVmWT0iNSIgbWFya2VyV2lkdGg9IjciIG1hcmtlckhlaWdodD0iNyIgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiPjxwYXRoIGQ9Ik0wLDAgTDEwLDUgTDAsMTAgeiIgZmlsbD0iIzk0YTNiOCIvPjwvbWFya2VyPjwvZGVmcz4KPHJlY3QgeD0iMTYiIHk9IjM0IiB3aWR0aD0iMjM2IiBoZWlnaHQ9IjEyOCIgcng9IjEyIiBmaWxsPSIjMjYyNjI2IiBzdHJva2U9IiMzZDRlNjYiIHN0cm9rZS13aWR0aD0iMS41Ii8+Cjx0ZXh0IHg9IjEzNCIgeT0iNjAiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjYzljZWQ4OyBmb250LXNpemU6MTIuNXB4Ij5SRFMgbWFuYWdlbWVudCBjYWxsPC90ZXh0Pgo8dGV4dCB4PSIxMzQiIHk9IjgyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2ZkOCI+c25hcHNob3QgwrcgcmVzdG9yZSBmcm9tIGJhY2t1cDwvdGV4dD4KPHRleHQgeD0iMTM0IiB5PSI5OSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNmZDgiPnJlYWRlciDCtyBzdG9wIC8gc3RhcnQ8L3RleHQ+Cjx0ZXh0IHg9IjEzNCIgeT0iMTE2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2ZkOCI+RGF0YSBBUEkgwrcgY29uZmlndXJhdGlvbjwvdGV4dD4KPHRleHQgeD0iMTM0IiB5PSIxNDIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMHB4ICdTRiBNb25vJywgdWktbW9ub3NwYWNlLCAnSmV0QnJhaW5zIE1vbm8nLCBNZW5sbywgbW9ub3NwYWNlOyBmaWxsOiAjYzljZmQ4Ij5zYW1lIHJlcXVlc3QgLyByZXNwb25zZSBzaGFwZXM8L3RleHQ+CjxsaW5lIHgxPSIyNTIiIHkxPSI3NCIgeDI9IjMxNCIgeTI9Ijc0IiBzdHJva2U9IiM0MTRlNjIiIHN0cm9rZS13aWR0aD0iMiIgbWFya2VyLWVuZD0idXJsKCNhaGMtcmRzLW9jaS1tYW5hZ2VtZW50LWFwaSkiLz4KPGxpbmUgeDE9IjMxOCIgeTE9IjEyOCIgeDI9IjI1NiIgeTI9IjEyOCIgc3Ryb2tlPSIjNDE0ZTYyIiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjYWhjLXJkcy1vY2ktbWFuYWdlbWVudC1hcGkpIi8+CjxyZWN0IHg9IjMxOCIgeT0iNTQiIHdpZHRoPSIyMDQiIGhlaWdodD0iODgiIHJ4PSIxMiIgZmlsbD0iIzFhMzEyNiIgc3Ryb2tlPSIjMDU5NjY5IiBzdHJva2Utd2lkdGg9IjEuNyIvPgo8dGV4dCB4PSI0MjAiIHk9Ijk0IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNzAwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzkwZGVjODsgZm9udC1zaXplOjEycHgiPlRlbnNvcjk8L3RleHQ+CiAgPHRleHQgeD0iNDIwIiB5PSIxMTIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMC41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM5MGRlYzgiPnNlcnZpY2UgYWRhcHRlcjwvdGV4dD4KPGxpbmUgeDE9IjUyMiIgeTE9Ijc0IiB4Mj0iNTg0IiB5Mj0iNzQiIHN0cm9rZT0iIzQxNGU2MiIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoYy1yZHMtb2NpLW1hbmFnZW1lbnQtYXBpKSIvPgo8bGluZSB4MT0iNTg4IiB5MT0iMTI4IiB4Mj0iNTI2IiB5Mj0iMTI4IiBzdHJva2U9IiM0MTRlNjIiIHN0cm9rZS13aWR0aD0iMiIgbWFya2VyLWVuZD0idXJsKCNhaGMtcmRzLW9jaS1tYW5hZ2VtZW50LWFwaSkiLz4KPHJlY3QgeD0iNTg4IiB5PSIzNCIgd2lkdGg9IjIzMiIgaGVpZ2h0PSIxMjgiIHJ4PSIxMiIgZmlsbD0iIzI2MjYyNiIgc3Ryb2tlPSIjM2Q0ZTY2IiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSI3MDQiIHk9IjYyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2VkODsgZm9udC1zaXplOjEycHgiPk9DSSBtYW5hZ2VtZW50IEFQSTwvdGV4dD4KPHRleHQgeD0iNzA0IiB5PSI5NCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNmZDgiPmJhY2t1cHMgwrcgcmVzdG9yZXMgwrcgcmVwbGljYXM8L3RleHQ+Cjx0ZXh0IHg9IjcwNCIgeT0iMTExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2ZkOCI+c3RvcCAvIHN0YXJ0IMK3IHVwZGF0ZXM8L3RleHQ+Cjwvc3ZnPg==" alt="The Tensor9 service adapter handles RDS management requests using OCI management API and returns RDS responses." />
</div>

<p className="t9-caption">Tensor9 translates RDS management requests to the target API and returns RDS responses.</p>

#### Limitations

△ Where Aurora and OCI PostgreSQL stay different

* **Parameter groups retain their logical identity.** Tensor9 retains named parameter groups and their overrides. Supported explicit PostgreSQL parameters become OCI PostgreSQL settings; the group object itself stays with Tensor9 rather than becoming a native object on OCI PostgreSQL. The group family and PostgreSQL version must match, and target limits on allowed values and restart requirements still apply. RDS-specific parameters and settings outside the target's settable list are rejected.
* **Native point-in-time recovery needs a configured policy.** OCI retains WAL and periodic backups under a point-in-time recovery policy. Recovery creates a new database system at a timestamp within the active recovery window. The documented adapter mapping does not promise AWS point-in-time restore translation.
* **Native local failover is separate from AWS failover translation.** OCI exposes FailoverDbSystem for user-initiated failover to an existing local replica. The documented adapter mapping does not promise translation of the AWS failover operation.
* **Native cross-region standbys do not establish an Aurora global database mapping.** OCI supports readable warm standby systems in up to three disaster recovery regions. Replication is asynchronous and can lag; promotion and switchover are manual, with no automatic cross-region failover. Restore is not supported for either the primary or warm standby while configured for this replication. The documented adapter mapping does not promise Aurora global-cluster operations, global-reader routing, or automated promotion.
* **No in-place major-version upgrade.** Major PostgreSQL upgrades on OCI are create-new-and-migrate.
* **Aurora-specific settings and the shared RDS gaps apply too.** Failover priority tiers, Serverless v2, global write forwarding, I/O-Optimized storage and event subscriptions have no counterpart.

#### Other considerations

**Migration.** Moving the data itself is a one-time step, covered by this page's migration note: logical dump / restore, or logical replication for a low-downtime cutover. This page describes steady state after cutover.

**Operations.** The customer owns the database service in their OCI tenancy: maintenance windows, quotas, and pricing are Oracle's.

**Features and capacity.** The comparison table on this page lists database features and high-availability differences. Check the target service's pricing and capacity limits when sizing the deployment.

## On Private Kubernetes

| Operation                                                                                                                            | Area          | Support      | Depth        | Notes                                                                                                    |
| ------------------------------------------------------------------------------------------------------------------------------------ | ------------- | ------------ | ------------ | -------------------------------------------------------------------------------------------------------- |
| AWS/Aurora-proprietary SQL: aws\_s3.*, aws\_lambda.invoke, Aurora ML (aws\_sagemaker / aws\_comprehend), aurora\_* / apg\_plan\_mgmt | SQL functions | Out of scope | Full surface | AWS and Aurora extension functions with no counterpart on vanilla PostgreSQL; a query calling them fails |
| pgwire protocol (application SQL)                                                                                                    | Wire protocol | Supported    | Common       | wire-compatible PostgreSQL; application SQL is unchanged                                                 |

#### How it works

Your application's PostgreSQL driver connects directly to CloudNativePG. These database requests are the **data plane**. The driver and PostgreSQL wire protocol stay unchanged, and Tensor9 adds no proxy, translation, or latency to the query path.

Management requests, such as snapshots, restore, replicas, failover, and configuration changes, form the **control plane**. Tensor9 serves the RDS API in the customer's appliance and translates those requests to the target's management API. The sections below describe which operations have equivalents and which return errors.

<div className="t9-diagram-scroll" role="region" aria-label="Scrollable diagram" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMjUyIiB2aWV3Qm94PSIwIDAgODM2IDI1MiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJEYXRhYmFzZSByZXF1ZXN0cyAoU1FMIG92ZXIgcGd3aXJlKSBjb25uZWN0IGRpcmVjdGx5IHRvIENsb3VkTmF0aXZlUEcuIFRoZSBUZW5zb3I5IHNlcnZpY2UgYWRhcHRlciB0cmFuc2xhdGVzIFJEUyBBUEkgbWFuYWdlbWVudCBjYWxscyB0byBDbG91ZE5hdGl2ZVBHIHJlc291cmNlcy4iPjxzdHlsZT50ZXh0e2ZvbnQtZmFtaWx5OkludGVyLC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCdTZWdvZSBVSScsUm9ib3RvLCdIZWx2ZXRpY2EgTmV1ZScsQXJpYWwsc2Fucy1zZXJpZjtmaWxsOiMzMzQxNTV9PC9zdHlsZT4KPGRlZnM+PG1hcmtlciBpZD0iYWhkLWNsb3VkbmF0aXZlcGciIHZpZXdCb3g9IjAgMCAxMCAxMCIgcmVmWD0iOCIgcmVmWT0iNSIgbWFya2VyV2lkdGg9IjciIG1hcmtlckhlaWdodD0iNyIgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiPjxwYXRoIGQ9Ik0wLDAgTDEwLDUgTDAsMTAgeiIgZmlsbD0iIzk0YTNiOCIvPjwvbWFya2VyPjwvZGVmcz4KPHJlY3QgeD0iOCIgeT0iMzQiIHdpZHRoPSI4MjAiIGhlaWdodD0iMjA2IiByeD0iMTYiIGZpbGw9IiNmOGZhZmMiIHN0cm9rZT0iI2NiZDVlMSIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1kYXNoYXJyYXk9IjUgNSIvPgo8dGV4dCB4PSIyNiIgeT0iNTQiIHN0eWxlPSJmb250OiA3MDAgMTBweCBJbnRlciwgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IDEuM3B4OyBmaWxsOiAjOTRhM2I4OyBmaWxsOiMwNDc4NTciPklOIFRIRSBUQVJHRVQgQ0xVU1RFUjwvdGV4dD4KPHJlY3QgeD0iMjYiIHk9Ijg4IiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjExMiIgcng9IjEyIiBmaWxsPSIjZmZmIiBzdHJva2U9IiNlMmU4ZjAiIHN0cm9rZS13aWR0aD0iMS41Ii8+Cjx0ZXh0IHg9IjkwIiB5PSIxMjYiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMGYxNzJhOyBmb250LXNpemU6MTNweCI+WW91ciBhcHA8L3RleHQ+Cjx0ZXh0IHg9IjkwIiB5PSIxNDUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjNjQ3NDhiIj5Qb3N0Z3JlU1FMIGRyaXZlcjwvdGV4dD4KPHRleHQgeD0iOTAiIHk9IjE2MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDYwMCAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMDU5NjY5Ij51bmNoYW5nZWQ8L3RleHQ+Cjx0ZXh0IHg9IjIwMCIgeT0iODIiIHN0eWxlPSJmb250OiA3MDAgMTBweCBJbnRlciwgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IDEuM3B4OyBmaWxsOiAjOTRhM2I4OyBmaWxsOiMwNDc4NTciPkRBVEFCQVNFIFJFUVVFU1RTIMK3IERJUkVDVCBDT05ORUNUSU9OPC90ZXh0Pgo8bGluZSB4MT0iMTU0IiB5MT0iMTA4IiB4Mj0iNjEwIiB5Mj0iMTA4IiBzdHJva2U9IiMwNTk2NjkiIHN0cm9rZS13aWR0aD0iMi4yIiBtYXJrZXItZW5kPSJ1cmwoI2FoZC1jbG91ZG5hdGl2ZXBnKSIvPgo8dGV4dCB4PSIzODIiIHk9IjEwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDEwcHggJ1NGIE1vbm8nLCB1aS1tb25vc3BhY2UsICdKZXRCcmFpbnMgTW9ubycsIE1lbmxvLCBtb25vc3BhY2U7IGZpbGw6ICM2NDc0OGI7IGZpbGw6IzA0Nzg1NyI+U1FMIG92ZXIgcGd3aXJlPC90ZXh0Pgo8cmVjdCB4PSI2MTQiIHk9Ijc2IiB3aWR0aD0iMTk2IiBoZWlnaHQ9IjY0IiByeD0iMTIiIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2UyZThmMCIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KPHRleHQgeD0iNzEyIiB5PSIxMDMiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMGYxNzJhOyBmb250LXNpemU6MTJweCI+Q2xvdWROYXRpdmVQRzwvdGV4dD4KPHRleHQgeD0iNzEyIiB5PSIxMjIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjNjQ3NDhiIj5Qb3N0Z3JlU1FMIG9uIEt1YmVybmV0ZXM8L3RleHQ+Cjx0ZXh0IHg9IjIwMCIgeT0iMTU4IiBzdHlsZT0iZm9udDogNzAwIDEwcHggSW50ZXIsIHNhbnMtc2VyaWY7IGxldHRlci1zcGFjaW5nOiAxLjNweDsgZmlsbDogIzk0YTNiOCI+TUFOQUdFTUVOVCBSRVFVRVNUUyDCtyBWSUEgVEVOU09SOTwvdGV4dD4KPGxpbmUgeDE9IjE1NCIgeTE9IjE5NiIgeDI9IjMwMCIgeTI9IjE5NiIgc3Ryb2tlPSIjOTRhM2I4IiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjYWhkLWNsb3VkbmF0aXZlcGcpIi8+Cjx0ZXh0IHg9IjIyNyIgeT0iMTg4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTBweCAnU0YgTW9ubycsIHVpLW1vbm9zcGFjZSwgJ0pldEJyYWlucyBNb25vJywgTWVubG8sIG1vbm9zcGFjZTsgZmlsbDogIzY0NzQ4YiI+UkRTIEFQSTwvdGV4dD4KPHJlY3QgeD0iMzA0IiB5PSIxNjQiIHdpZHRoPSIxODAiIGhlaWdodD0iNjYiIHJ4PSIxMiIgZmlsbD0iI2VjZmRmNSIgc3Ryb2tlPSIjMDU5NjY5IiBzdHJva2Utd2lkdGg9IjEuNyIvPgo8dGV4dCB4PSIzOTQiIHk9IjE5MSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDcwMCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwNDc4NTc7IGZvbnQtc2l6ZToxMnB4Ij5UZW5zb3I5PC90ZXh0PgogIDx0ZXh0IHg9IjM5NCIgeT0iMjA4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTAuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjMDQ3ODU3Ij5zZXJ2aWNlIGFkYXB0ZXI8L3RleHQ+CjxsaW5lIHgxPSI0ODQiIHkxPSIxOTYiIHgyPSI2MTAiIHkyPSIxOTYiIHN0cm9rZT0iIzk0YTNiOCIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoZC1jbG91ZG5hdGl2ZXBnKSIvPgo8cmVjdCB4PSI2MTQiIHk9IjE2NCIgd2lkdGg9IjE5NiIgaGVpZ2h0PSI2NCIgcng9IjEyIiBmaWxsPSIjZmZmIiBzdHJva2U9IiNlMmU4ZjAiIHN0cm9rZS13aWR0aD0iMS41Ii8+Cjx0ZXh0IHg9IjcxMiIgeT0iMTkxIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzBmMTcyYTsgZm9udC1zaXplOjExLjVweCI+Q2xvdWROYXRpdmVQRyByZXNvdXJjZXM8L3RleHQ+Cjx0ZXh0IHg9IjcxMiIgeT0iMjEwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+dGhlIHRhcmdldCdzIG1hbmFnZW1lbnQgQVBJPC90ZXh0Pgo8L3N2Zz4=" alt="Database requests (SQL over pgwire) connect directly to CloudNativePG. The Tensor9 service adapter translates RDS API management calls to CloudNativePG resources." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMjUyIiB2aWV3Qm94PSIwIDAgODM2IDI1MiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJEYXRhYmFzZSByZXF1ZXN0cyAoU1FMIG92ZXIgcGd3aXJlKSBjb25uZWN0IGRpcmVjdGx5IHRvIENsb3VkTmF0aXZlUEcuIFRoZSBUZW5zb3I5IHNlcnZpY2UgYWRhcHRlciB0cmFuc2xhdGVzIFJEUyBBUEkgbWFuYWdlbWVudCBjYWxscyB0byBDbG91ZE5hdGl2ZVBHIHJlc291cmNlcy4iPjxzdHlsZT50ZXh0e2ZvbnQtZmFtaWx5OkludGVyLC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCdTZWdvZSBVSScsUm9ib3RvLCdIZWx2ZXRpY2EgTmV1ZScsQXJpYWwsc2Fucy1zZXJpZjtmaWxsOiNjYmQ1ZTF9PC9zdHlsZT4KPGRlZnM+PG1hcmtlciBpZD0iYWhkLWNsb3VkbmF0aXZlcGciIHZpZXdCb3g9IjAgMCAxMCAxMCIgcmVmWD0iOCIgcmVmWT0iNSIgbWFya2VyV2lkdGg9IjciIG1hcmtlckhlaWdodD0iNyIgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiPjxwYXRoIGQ9Ik0wLDAgTDEwLDUgTDAsMTAgeiIgZmlsbD0iIzk0YTNiOCIvPjwvbWFya2VyPjwvZGVmcz4KPHJlY3QgeD0iOCIgeT0iMzQiIHdpZHRoPSI4MjAiIGhlaWdodD0iMjA2IiByeD0iMTYiIGZpbGw9IiMxYTI2MzEiIHN0cm9rZT0iIzNkNGY2NiIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1kYXNoYXJyYXk9IjUgNSIvPgo8dGV4dCB4PSIyNiIgeT0iNTQiIHN0eWxlPSJmb250OiA3MDAgMTBweCBJbnRlciwgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IDEuM3B4OyBmaWxsOiAjOTRhM2I4OyBmaWxsOiAjOTBkZWM4Ij5JTiBUSEUgVEFSR0VUIENMVVNURVI8L3RleHQ+CjxyZWN0IHg9IjI2IiB5PSI4OCIgd2lkdGg9IjEyOCIgaGVpZ2h0PSIxMTIiIHJ4PSIxMiIgZmlsbD0iIzI2MjYyNiIgc3Ryb2tlPSIjM2Q0ZTY2IiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSI5MCIgeT0iMTI2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2VkODsgZm9udC1zaXplOjEzcHgiPllvdXIgYXBwPC90ZXh0Pgo8dGV4dCB4PSI5MCIgeT0iMTQ1IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2ZkOCI+UG9zdGdyZVNRTCBkcml2ZXI8L3RleHQ+Cjx0ZXh0IHg9IjkwIiB5PSIxNjIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2MDAgMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzkwZGVjNiI+dW5jaGFuZ2VkPC90ZXh0Pgo8dGV4dCB4PSIyMDAiIHk9IjgyIiBzdHlsZT0iZm9udDogNzAwIDEwcHggSW50ZXIsIHNhbnMtc2VyaWY7IGxldHRlci1zcGFjaW5nOiAxLjNweDsgZmlsbDogIzk0YTNiODsgZmlsbDogIzkwZGVjOCI+REFUQUJBU0UgUkVRVUVTVFMgwrcgRElSRUNUIENPTk5FQ1RJT048L3RleHQ+CjxsaW5lIHgxPSIxNTQiIHkxPSIxMDgiIHgyPSI2MTAiIHkyPSIxMDgiIHN0cm9rZT0iIzA1OTY2OSIgc3Ryb2tlLXdpZHRoPSIyLjIiIG1hcmtlci1lbmQ9InVybCgjYWhkLWNsb3VkbmF0aXZlcGcpIi8+Cjx0ZXh0IHg9IjM4MiIgeT0iMTAwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTBweCAnU0YgTW9ubycsIHVpLW1vbm9zcGFjZSwgJ0pldEJyYWlucyBNb25vJywgTWVubG8sIG1vbm9zcGFjZTsgZmlsbDogI2M5Y2ZkODsgZmlsbDogIzkwZGVjOCI+U1FMIG92ZXIgcGd3aXJlPC90ZXh0Pgo8cmVjdCB4PSI2MTQiIHk9Ijc2IiB3aWR0aD0iMTk2IiBoZWlnaHQ9IjY0IiByeD0iMTIiIGZpbGw9IiMyNjI2MjYiIHN0cm9rZT0iIzNkNGU2NiIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KPHRleHQgeD0iNzEyIiB5PSIxMDMiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiA2NTAgMTMuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjYzljZWQ4OyBmb250LXNpemU6MTJweCI+Q2xvdWROYXRpdmVQRzwvdGV4dD4KPHRleHQgeD0iNzEyIiB5PSIxMjIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjYzljZmQ4Ij5Qb3N0Z3JlU1FMIG9uIEt1YmVybmV0ZXM8L3RleHQ+Cjx0ZXh0IHg9IjIwMCIgeT0iMTU4IiBzdHlsZT0iZm9udDogNzAwIDEwcHggSW50ZXIsIHNhbnMtc2VyaWY7IGxldHRlci1zcGFjaW5nOiAxLjNweDsgZmlsbDogIzk0YTNiOCI+TUFOQUdFTUVOVCBSRVFVRVNUUyDCtyBWSUEgVEVOU09SOTwvdGV4dD4KPGxpbmUgeDE9IjE1NCIgeTE9IjE5NiIgeDI9IjMwMCIgeTI9IjE5NiIgc3Ryb2tlPSIjNDE0ZTYyIiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjYWhkLWNsb3VkbmF0aXZlcGcpIi8+Cjx0ZXh0IHg9IjIyNyIgeT0iMTg4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTBweCAnU0YgTW9ubycsIHVpLW1vbm9zcGFjZSwgJ0pldEJyYWlucyBNb25vJywgTWVubG8sIG1vbm9zcGFjZTsgZmlsbDogI2M5Y2ZkOCI+UkRTIEFQSTwvdGV4dD4KPHJlY3QgeD0iMzA0IiB5PSIxNjQiIHdpZHRoPSIxODAiIGhlaWdodD0iNjYiIHJ4PSIxMiIgZmlsbD0iIzFhMzEyNiIgc3Ryb2tlPSIjMDU5NjY5IiBzdHJva2Utd2lkdGg9IjEuNyIvPgo8dGV4dCB4PSIzOTQiIHk9IjE5MSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDcwMCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM5MGRlYzg7IGZvbnQtc2l6ZToxMnB4Ij5UZW5zb3I5PC90ZXh0PgogIDx0ZXh0IHg9IjM5NCIgeT0iMjA4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTAuNXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjOTBkZWM4Ij5zZXJ2aWNlIGFkYXB0ZXI8L3RleHQ+CjxsaW5lIHgxPSI0ODQiIHkxPSIxOTYiIHgyPSI2MTAiIHkyPSIxOTYiIHN0cm9rZT0iIzQxNGU2MiIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoZC1jbG91ZG5hdGl2ZXBnKSIvPgo8cmVjdCB4PSI2MTQiIHk9IjE2NCIgd2lkdGg9IjE5NiIgaGVpZ2h0PSI2NCIgcng9IjEyIiBmaWxsPSIjMjYyNjI2IiBzdHJva2U9IiMzZDRlNjYiIHN0cm9rZS13aWR0aD0iMS41Ii8+Cjx0ZXh0IHg9IjcxMiIgeT0iMTkxIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2VkODsgZm9udC1zaXplOjExLjVweCI+Q2xvdWROYXRpdmVQRyByZXNvdXJjZXM8L3RleHQ+Cjx0ZXh0IHg9IjcxMiIgeT0iMjEwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2ZkOCI+dGhlIHRhcmdldCdzIG1hbmFnZW1lbnQgQVBJPC90ZXh0Pgo8L3N2Zz4=" alt="Database requests (SQL over pgwire) connect directly to CloudNativePG. The Tensor9 service adapter translates RDS API management calls to CloudNativePG resources." />
</div>

<p className="t9-caption">Queries reach the database directly; only the management calls are translated.</p>

#### Database connections

Aurora uses an AWS-specific storage layer but exposes the PostgreSQL wire protocol to your application. CloudNativePG supports that protocol. Your SQL, drivers, object-relational mappers (ORMs), prepared statements, data types, and transaction semantics remain unchanged; the target replaces Aurora's storage layer.

AWS and Aurora add SQL functions for moving data through S3, invoking Lambda, and machine learning. These functions have no equivalent on the target. Queries that call them return an error.

#### Database management

At runtime your application and operational tooling keep making the same RDS calls they make today. The adapter accepts RDS requests and uses the RDS response format for the supported operations, translating them to CloudNativePG's Kubernetes resources: backups and restores onto its backup and recovery objects, point-in-time restore onto its native PITR, readers onto the cluster's instance count, manual failover onto replica promotion, stop / start onto scaling the cluster down and up, and parameter changes onto the cluster's PostgreSQL configuration. Managed connection pooling (the role RDS Proxy plays) is served by CloudNativePG's built-in pooler.

The adapter also serves the Aurora Data API (SQL over HTTPS, transactions included), executing each statement over a native connection to the backend database.

When your product is deployed into the customer environment, Tensor9 compiles the cluster your stack already declares into the equivalent CloudNativePG resources and sets the endpoint and credentials into your application's configuration. The control-plane adapter then covers the management calls your running system makes.

<div className="t9-diagram-scroll" role="region" aria-label="Scrollable diagram" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTk2IiB2aWV3Qm94PSIwIDAgODM2IDE5NiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJUaGUgVGVuc29yOSBzZXJ2aWNlIGFkYXB0ZXIgaGFuZGxlcyBSRFMgbWFuYWdlbWVudCByZXF1ZXN0cyB1c2luZyBDbG91ZE5hdGl2ZVBHIHJlc291cmNlcyBhbmQgcmV0dXJucyBSRFMgcmVzcG9uc2VzLiI+PHN0eWxlPnRleHR7Zm9udC1mYW1pbHk6SW50ZXIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO2ZpbGw6IzMzNDE1NX08L3N0eWxlPgo8ZGVmcz48bWFya2VyIGlkPSJhaGMtcmRzLWNsb3VkbmF0aXZlcGctcmVzb3VyY2VzIiB2aWV3Qm94PSIwIDAgMTAgMTAiIHJlZlg9IjgiIHJlZlk9IjUiIG1hcmtlcldpZHRoPSI3IiBtYXJrZXJIZWlnaHQ9IjciIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIj48cGF0aCBkPSJNMCwwIEwxMCw1IEwwLDEwIHoiIGZpbGw9IiM5NGEzYjgiLz48L21hcmtlcj48L2RlZnM+CjxyZWN0IHg9IjE2IiB5PSIzNCIgd2lkdGg9IjIzNiIgaGVpZ2h0PSIxMjgiIHJ4PSIxMiIgZmlsbD0iI2ZmZiIgc3Ryb2tlPSIjZTJlOGYwIiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSIxMzQiIHk9IjYwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzBmMTcyYTsgZm9udC1zaXplOjEyLjVweCI+UkRTIG1hbmFnZW1lbnQgY2FsbDwvdGV4dD4KPHRleHQgeD0iMTM0IiB5PSI4MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPnNuYXBzaG90IMK3IHBvaW50LWluLXRpbWUgcmVzdG9yZTwvdGV4dD4KPHRleHQgeD0iMTM0IiB5PSI5OSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPnJlYWRlciDCtyByZXBsaWNhIHByb21vdGlvbjwvdGV4dD4KPHRleHQgeD0iMTM0IiB5PSIxMTYiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjNjQ3NDhiIj5EYXRhIEFQSSDCtyBwYXJhbWV0ZXJzPC90ZXh0Pgo8dGV4dCB4PSIxMzQiIHk9IjE0MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDEwcHggJ1NGIE1vbm8nLCB1aS1tb25vc3BhY2UsICdKZXRCcmFpbnMgTW9ubycsIE1lbmxvLCBtb25vc3BhY2U7IGZpbGw6ICM2NDc0OGIiPnNhbWUgcmVxdWVzdCAvIHJlc3BvbnNlIHNoYXBlczwvdGV4dD4KPGxpbmUgeDE9IjI1MiIgeTE9Ijc0IiB4Mj0iMzE0IiB5Mj0iNzQiIHN0cm9rZT0iIzk0YTNiOCIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoYy1yZHMtY2xvdWRuYXRpdmVwZy1yZXNvdXJjZXMpIi8+CjxsaW5lIHgxPSIzMTgiIHkxPSIxMjgiIHgyPSIyNTYiIHkyPSIxMjgiIHN0cm9rZT0iIzk0YTNiOCIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoYy1yZHMtY2xvdWRuYXRpdmVwZy1yZXNvdXJjZXMpIi8+CjxyZWN0IHg9IjMxOCIgeT0iNTQiIHdpZHRoPSIyMDQiIGhlaWdodD0iODgiIHJ4PSIxMiIgZmlsbD0iI2VjZmRmNSIgc3Ryb2tlPSIjMDU5NjY5IiBzdHJva2Utd2lkdGg9IjEuNyIvPgo8dGV4dCB4PSI0MjAiIHk9Ijk0IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNzAwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzA0Nzg1NzsgZm9udC1zaXplOjEycHgiPlRlbnNvcjk8L3RleHQ+CiAgPHRleHQgeD0iNDIwIiB5PSIxMTIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMC41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwNDc4NTciPnNlcnZpY2UgYWRhcHRlcjwvdGV4dD4KPGxpbmUgeDE9IjUyMiIgeTE9Ijc0IiB4Mj0iNTg0IiB5Mj0iNzQiIHN0cm9rZT0iIzk0YTNiOCIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoYy1yZHMtY2xvdWRuYXRpdmVwZy1yZXNvdXJjZXMpIi8+CjxsaW5lIHgxPSI1ODgiIHkxPSIxMjgiIHgyPSI1MjYiIHkyPSIxMjgiIHN0cm9rZT0iIzk0YTNiOCIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoYy1yZHMtY2xvdWRuYXRpdmVwZy1yZXNvdXJjZXMpIi8+CjxyZWN0IHg9IjU4OCIgeT0iMzQiIHdpZHRoPSIyMzIiIGhlaWdodD0iMTI4IiByeD0iMTIiIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2UyZThmMCIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KPHRleHQgeD0iNzA0IiB5PSI2MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICMwZjE3MmE7IGZvbnQtc2l6ZToxMnB4Ij5DbG91ZE5hdGl2ZVBHIHJlc291cmNlczwvdGV4dD4KPHRleHQgeD0iNzA0IiB5PSI5NCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM2NDc0OGIiPmJhY2t1cHMgwrcgcmVjb3ZlcnkgwrcgcmVwbGljYXM8L3RleHQ+Cjx0ZXh0IHg9IjcwNCIgeT0iMTExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzY0NzQ4YiI+cHJvbW90aW9uIMK3IGNvbmZpZ3VyYXRpb248L3RleHQ+Cjwvc3ZnPg==" alt="The Tensor9 service adapter handles RDS management requests using CloudNativePG resources and returns RDS responses." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MzYiIGhlaWdodD0iMTk2IiB2aWV3Qm94PSIwIDAgODM2IDE5NiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJUaGUgVGVuc29yOSBzZXJ2aWNlIGFkYXB0ZXIgaGFuZGxlcyBSRFMgbWFuYWdlbWVudCByZXF1ZXN0cyB1c2luZyBDbG91ZE5hdGl2ZVBHIHJlc291cmNlcyBhbmQgcmV0dXJucyBSRFMgcmVzcG9uc2VzLiI+PHN0eWxlPnRleHR7Zm9udC1mYW1pbHk6SW50ZXIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO2ZpbGw6I2NiZDVlMX08L3N0eWxlPgo8ZGVmcz48bWFya2VyIGlkPSJhaGMtcmRzLWNsb3VkbmF0aXZlcGctcmVzb3VyY2VzIiB2aWV3Qm94PSIwIDAgMTAgMTAiIHJlZlg9IjgiIHJlZlk9IjUiIG1hcmtlcldpZHRoPSI3IiBtYXJrZXJIZWlnaHQ9IjciIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIj48cGF0aCBkPSJNMCwwIEwxMCw1IEwwLDEwIHoiIGZpbGw9IiM5NGEzYjgiLz48L21hcmtlcj48L2RlZnM+CjxyZWN0IHg9IjE2IiB5PSIzNCIgd2lkdGg9IjIzNiIgaGVpZ2h0PSIxMjgiIHJ4PSIxMiIgZmlsbD0iIzI2MjYyNiIgc3Ryb2tlPSIjM2Q0ZTY2IiBzdHJva2Utd2lkdGg9IjEuNSIvPgo8dGV4dCB4PSIxMzQiIHk9IjYwIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNjUwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2VkODsgZm9udC1zaXplOjEyLjVweCI+UkRTIG1hbmFnZW1lbnQgY2FsbDwvdGV4dD4KPHRleHQgeD0iMTM0IiB5PSI4MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNmZDgiPnNuYXBzaG90IMK3IHBvaW50LWluLXRpbWUgcmVzdG9yZTwvdGV4dD4KPHRleHQgeD0iMTM0IiB5PSI5OSIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNmZDgiPnJlYWRlciDCtyByZXBsaWNhIHByb21vdGlvbjwvdGV4dD4KPHRleHQgeD0iMTM0IiB5PSIxMTYiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMXB4IEludGVyLCBzYW5zLXNlcmlmOyBmaWxsOiAjYzljZmQ4Ij5EYXRhIEFQSSDCtyBwYXJhbWV0ZXJzPC90ZXh0Pgo8dGV4dCB4PSIxMzQiIHk9IjE0MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDEwcHggJ1NGIE1vbm8nLCB1aS1tb25vc3BhY2UsICdKZXRCcmFpbnMgTW9ubycsIE1lbmxvLCBtb25vc3BhY2U7IGZpbGw6ICNjOWNmZDgiPnNhbWUgcmVxdWVzdCAvIHJlc3BvbnNlIHNoYXBlczwvdGV4dD4KPGxpbmUgeDE9IjI1MiIgeTE9Ijc0IiB4Mj0iMzE0IiB5Mj0iNzQiIHN0cm9rZT0iIzQxNGU2MiIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoYy1yZHMtY2xvdWRuYXRpdmVwZy1yZXNvdXJjZXMpIi8+CjxsaW5lIHgxPSIzMTgiIHkxPSIxMjgiIHgyPSIyNTYiIHkyPSIxMjgiIHN0cm9rZT0iIzQxNGU2MiIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoYy1yZHMtY2xvdWRuYXRpdmVwZy1yZXNvdXJjZXMpIi8+CjxyZWN0IHg9IjMxOCIgeT0iNTQiIHdpZHRoPSIyMDQiIGhlaWdodD0iODgiIHJ4PSIxMiIgZmlsbD0iIzFhMzEyNiIgc3Ryb2tlPSIjMDU5NjY5IiBzdHJva2Utd2lkdGg9IjEuNyIvPgo8dGV4dCB4PSI0MjAiIHk9Ijk0IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogNzAwIDEzLjVweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogIzkwZGVjODsgZm9udC1zaXplOjEycHgiPlRlbnNvcjk8L3RleHQ+CiAgPHRleHQgeD0iNDIwIiB5PSIxMTIiIHRleHQtYW5jaG9yPSJtaWRkbGUiIHN0eWxlPSJmb250OiAxMC41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICM5MGRlYzgiPnNlcnZpY2UgYWRhcHRlcjwvdGV4dD4KPGxpbmUgeDE9IjUyMiIgeTE9Ijc0IiB4Mj0iNTg0IiB5Mj0iNzQiIHN0cm9rZT0iIzQxNGU2MiIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoYy1yZHMtY2xvdWRuYXRpdmVwZy1yZXNvdXJjZXMpIi8+CjxsaW5lIHgxPSI1ODgiIHkxPSIxMjgiIHgyPSI1MjYiIHkyPSIxMjgiIHN0cm9rZT0iIzQxNGU2MiIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI2FoYy1yZHMtY2xvdWRuYXRpdmVwZy1yZXNvdXJjZXMpIi8+CjxyZWN0IHg9IjU4OCIgeT0iMzQiIHdpZHRoPSIyMzIiIGhlaWdodD0iMTI4IiByeD0iMTIiIGZpbGw9IiMyNjI2MjYiIHN0cm9rZT0iIzNkNGU2NiIgc3Ryb2tlLXdpZHRoPSIxLjUiLz4KPHRleHQgeD0iNzA0IiB5PSI2MiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDY1MCAxMy41cHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNlZDg7IGZvbnQtc2l6ZToxMnB4Ij5DbG91ZE5hdGl2ZVBHIHJlc291cmNlczwvdGV4dD4KPHRleHQgeD0iNzA0IiB5PSI5NCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgc3R5bGU9ImZvbnQ6IDExcHggSW50ZXIsIHNhbnMtc2VyaWY7IGZpbGw6ICNjOWNmZDgiPmJhY2t1cHMgwrcgcmVjb3ZlcnkgwrcgcmVwbGljYXM8L3RleHQ+Cjx0ZXh0IHg9IjcwNCIgeT0iMTExIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBzdHlsZT0iZm9udDogMTFweCBJbnRlciwgc2Fucy1zZXJpZjsgZmlsbDogI2M5Y2ZkOCI+cHJvbW90aW9uIMK3IGNvbmZpZ3VyYXRpb248L3RleHQ+Cjwvc3ZnPg==" alt="The Tensor9 service adapter handles RDS management requests using CloudNativePG resources and returns RDS responses." />
</div>

<p className="t9-caption">Tensor9 translates RDS management requests to the target API and returns RDS responses.</p>

#### Limitations

△ Where Aurora and CloudNativePG stay different

* **No global database.** The appliance runs a single CloudNativePG cluster; cross-region readers or a standby region would need a second appliance.
* **Aurora-specific settings have no counterpart.** Failover priority / promotion tiers, Serverless v2 autoscaling, global write forwarding, and I/O-Optimized storage are Aurora-specific.
* **Events are Kubernetes-native.** RDS event notifications publish to SNS; here the equivalents are Kubernetes events and Prometheus alerts, a different model.
* **Parameter groups become individual settings.** Each PostgreSQL parameter translates to the cluster's configuration; the group object itself does not cross.

#### Other considerations

**Migration.** Moving the data itself is a one-time step, covered by this page's migration note: logical dump / restore, or logical replication for a low-downtime cutover. This page describes steady state after cutover.

**Operations.** CloudNativePG is self-operated: after cutover the customer's team runs the cluster (backups, upgrades, failover drills), with no cloud database vendor behind it.

**Features and capacity.** The comparison table on this page lists database features and high-availability differences. Check the target service's pricing and capacity limits when sizing the deployment.

[Service Catalog](/service-adapters/catalog).
