我有一个postgres枚举,想更改其默认排序顺序
我了解了pg_enum类型enumsortorder,但没有找到有关如何更改顺序的文档。
用于上下文的枚举:
CREATE TYPE day AS ENUM (
'everyday',
'sunday',
'monday',
'tuesday',
'wednesday',
'thursday',
'friday',
'saturday'
);
目前,当我按日检索订单时,我会从“每天”到“星期六”。我想从周一至周日获取价格,并将“每天”作为最后一个值。
这可能吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
您只能用新的替换该类型,这可能会有些麻烦。例如:
BEGIN;
-- drop views, functions which are using day
ALTER TYPE day RENAME TO day_old;
CREATE TYPE day AS ENUM (
'everyday',
'monday',
'tuesday',
'wednesday',
'thursday',
'friday',
'saturday',
'sunday'
);
ALTER TABLE x ALTER my_day TYPE day USING my_day::TEXT::day;
ALTER TABLE y ALTER your_day TYPE day USING your_day::TEXT::day;
-- etc. etc.
-- Recreate views, functions which are using day
DROP TYPE day_old;
END;