diff --git a/contrib/pg_tde/src/access/pg_tde_tdemap.c b/contrib/pg_tde/src/access/pg_tde_tdemap.c index 021580c6959..ea3d5699185 100644 --- a/contrib/pg_tde/src/access/pg_tde_tdemap.c +++ b/contrib/pg_tde/src/access/pg_tde_tdemap.c @@ -190,6 +190,7 @@ pg_tde_create_key_map_entry(const RelFileLocator *newrlocator, uint32 entry_type */ xlrec.rlocator = *newrlocator; xlrec.relKey = *enc_rel_key_data; + xlrec.pkInfo = principal_key->keyInfo; XLogBeginInsert(); XLogRegisterData((char *) &xlrec, sizeof(xlrec)); diff --git a/contrib/pg_tde/src/access/pg_tde_xlog.c b/contrib/pg_tde/src/access/pg_tde_xlog.c index a06dfc01ba4..3c969cd2fc1 100644 --- a/contrib/pg_tde/src/access/pg_tde_xlog.c +++ b/contrib/pg_tde/src/access/pg_tde_xlog.c @@ -55,14 +55,10 @@ tdeheap_rmgr_redo(XLogReaderState *record) if (info == XLOG_TDE_ADD_RELATION_KEY) { - TDEPrincipalKeyInfo *pk = NULL; XLogRelKey *xlrec = (XLogRelKey *) XLogRecGetData(record); - if (xlrec->pkInfo.databaseId != 0) - pk = &xlrec->pkInfo; - LWLockAcquire(tde_lwlock_enc_keys(), LW_EXCLUSIVE); - pg_tde_write_key_map_entry(&xlrec->rlocator, &xlrec->relKey, pk); + pg_tde_write_key_map_entry(&xlrec->rlocator, &xlrec->relKey, &xlrec->pkInfo); LWLockRelease(tde_lwlock_enc_keys()); } else if (info == XLOG_TDE_ADD_PRINCIPAL_KEY || info == XLOG_TDE_UPDATE_PRINCIPAL_KEY)