Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как выполнить скрипт через psql из операционной системы Windows / 21 сообщений из 21, страница 1 из 1
18.02.2010, 13:08
    #36477410
Ingvar486
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Всем добрый день.

Проблема: необходимо выполнить скрипт из операционной системы Windows с использованием cmd.exe и psql.exe.

В Oracle это решаемо через sqlplus @file.
Вариант в PostgreSQL - зайти в psql (psql.exe -dBase -UUser -WPass) и там выполнить \i path/file не подходит из-за интерактивности. Можно ли как-то автоматизировать этот процесс?
Спасибо.
...
Рейтинг: 0 / 0
18.02.2010, 13:33
    #36477501
Как выполнить скрипт через psql из операционной системы Windows
Почитай про параметры коммандной строки psql.exe
...
Рейтинг: 0 / 0
18.02.2010, 14:00
    #36477599
Ingvar486
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Спасибо, читал.
Мне кажется, что строка этого совета больше времени потребовала для написания, нежели было бы написать нужную команду.
Такие советы и я могу давать. ;)
...
Рейтинг: 0 / 0
18.02.2010, 14:14
    #36477647
N&V
N&V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Выполнение одной комманды
psql -h 127.0.0.1 -p 5432 -U postgres -d test -c "DELETE FROM my_table;"

Выполнение скрипта
psql -h 127.0.0.1 -p 5432 -U postgres -d test -f "run_my_script.sql"

Все это есть в psql --help
...
Рейтинг: 0 / 0
18.02.2010, 14:33
    #36477713
Ingvar486
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Спасибо.

Строку типа psql -d database -h 127.0.0.1 -U login -f filename
я выпонял, но у меня не получается без интерактивного ввода пароля.
Иными словами мне приходится ввводить пароль, а хотелось бы с помощью опции -W с паролем в командном файле, но вариант -W password не прокатывает почему-то. Может быть я что-то не так делаю.
...
Рейтинг: 0 / 0
18.02.2010, 14:36
    #36477723
Как выполнить скрипт через psql из операционной системы Windows
Ingvar486Спасибо, читал.
Мне кажется, что строка этого совета больше времени потребовала для написания, нежели было бы написать нужную команду.
Такие советы и я могу давать. ;)
Нет не можешь. Ибо непригоден ты к чтению хелпа физически (ынвалыд юзер). И как таких кретинов на работу берут...
...
Рейтинг: 0 / 0
18.02.2010, 14:42
    #36477749
Ingvar486
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Другого и не ожидал :)
Есть хорошая детская сказка про Крошку-енота...
Вам бы ее почитать ;)
...
Рейтинг: 0 / 0
18.02.2010, 15:08
    #36477857
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Ingvar486... но у меня не получается без интерактивного ввода пароля.
Иными словами мне приходится ввводить пароль, а хотелось бы с помощью опции -W с паролем в командном файле, но вариант -W password не прокатывает почему-то. Может быть я что-то не так делаю. PGPASSWORD
...
Рейтинг: 0 / 0
18.02.2010, 15:23
    #36477899
Ingvar486
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
LeXa NalBat,

спасибо за вариант.
А существует иной вариант (не через .pgpass file) с указанием пароля в командном файле или скрипте?
...
Рейтинг: 0 / 0
18.02.2010, 16:31
    #36478106
Garik888
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Ingvar486LeXa NalBat,

спасибо за вариант.
А существует иной вариант (не через .pgpass file) с указанием пароля в командном файле или скрипте?

Наверное лучший вариант самому написать консольное приложение со всеми нужными функциями!
...
Рейтинг: 0 / 0
18.02.2010, 16:44
    #36478146
Ingvar486
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
:)
Это как крайний вариант.
Я работаю в Oracle и, похоже, обленился :), так как привык, что все, что ни придумешь уже придумано - используй copy-paste, ан нет...
...
Рейтинг: 0 / 0
18.02.2010, 16:48
    #36478157
Ёш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Ingvar486:)
Это как крайний вариант.
Я работаю в Oracle и, похоже, обленился :), так как привык, что все, что ни придумешь уже придумано - используй copy-paste, ан нет...а как в Oracle пароль в sqlplus передаётся ?
...
Рейтинг: 0 / 0
18.02.2010, 17:10
    #36478224
Ingvar486
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Вот вариант для пользователя SYS (роль SYSDBA):

============== file example.cmd ================
sqlplus /nolog @test_script.sql
============== file example.cmd ================


============== file test_script.sql ================
Connect sys/mypass@mydbname as sysdba
select 2*2 from dual;
quit
============== file test_script.sql ================
...
Рейтинг: 0 / 0
18.02.2010, 17:27
    #36478286
Ёш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Ingvar486============== file test_script.sql ================
Connect sys/mypass@mydbname as sysdba
. . .а, прямо в файле пишется, понятно, спасибо :)

============== file example.cmd ================
PGPASSWORD=мойпароль
psql -f test_script.sql
============== file example.cmd ================

============== file test_script.sql ================
\c mydbname sys
select 2*2;
\q
============== file test_script.sql ================
...
Рейтинг: 0 / 0
18.02.2010, 17:42
    #36478331
Ingvar486
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Да, очень удобно.

Вот вариант попроще для обычного пользователя (пароль в командном файле):

============== file example.cmd ================
sqlplus mylogin/mypass@mydbname @test_script.sql
============== file example.cmd ================


============== file test_script.sql ================
select 2*2 from dual;
quit
============== file test_script.sql ================
...
Рейтинг: 0 / 0
18.02.2010, 17:51
    #36478369
Ingvar486
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Ёш============== file example.cmd ================
PGPASSWORD=мойпароль
psql -f test_script.sql
============== file example.cmd ================

============== file test_script.sql ================
\c mydbname sys
select 2*2;
\q
============== file test_script.sql ================
У меня не работает переменная PGPASSWORD
Пароль по-прежнему требуется. :(
Что-то не так?
...
Рейтинг: 0 / 0
18.02.2010, 17:57
    #36478390
Ingvar486
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Ёш============== file example.cmd ================
PGPASSWORD=мойпароль
psql -f test_script.sql
============== file example.cmd ================

Спасибо, это другое дело :)
Только, слегка подправил: set PGPASSWORD=мойпароль
...
Рейтинг: 0 / 0
18.02.2010, 18:03
    #36478402
N&V
N&V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Ingvar486,

если под виндой
SET PGPASSWORD=mypassword
-W - не использовать
...
Рейтинг: 0 / 0
18.02.2010, 18:04
    #36478408
N&V
N&V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Ingvar486,

Опоздал.
Молодец, сам догадался.
...
Рейтинг: 0 / 0
18.02.2010, 18:27
    #36478467
Ingvar486
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Всем, не черствым душой, большое спасибо.
Вопрос закрыт.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
01.06.2021, 09:46
    #40074603
Olesya_86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить скрипт через psql из операционной системы Windows
Ещё можно в pg_hba.conf вместо md5 поставить trust в колонке «method» для подключений ipv4,ipv6 - это для того, чтобы не запрашивался пароль, но это так же небезопасно как и при явном указании пароля в файле с командами.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как выполнить скрипт через psql из операционной системы Windows / 21 сообщений из 21, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]