Запустите файл PostgreSQL .sql, используя аргументы командной строки - PullRequest
442 голосов
/ 16 марта 2012

У меня есть несколько файлов .sql с тысячами операторов INSERT, и мне нужно запустить эти вставки в моей базе данных PostgreSQL, чтобы добавить их в таблицу.Файлы настолько велики, что их невозможно открыть, скопировать операторы INSERT в окно редактора и запустить их там.В Интернете я обнаружил, что вы можете использовать следующее, перейдя в папку bin вашей установки PostgreSQL:

psql -d myDataBase -a -f myInsertFile

В моем случае:

psql -d HIGHWAYS -a -f CLUSTER_1000M.sql

Затем меня попросятпароль для моего пользователя, но я не могу ничего ввести, и когда я нажимаю Enter, я получаю эту ошибку:

psql: FATAL: сбой аутентификации по паролю для пользователя "myUsername"

Почему я не могу ввести пароль?Есть ли способ обойти это, поскольку крайне важно, чтобы я мог запускать эти сценарии?

Я решил эту проблему, добавив новую запись в мой файл pg_hba.conf со следующей структурой:

# IPv6 local connections:
host    myDbName    myUserName ::1/128    trust

Файл pg_hba.conf обычно можно найти в папке «data» вашей установки PostgreSQL.

Ответы [ 11 ]

4 голосов
/ 08 марта 2013

Вы можете открыть командную строку и запустить от имени администратора. Затем введите

../bin>psql -f c:/...-h localhost -p 5432 -d databasename -U "postgres"

Password for user postgres: появится.

Введите свой пароль и введите. Я не мог видеть пароль, который набирал, но на этот раз, когда я нажал клавишу ввода, он работал На самом деле я загружал данные в базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...