Я изучаю DDL для создания и определения базы данных SQL с помощью Postgresql 10. У меня есть что-то вроде следующего кода SQL в файле .sql, и я хочу ввести его в psql или PgAdmin 4, просто чтобы проверить синтаксис и увидеть структура базы данных:
CREATE DATABASE database;
CREATE TYPE t_name AS
( first VARCHAR(30),
last VARCHAR(60)
);
CREATE TABLE telephone_m
( tnumber VARCHAR(15) NOT NULL UNIQUE
);
CREATE TABLE people
( curp CHAR(18) NOT NULL PRIMARY KEY,
pname t_name NOT NULL,
birth_date DATE NOT NULL,
telephone_m VARCHAR(15) REFERENCES telephone_m
);
CREATE TABLE clients
( curp CHAR(18) NOT NULL PRIMARY KEY,
cid SERIAL NOT NULL REFERENCES cards,
clocation VARCHAR(29)
) INHERITS (people);
CREATE TABLE cards
( cid BIGSERIAL NOT NULL PRIMARY KEY,
curp CHAR(18) NOT NULL REFERENCES clients,
trips SMALLINT,
distance NUMERIC,
points NUMERIC
);
CREATE TABLE drivers
( curp CHAR(18) NOT NULL PRIMARY KEY,
rfc CHAR(22) NOT NULL UNIQUE,
adress t_adress NOT NULL
) INHERITS (people);
Я пробовал в PgAdmin 4 щелкнуть правой кнопкой мыши новую базу данных -> CREATE Script, он открывает редактор запросов, я копирую свой код и выполняю его, но он возвращает:
ERROR: CREATE DATABASE cannot be executed from a function or multi-command string
SQL state: 25001
Я также пытался использовать Query Tool непосредственно из меню инструментов PgAdmin с теми же результатами.