Михаиллл
Жел. 21, 2018, 10:03 Т.Қ.

Как создать таблицу по скрипту старой в PostgreSQL

Здравствуйте.
Создал в БД таблицу.
Её код:

CREATE TABLE public."Test2"
(
  id INTEGER NOT NULL DEFAULT NEXTVAL('"Test2_id_seq"'::regclass),
  int1 INTEGER,
  "Text1" text,
  CONSTRAINT "Test2_pkey" PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE public."Test2"
  OWNER TO postgres;

Если в другой базе нажимаю на паблик-> выполнить скрипт и ввожу код таблицы, то выдает ошибку:
ОШИБКА: отношение "Test2_id_seq" не существует
* Error *

ОШИБКА: отношение "Test2_id_seq" не существует
SQL state: 42P01
Скажите пожалуйста, как исправить?

2

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

2
Evgenii Legotckoi
  • Жел. 22, 2018, 3:29 Т.Ж.

Добрый день,

Не совсем уверен, но вроде бы там нужно сначала SEQUENCE создать.

Что-то типо такого

CREATE SEQUENCE your_seq;
CREATE TABLE IF NOT EXISTS "category" (
  "id" integer PRIMARY KEY default nextval('your_seq'),
  "name" varchar(30) DEFAULT NULL
);

Могу и сильно ошибаться, поскольку в сыром виде практически не работаю с базами данных, в основном через ORM

    Михаиллл
    • Жел. 22, 2018, 1:56 Т.Қ.

    Там оказалось нужно сериал прописать:

    -- Table: public."Test2"
    
    -- DROP TABLE public."Test2";
    
    CREATE TABLE public."Test2"
    (
      id SERIAL NOT NULL ,
      int1 integer,
      "Text1" text,
      CONSTRAINT "Test2_pkey" PRIMARY KEY (id)
    )
    WITH (
      OIDS=FALSE
    );
    ALTER TABLE public."Test2"
      OWNER TO postgres;
    

      Пікірлер

      Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
      Кіріңіз немесе Тіркеліңіз