PosgreSQL 8.4.3 Запуск vacuum, analyze, reindex из командной строки #530841


#0 by quux
Нужно в командном файле написать выполнение например vacuum fuul analyze. Создаю командный файл со следующим содержимым: e" --dbname postgres --host 127.0.0.1 --port 5432 --username postgres --command При выполнении пишет: psql: warning: extra command-line argument "full" ignored VACUUM И выполняет vacuum без параметра full. В чем ошибка?
#1 by quux
Памахите люди добрыя!! Не бросайте в беде товарищей сваих...
#2 by zladenuw
"c:Program FilesPostgreSQL8.4inpsql.exe" --dbname test --host 127.0.0.1 --port 5432 --username postgres --password 1 --command vacuum full analyze
#3 by zladenuw
тут написано можешь почитать
#4 by quux
Дело в том что строка команды в моем примере полностью соответствует приведенному вами. Если дописать в конце analyze, то при выполнении появится еще одна строчка: psql: warning: extra command-line argument "analyze" ignored и команда выполнится без аргументов "full analyze"
#5 by quux
Перед написанием своего командного файла изучил эту ветку форума более чем полностью. Кстати совет насчет пароля мне помог, но дальше продвинуться не удалось.
#6 by asady
так прокатит?
#7 by quux
Прокатило!! asady Спасибо!
#8 by quux
А можно лог вести и скидывать его на диск?
#9 by asady
>>C:my.log так прокатит?
#10 by quux
Нормааально :)))))
#11 by quux
Зря смеялся (( asady второй раз спасибо. Прочитал "Перенаправление вывода консоли CMD в файл" Сделал так: SET PGPASSWORD=1111 "C:Program Files (x86)PostgreSQL8.4.3-3.1Cinvacuumdb.exe" --dbname postgres --host 127.0.0.1 --port 5432 --username postgres -v --echo --full --analyze >>c:my.log "C:Program Files (x86)PostgreSQL8.4.3-3.1Cin eindexdb.exe" --dbname postgres --host 127.0.0.1 --port 5432 --username postgres >>c:my.log Файл лога формируется но то что туда выводится абсолютно бесполезно. Например выводится команда переданная серверу командой vacuumdb.exe а протокол выполнения не выводится и нет информации о выполнении reindexdb.exe. Надо что-то другое копать...
#12 by quux
Добавил в reindexdb.exe параметр --echo. Появилась запись о выполнении реиндекса ))) Логично, да?
#13 by asady
вполне
#14 by quux
Сделал так: @echo off for /f "delims=." %%i in ('wmic.exe OS get LocalDateTime ^| find "."') do set sDateTime=%%i "C:Program Files (x86)PostgreSQL8.4.3-3.1Cinvacuumdb.exe" --dbname postgres --host 127.0.0.1 --port 5432 --username postgres --echo --full --analyze >>%f_name_log%_vacuum.log "C:Program Files (x86)PostgreSQL8.4.3-3.1Cin eindexdb.exe" --dbname postgres --host 127.0.0.1 --port 5432 --username postgres --echo >>%f_name_log%_reindex.log Мне важно отслеживать начало и конец обслуживания базы чтобы планировать другие автоматические операции с базой. Добавлю сюда еще и бэкап...
#15 by quux
ааа засада. время надо вычислять перед каждым добавлением его в лог файл.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С