Импортированные таблицы Postgres не отображаются, и при создании вручную возникает ошибка «уже существует»

#postgresql

#postgresql

Вопрос:

Я запустил команду импортировать таблицы из «xxx.sql» в базу данных Postgres test , она показывает, что все таблицы созданы, но когда я запускаю dt в базе данных test , она показывает «Не найдено никаких связей», но когда я пытаюсь создать таблицу вручную, она показывает «отношение xxx уже существует»

 test=# create table test.order_product
(
    id                serial primary key,
    quantity          integer,
    order_id          integer references test.order (id),
);
ERROR:  relation "order_product" already exists
test=# select * from order_product;
ERROR:  relation "order_product" does not exist
LINE 1: select * from order_product;
  

Кто-нибудь знает, что не так?

Ниже приведена информация о версии:

  PostgreSQL 12.4 (Debian 12.4-1.pgdg100 1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
  

Комментарии:

1. Таблица существует в схеме, test и вы пытаетесь получить ее из public схемы. Когда вы это сделаете select * from order_product; , для получения результата будет отправлена общедоступная схема. Чтобы получить это из тестовой схемы, вам нужно select * from test.order_product; .

2. @MAK Я пробовал, все еще не работает.

3. Когда вы это сделаете dt , отобразится имя схемы с подробными сведениями о таблице, просто проверьте схему, к которой принадлежит таблица.

4. @MAK спасибо, теперь я понял. Я создал базу данных «test», и имя схемы также «test». Я новичок в postgres и только что нашел разницу между базой данных и схемой, еще раз спасибо!