powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / несколько комманд psql в .bat
6 сообщений из 6, страница 1 из 1
несколько комманд psql в .bat
    #37864179
neznayka33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как при ошибке не выполнять след. команду?
Код: sql
1.
2.
3.
4.
5.
6.
7.
c:
cd "C:\Program Files\PostgreSQL\9.1\bin"
psql -U admin  -d postgres -w --set ON_ERROR_STOP=on -1 -c "drop database if exists  tmp";
psql -U admin  -d postgres -w --set ON_ERROR_STOP=on -1 -c "create database tmp";
pg_dump -v  -h 192.168.1.1 -U admin work_db > d:/work_db.backup
psql -d tmp -U admin -w --set ON_ERROR_STOP=on -1 < d:/work_db.backup
psql --pset pager=off -U admin -d tmp -w --set ON_ERROR_STOP=on -1 -f "D:\sql\update.sql"
...
Рейтинг: 0 / 0
несколько комманд psql в .bat
    #37864206
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
например вместо нескольких
Код: powershell
1.
psql --set ON_ERROR_STOP=on -с ...


сделать одно
Код: powershell
1.
psql -v ON_ERROR_STOP=1 -f "my-sql-batch-file" - h blahblahblah -....
...
Рейтинг: 0 / 0
несколько комманд psql в .bat
    #37864210
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS хотя когда-то условности и циклы батчили, даже и интерактивность.
т.ч. и в бат можно процедурно "кодить", надо вспомнить как.
...
Рейтинг: 0 / 0
несколько комманд psql в .bat
    #37864212
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neznayka33, Вам наверное лучше спросить в разделе администрирования Windows: http://www.sql.ru/forum/actualtopics.aspx?bid=27
...
Рейтинг: 0 / 0
несколько комманд psql в .bat
    #37864292
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PPS Ёш прав,
но вот наводящий:

пишем бат
Код: powershell
1.
2.
3.
4.
5.
6.
7.
cd "C:\Program Files (x86)\PostgreSQL\8.4\bin"
echo errorlevel=%ERRORLEVEL%
psql -h 192.168.1.5 -U xxxxxx -c "SELECT version()" postgres
echo errorlevel=%ERRORLEVEL%
psql -h 192.168.1.5 -U xxxxxx -c "SELECT version" postgres
echo errorlevel=%ERRORLEVEL%
pause


смотрим echo
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
C:\Users\xxx\Documents\Ubuntu>cd "C:\Program Files (x86)\PostgreSQL\8.4\bin"

C:\Program Files (x86)\PostgreSQL\8.4\bin>echo errorlevel=0
errorlevel=0

C:\Program Files (x86)\PostgreSQL\8.4\bin>psql -h 192.168.1.5 -U xxxxxx -c "SE
LECT version()" postgres
                                                 version

--------------------------------------------------------------------------------
-------------------------
 PostgreSQL 8.4.0 on i386-unknown-freebsd6.4, compiled by GCC gcc (GCC) 3.4.6 [F
reeBSD] 20060305, 32-bit
(1 row)



C:\Program Files (x86)\PostgreSQL\8.4\bin>echo errorlevel=0
errorlevel=0

C:\Program Files (x86)\PostgreSQL\8.4\bin>psql -h 192.168.1.5 -U xxxxxx -c "SE
LECT version" postgres
ERROR:  column "version" does not exist
СТРОКА 1:SELECT version
                ^

C:\Program Files (x86)\PostgreSQL\8.4\bin>echo errorlevel=1
errorlevel=1

C:\Program Files (x86)\PostgreSQL\8.4\bin>pause
Для продолжения нажмите любую клавишу . . .

-т.е. errorlevel честно выставляется в 1.

далее поиском по тому подфоруму << IF errorlevel >>

Модератор: Тема перенесена из форума "PostgreSQL".

Модератор: Тема перенесена из форума "PostgreSQL".
...
Рейтинг: 0 / 0
несколько комманд psql в .bat
    #37864901
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neznayka33
Код: sql
1.
2.
3.
4.
5.
6.
psql -U admin  -d postgres -w --set ON_ERROR_STOP=on -1 -c "drop database if exists  tmp" || goto end;
psql -U admin  -d postgres -w --set ON_ERROR_STOP=on -1 -c "create database tmp"; || goto end;
pg_dump -v  -h 192.168.1.1 -U admin work_db > d:/work_db.backup || goto end;
psql -d tmp -U admin -w --set ON_ERROR_STOP=on -1 < d:/work_db.backup || goto end;
psql --pset pager=off -U admin -d tmp -w --set ON_ERROR_STOP=on -1 -f "D:\sql\update.sql" || goto end;
:end

[/quot]
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / несколько комманд psql в .bat
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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