#sql #postgresql #import #psql
#sql #postgresql #импорт #psql
Вопрос:
Я получил файл дампа SQL и пытаюсь импортировать его в свою базу данных с помощью следующей команды:
psql -U postgres timetable < /tmp/restores/2 Restore Rooms.sql
Он содержит несколько команд SET, CREATE TABLE schedule.rooms и несколько других команд.
Я вошел в систему через psql -U postgres
before, создал расписание схемы и выполнил приведенную выше команду импорта, но она вернула некоторые ошибки. Итак, я снова вошел в систему и сбросил расписание схемы, чтобы начать все сначала. После этого импорт вернул следующее:
postgres@ubuntu:~$ psql -U postgres timetable < /tmp/restores/2 Restore Rooms.sql
SET
SET
SET
SET
SET
set_config
------------
(1 row)
SET
SET
SET
SET
SET
SET
ERROR: relation "rooms" already exists
ALTER TABLE
ERROR: relation "rooms_id_seq" already exists
ALTER TABLE
ALTER SEQUENCE
ALTER TABLE
ERROR: duplicate key value violates unique constraint "rooms_pkey"
DETAIL: Key (id)=(50) already exists.
CONTEXT: COPY rooms, line 1
setval
--------
57
(1 row)
ERROR: multiple primary keys for table "rooms" are not allowed
postgres@ubuntu:~$ psql -U postgres
psql (12.4 (Ubuntu 12.4-0ubuntu0.20.04.1))
Type "help" for help.
Затем я попытался получить доступ к таблице schedule.rooms, но ее там не было:
postgres=# select * from
information_schema. pg_catalog. pg_temp_1. pg_toast. pg_toast_temp_1. public.
Куда он импортировал таблицы и как мне получить к нему доступ, если не через psql -U postgres
?
Комментарии:
1. Ну, вы
psql -U postgres timetable
подключились к базеtimetable
данных и восстановили там дамп, в то время как ваш интерактивный сеанс, очевидно, подключен к базеpostgres
данных. Неудивительно, что данных там нет.2. Спасибо.. Я, очевидно, не понял, к какой базе данных он подключается, если я не указываю конкретное имя.