天天看點

PostgreSQL 表字段順序的 "修改"

在某些場景中,使用者可能希望在原有字段的某個位置增加一個字段,例如

alter table test add column c1 int after id;

在id字段後面添加一個字段。

在postgresql中,可以通過sql rewrite來做到同樣的功能。

但是必須先了解postgresql的實體存儲,在pg中,資料是tuple組織的,每個tuple都是固定的storage layout,即字段存儲的實體順序是固定的,解釋時是按照pg_attribute中存儲的順序。

那麼怎麼能做到使用者看到的順序是可以變的呢?

使用簡單視圖,即rewrite rule.