У меня возникла проблема, когда я использовал pgAdmin4 GUI для создания SQL таблицы и хочу использовать сгенерированный CREATE TABLE
скрипт для создания этой же таблицы в другой базе данных.
Когда я запускаю сценарий CREATE TABLE
, сгенерированный pgAdmin4 в моей новой базе данных, я получаю следующую ошибку:
ОШИБКА: отношение "schema.TableName_Id_seq" не существует
Итак, похоже, проблема связана с моим автоматически увеличивающимся столбцом идентификатора, который я создал как тип SERIAL
.
Скрипт CREATE TABLE
, предоставленный pgAdmin4:
-- Table: myschema.TableName
-- DROP TABLE myschema."TableName";
CREATE TABLE myschema."TableName"
(
"Id" integer NOT NULL DEFAULT nextval('myschema."TableName_Id_seq"'::regclass),
/* Other columns here */
CONSTRAINT "TableName_pkey" PRIMARY KEY ("Id")
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
ALTER TABLE myschema."TableName"
OWNER to JoshuaSchlichting;
Почему нельзя использовать сценарий CREATE TABLE
в другой базе данных? Отношение "schema.TableName_Id_seq"
не существовало в исходной базе данных до создания этой таблицы. Что происходит такого другого?