我尝试在PostgreSQL 13中创建以下表格:
CREATE TABLE cached (
text VARCHAR NOT NULL,
text_hash BYTEA GENERATED ALWAYS AS (sha256(convert_to(text, 'LATIN1'))) STORED PRIMARY KEY
);
但是,我得到了以下错误:
生成表达式不是不可变的
我猜这是因为convert_to
不是不可变的。我该如何解决这个问题呢?有没有一种方法可以将text
列转换为bytea
列?
我宁愿避免的事情:
1.转换为text::bytea
。它不会像here解释的那样正确工作。
1.使用触发器。
1条答案
按热度按时间pprl5pva1#