Загрузить дамп SQL в PostgreSQL без зависимости пароля - PullRequest
1 голос
/ 12 мая 2010

Я хочу, чтобы мой пакет модульных тестов загружал файл SQL в мою базу данных. Я использую команду как

"C:\Program Files\PostgreSQL\8.3\bin"\psql --host 127.0.0.1 --dbname unitTests --file C:\ZendStd\www\voo4\trunk\resources\sql\base_test_projectx.pg.sql --username postgres 2>&1

Он отлично работает в командной строке, но мне нужно иметь pgpass.conf Поскольку мне нужно запустить пакет модульных тестов на каждом ПК разработки, а на сервере разработки я хочу упростить процесс развертывания. Есть ли в командной строке пароль?

Спасибо, Седрик

Ответы [ 3 ]

2 голосов
/ 12 мая 2010

Попробуйте добавить что-то вроде pg_hba.conf

local   all         postgres                             trust        

Конечно, это позволяет любому пользователю на компьютере подключаться как postgres, но может делать то, что вы хотите.

EDIT:

Кажется, вы подключаетесь к локальному хосту через TCP. Вам может понадобиться что-то вроде этого:

host   all           postgres           127.0.0.1        trust

Опять же, я в основном догадываюсь. Я никогда не настраивал postgres так разрешительно.

1 голос
/ 13 марта 2013

Вы должны запустить файл сценария bash "run_sql_commands.sh" со следующим содержимым:

export PGHOST=localhost             
export PGPORT=5432
export PGDATABASE=postgres
export PGPASSWORD=postgres
export PGUSER=postgres

psql -f file_with_sql_commands.sql
1 голос
/ 12 мая 2010

Вы можете использовать переменную окружения PGPASSWORD или файл .pgpass.

См. http://www.postgresql.org/docs/8.4/static/libpq-envars.html и http://www.postgresql.org/docs/8.4/static/libpq-pgpass.html

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