Skip to content

Commit

Permalink
PG-1013 Added build comparison table, moved features from index to co…
Browse files Browse the repository at this point in the history
…mpaison
  • Loading branch information
nastena1606 committed Sep 16, 2024
1 parent 19f722e commit 7c1f356
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 21 deletions.
26 changes: 26 additions & 0 deletions documentation/docs/features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Build comparison

We provide `pg_tde` builds for both PostgreSQL Community and [Percona Server for PostgreSQL](https://docs.percona.com/postgresql/17/). The difference between the builds is in the set of included features which in its turn depends on the Storage Manager API. While PostgreSQL Community uses the default Storage Manager API, Percona Server for PostgreSQL extends the Storage Manager API enabling to integrate custom storage managers.

## Features

The following table provides the differences between the builds:

| PostgreSQL Community build | Percona Server for PostgreSQL build <br> (in addition to features included in the PostgreSQL Community build)|
|----------------------|-------------------------------|
| Table encryption: <br> - data tables, <br> - TOAST tables <br> - temporary tables created during the database operation.<br><br> Metadata of those tables is not encrypted. | Index data encryption for encrypted tables |
| Write-Ahead Log (WAL) encryption of data in encrypted tables | Write-Ahead Log (WAL) encryption of data for encrypted and non-encrypted tables |
| Multi-tenancy support| |
| Table-level granularity | |
| Key management via: <br> - HashiCorp Vault; <br> - Local keyfile |

## Future releases

The following is planned for future releases of `pg_tde`:

* Logical replication support
* KMIP integration for key management

<i warning>:material-alert: Warning:</i> Note that introducing encryption/decryption affects performance. Our benchmark tests show less than 10% performance overhead for most situations. However, in some specific applications such as those using JSONB operations, performance degradation might be higher.

[Get started](install.md){.md-button}
29 changes: 8 additions & 21 deletions documentation/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,37 +6,24 @@

This is the {{release}} version of the extension and is not meant for production use yet. [Release notes](release-notes/release-notes.md)

## What's encrypted
## Supported PostgreSQL deployments

`pg_tde` encrypts the following:
`pg_tde` is provided in database specific builds for:

* User data in tables, including TOAST tables, that are created using the extension. Metadata of those tables is not encrypted.
* Write-Ahead Log (WAL) data for tables created using the extension
* Temporary tables created during the database operation for data tables created using the extension
* [Percona Server for PostgreSQL 17](https://docs.percona.com/postgresql/17/) as part of Percona Distribution for PostgreSQL 17. This build includes all capabilities and features of `pg_tde`
* PostgreSQL Community 16.x, PostgreSQL Community 17.0 and Percona Distribution for PostgreSQL 16.0. This build provides limited capabilities. Namely, index level encryption is not supported as it requires the use of a custom storage manager.

[Compare builds](features.md){.md-button}
[Get started](install.md){.md-button}

## Known limitations

* Logical replication is not available as it doesn't work with encrypted tables.
* Keys in the local keyfile are stored unencrypted.
* Indexes and `NULL` bitmaps of tuples are currently not encrypted.
* System tables are currently not encrypted

<i warning>:material-alert: Warning:</i> Note that introducing encryption/decryption affects performance. Our benchmark tests show less than 10% performance overhead for most situations. However, in some specific applications such as those using JSONB operations, performance degradation might be higher.

[Get started](install.md){.md-button}

## Supported PostgreSQL versions

`pg_tde` is currently based on PostgreSQL 16.0 and supported for Percona Distribution for PostgreSQL 16.x and upstream PostgreSQL 16.x.

## Future releases

The following is planned for future releases of `pg_tde`:

* Encryption of indexes and `NULL` bitmaps of tuples
* Logical replication support



## Useful links

* [What is Transparent Data Encryption](tde.md)
Expand Down

0 comments on commit 7c1f356

Please sign in to comment.