【发布时间】:2020-04-25 18:01:12
【问题描述】:
我在帖子中有一个我需要生成的列,它遵循命名模式。 每个表的模式都是唯一的,但总是包含某种后缀或前缀,以及其中一些列的当前行值。
-- Create table_registration
ALTER TABLE public.person
DROP COLUMN IF EXISTS entry_name,
ADD COLUMN entry_name TEXT generated ALWAYS as (concat_ws(' ', hobby)) stored;
这有时会触发类似
的错误Npgsql.PostgresException: '42P17: generation expression is not immutable'
然后我意识到这可能不是我想做的,因为它基本上与新列相同并且占用空间 - 从基本上做逻辑操作。
有没有什么办法可以生成这个 - 并在不占用空间的情况下修改它,如果这不可能,为什么我不能在添加列后删除它?
【问题讨论】:
标签: sql postgresql calculated-columns create-table