Postgresql pgp_sym_加密postgres性能问题

Postgresql pgp_sym_加密postgres性能问题,postgresql,Postgresql,我正在使用postgres 12和pgp_sym_encrypt。它起作用了。但是加密一个非常大的表中的列需要几天的时间。还有谁有过加快pgp_sym_加密速度的经验?我正在插入/选择一个新表,以避免在适当的位置进行更新时速度缓慢。没有where子句,我看不出有多少可调之处 例如,拉动10000行需要35秒。 选择 将(pgp_sym_encrypt(col1,'KEY','cipher algo=aes256'),'hex')编码为col1 表A中的上限为10000 要在不使用该函数的情况下提

我正在使用postgres 12和pgp_sym_encrypt。它起作用了。但是加密一个非常大的表中的列需要几天的时间。还有谁有过加快pgp_sym_加密速度的经验?我正在插入/选择一个新表,以避免在适当的位置进行更新时速度缓慢。没有where子句,我看不出有多少可调之处

例如,拉动10000行需要35秒。
选择 将(pgp_sym_encrypt(col1,'KEY','cipher algo=aes256'),'hex')编码为col1 表A中的上限为10000

要在不使用该函数的情况下提取10000行,只需几毫秒。 选择 可乐 表A中的上限为10000


有十亿行。我认为对表中的这一列进行加密需要972小时。

PGP故意使用缓慢的散列(尽管不是那么慢),以使“暴力破解”弱密码变得更加困难。您可以通过更改s2k模式或s2k计数来消除或削弱这种情况。当然,在故意削弱自己的加密之前,您应该仔细考虑一下

pgp_sym_encrypt(col1, 'KEY', 'cipher-algo=aes256, s2k-mode=1')

PGP故意使用缓慢的散列(尽管不是那么慢),以使“暴力破解”弱密码变得更加困难。您可以通过更改s2k模式或s2k计数来消除或削弱这种情况。当然,在故意削弱自己的加密之前,您应该仔细考虑一下

pgp_sym_encrypt(col1, 'KEY', 'cipher-algo=aes256, s2k-mode=1')