Как я могу создать таблицу в клиенте PSQL? - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть существующая база данных, к которой я могу получить доступ с помощью postico, и я хочу перенести структуру в новую базу данных, к которой я могу получить доступ только с помощью psql.

Postico дает SQL для повторного создания таблицы

-- DDL generated by Postico 1.5.8
-- Not all database features are supported. Do not use for backup.

-- Table Definition ----------------------------------------------

CREATE TABLE "Datas" (
    id integer DEFAULT nextval('"Data_id_seq"'::regclass) PRIMARY KEY,
    DataLabel character varying(255) NOT NULL,
    DataValue character varying(255),
    "createdAt" timestamp with time zone NOT NULL,
    "updatedAt" timestamp with time zone NOT NULL
);

-- Indices -------------------------------------------------------

CREATE UNIQUE INDEX "Data_pkey" ON "Datas"(id int4_ops);
CREATE INDEX datas_id ON "Datas"(id int4_ops);

Но если я пытаюсь запустить таблицу создания в клиенте psql, я получаю сообщение об ошибке

relation "Datas_id_seq" does not exist

Как я могу перенести структуру таблицы?Нужно ли вручную создавать отношения?если так как?

1 Ответ

1 голос
/ 23 сентября 2019

Сначала необходимо создать последовательность "Data_id_seq":

create sequence "Data_id_seq";

, но столбец, вероятно, был определен как serial первоначально:

CREATE TABLE "Datas" (
    id serial PRIMARY KEY,
    DataLabel character varying(255) NOT NULL,
    DataValue character varying(255),
    "createdAt" timestamp with time zone NOT NULL,
    "updatedAt" timestamp with time zone NOT NULL
);
...