在为表SCRIPTS | CREATE scripts
你得到像
这样的东西CREATE TABLE public.merchant_tracker_avl
(
avl_id bigint NOT NULL DEFAULT nextval('merchant_tracker_avl_avl_id_seq'::regclass),
x_lat numeric(10,6) NOT NULL,
y_long numeric(10,6) NOT NULL,
event_time timestamp without time zone NOT NULL,
CONSTRAINT merchant_tracker_avl_pk PRIMARY KEY (avl_id)
);
问题在于我尝试创建表的序列不存在的其他服务器。
所以我必须手动将脚本更改为...
CREATE TABLE public.merchant_tracker_avl
(
avl_id serial NOT NULL,
....
该脚本生成表格和序列。
那么我如何让pgAdmin生成正确的脚本,所以不必进行那种手动更改?
答案 0 :(得分:2)
如果存在与实际serial
列不同的内容,则显示的脚本就是您所获得的脚本。 serial
不是实际数据类型just a convenient syntax shorthand。
pgAdmin 使用serial
对SQL DDL代码进行反向工程。
通常情况下,列不是OWNED
- 您可以修复:
ALTER SEQUENCE merchant_tracker_avl_avl_id_seq
OWNED BY public.merchant_tracker_avl.avl_id;
相关: