On Fri, Mar 1, 2019 at 3:52 PM Haribabu Kommi <kommi.haribabu@gmail.com> wrote:
> The Cybertec proposed patches are doing the encryption at the instance
> level, AFAIK, the current discussion is also trying to reduce the scope of the
> encryption to object level like (tablesapce, database or table) to avoid the encryption
> performance impact for the databases, tables that don't need it.
The trick there is that it becomes difficult to figure out which keys
to use for certain things. For example, you could say, well, this WAL
record is for a table that is encrypted with key 123, so let's use key
123 to encrypt the WAL record also. So far, so good. But then how do
you encrypt, say, a logical decoding spill file? That could have data
in it mixed together from multiple relations, IIUC. Or what do you do
about SLRUs or other global structures? If you just exclude that
stuff from the scope of encryption, then you aren't helping the people
who want to Just Encrypt Everything.
Now that having been said I bet a lot of people would find it pretty
cool if we could make this work on a per-table basis. And I'm not
opposed to that. I just think it's really hard.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company