在某些场景中,用户可能希望在原有字段的某个位置增加一个字段,例如
alter table test add column c1 int after id;
在id字段后面添加一个字段。
在postgresql中,可以通过sql rewrite来做到同样的功能。
但是必须先了解postgresql的物理存储,在pg中,数据是tuple组织的,每个tuple都是固定的storage layout,即字段存储的物理顺序是固定的,解释时是按照pg_attribute中存储的顺序。
那么怎么能做到用户看到的顺序是可以变的呢?
使用简单视图,即rewrite rule.