从 postgresql 字段中删除自动增量

Remove autoincrement from postgresql field

我在数据库中有一个现有的 table,来自其他几个人的 FK,SQL 下面:

CREATE TABLE forecastsource (
    source_id integer DEFAULT nextval(('public.forecastsource_source_id_seq'::text)::regclass) NOT NULL,
    source_name character varying NOT NULL
);

我想从 id 字段中删除自动增量,并将其移动为一个 int 字段(而不丢失 table 中的当前数据)。除了删除并重新创建 table?

,我该怎么做

只需删除默认值:

ALTER TABLE forecastsource ALTER COLUMN source_id DROP DEFAULT;

您可能还想删除序列。