Мы переключаем хосты, а старый предоставил дамп SQL базы данных PostgreSQL нашего сайта.
Теперь я пытаюсь настроить это на локальном сервере WAMP, чтобы проверить это.
Единственная проблема заключается в том, что я не представляю, как импортировать эту базу данных в PostgreSQL 9, который я настроил.
Я попытался pgAdmin III, но я не могу найти функцию импорта. Поэтому я просто открыл редактор SQL, вставил туда содержимое дампа и выполнил его, он создает таблицы, но продолжает выдавать ошибки, когда пытается вставить данные в него.
ERROR: syntax error at or near "t"
LINE 474: t 2011-05-24 16:45:01.768633 2011-05-24 16:45:01.768633 view...
The lines:
COPY tb_abilities (active, creation, modtime, id, lang, title, description) FROM stdin;
t 2011-05-24 16:45:01.768633 2011-05-24 16:45:01.768633 view nl ...
Я также пытался сделать это с помощью командной строки, но не могу найти нужную мне команду.
Если я сделаю
psql mydatabase < C:/database/db-backup.sql;
Я получаю ошибку
ERROR: syntax error at or near "psql"
LINE 1: psql mydatabase < C:/database/db-backu...
^
Какой лучший способ импортировать базу данных?
database
postgresql
Dazz
источник
источник
ERROR: syntax error at or near "t"
. Оказалось, что я импортировал только частичную схему, и, таким образом,CREATE TABLE
оператор в сценарии ранее потерпел неудачу. Просмотрите весь вывод импорта, чтобы найти его.Ответы:
Это команда, которую вы ищете.
Осторожно:
databasename
необходимо создать перед импортом. Взгляните на Документы PostgreSQL Глава 23. Резервное копирование и восстановление .источник
-f
переключатель (или--file
) тожеВот команда, которую вы ищете.
источник
pg_restore -h hostname -d dbname -U username filename.sql
Я считаю, что вы хотите запустить в PSQL:
источник
Это сработало для меня:
источник
Я не уверен, что это работает для ситуации OP, но я обнаружил, что выполнение следующей команды в интерактивной консоли было наиболее гибким решением для меня:
Просто убедитесь, что вы уже подключены к правильной базе данных. Эта команда выполняет все команды SQL в указанном файле.
источник
psql
командной строки. Спасибо!Работает довольно хорошо, в командной строке все аргументы обязательны, -W для пароля
источник
Просто для забавы, если ваш дамп сжат, вы можете сделать что-то вроде
gunzip -c filename.gz | psql dbname
Как упоминал Джейкоб, документы PostgreSQL описывают все это довольно хорошо.
источник
Я использую:
Надеюсь, это кому-нибудь поможет.
источник
Вы можете сделать это в pgadmin3. Удалите схемы, которые содержатся в вашем дампе. Затем щелкните правой кнопкой мыши базу данных и выберите «Восстановить». Затем вы можете найти файл дампа.
источник
Я заметил, что многие примеры слишком сложны для localhost, где во многих случаях существует просто пользователь postgres без пароля:
источник
Я пробовал много разных решений для восстановления моей резервной копии postgres. Я столкнулся с проблемами, в которых отказано в разрешении на MacOS, но решения, похоже, не работали.
Вот как я заставил это работать:
Postgres поставляется с Pgadmin4. Если вы используете macOS, вы можете нажать
CMD
+SPACE
и набрать,pgadmin4
чтобы запустить его. Это откроет вкладку браузера в Chrome.Шаги для получения pgadmin4 + резервного копирования / восстановления
1. Создайте резервную копию
Сделайте это, щелкнув правой кнопкой мыши базу данных -> «резервное копирование»
2. Дайте файлу имя.
Как
test12345
. Нажмите кнопку резервного копирования. Это создает дамп двоичного файла, он не в.sql
формате3. Посмотрите, где он скачал
Там должно быть всплывающее окно в нижней части экрана. Нажмите на страницу «подробнее», чтобы увидеть, куда была загружена ваша резервная копия
4. Найдите местоположение загруженного файла
В этом случае это
/users/vincenttang
5. Восстановите резервную копию из pgadmin
Если вы правильно выполнили шаги с 1 по 4, у вас будет восстановленный двоичный файл. Может случиться, что ваш коллега захочет использовать ваш файл восстановления на своей локальной машине. Сказал ли человек пойти в пгадмин и восстановить
Сделайте это, щелкнув правой кнопкой мыши базу данных -> «восстановить»
6. Выберите поиск файлов
Убедитесь, что вы выбрали местоположение файла вручную, НЕ перетаскивайте файл в поля загрузки в pgadmin. Потому что вы столкнетесь с ошибками разрешений. Вместо этого найдите файл, который вы только что создали:
7. Найти указанный файл
Возможно, вам придется изменить фильтр внизу на «Все файлы». Затем найдите файл, начиная с шага 4. Теперь нажмите правую нижнюю кнопку «Выбрать», чтобы подтвердить
8. Восстановить указанный файл
Вы снова увидите эту страницу с выбранным местоположением файла. Идите вперед и восстановите его
9. Успех
Если все хорошо, в правом нижнем углу должен появиться индикатор, показывающий успешное восстановление. Вы можете перейти к своим таблицам, чтобы увидеть, были ли данные восстановлены надлежащим образом в каждой таблице.
10. Если это не удалось:
В случае сбоя шага 9 попробуйте удалить старую общедоступную схему в вашей базе данных. Перейти к «Инструменту запроса»
Выполните этот блок кода:
Теперь повторите шаги с 5 по 9, это должно сработать
Резюме
Вот как я должен был сделать резервную копию / восстановить свою резервную копию на Postgres, когда у меня были проблемы с разрешением ошибок и я не мог войти в систему как суперпользователь. Или установите учетные данные для чтения / записи, используя
chmod
для папок. Этот рабочий процесс работает для дампа двоичного файла по умолчанию «Custom» из pgadmin. Я предполагаю.sql
, что так же, но я еще не проверял, чтоисточник
убедитесь, что база данных, в которую вы хотите импортировать, создана, затем вы можете импортировать дамп с помощью
Если вы хотите перезаписать всю базу данных, сначала удалите базу данных
а затем воссоздать его с
источник