关于openGauss数据表自增列id,在pgsql中可以,在oopenGauss下出错

要在dbtest表中增加一个自增的字段id,试过以下方法,在openGauss下出错,第一个语名在pgsql下可以正常生成自增字段。
ALTER TABLE dbtest ADD COLUMN id SERIAL PRIMARY KEY;
ALTER TABLE dbtest ADD COLUMN id SERIAL;
ALTER TABLE dbtest ADD COLUMN id INT GENERATED BY DEFAULT AS IDENTITY;
ALTER TABLE dbtest ADD COLUMN id INT GENERATED ALWAYS AS IDENTITY;

ALTER TABLE dbtest ADD code varchar ( 30 ); 这个是可正常增加字段的。
ALTER TABLE dbtest ADD id int4; 这个也是可正常增加字段的,但不是自增。也不是主键。
现表dbtest中还没有记录,如果表中已有记录,该用什么语句?
分两种情况:1,表中有记录,有id字段,且ID是唯一值;2表中无id字段,但有其它记录。


在Navicat 中
1在Navicat的查询编辑器中执行以下语句来创建序列:
CREATE SEQUENCE id_seq START 1;
2再设ID默认值:nextval(‘id_seq’::regclass)
这样,可以了。如果数据有记录,要注意设置序列的开当前值和开始值。
但有没有什么办法,不这样做?从其它数据库转过来,有很多表,每个表都要弄个序列?

如果针对B库,可以用auto_increment属性表示自增id