Помогите, я новичек в этом деле. Поставили задачу - на проверку целостности базы перед бэкапом. в mssql это моно сделать, а вот в PostgreSQL, чтото не выходит. что подскажете? Заранее спасибо!
Насколько я знаю, таких средств нет.
Если вы сделали бакап и он выполнился - всё в порядке. Это не как в MySQL, когда можно сделать дамп БД, который затем не загрузится по причине например дупликатов в значениях первичного ключа.
PostgreSQL сам следит за целостностью данных с помощью кучи внутренних инструментов и в 99.999% случаев физическое повреждение данных может произойти только вследствие проблем с жёсткими дисками или памятью. Но в этом случае единственный способ восстановления - из ранее сделанного бакапа.
да запустить то можно, но как это правильно осуществить, тоесть правильно написать этот скрипт чтобы после проверки вакуумом, если база битая, то бэкап не делать.
VACUUM не проверяет битая база или нет - непонятно с чего вы это решили.
Всё что делает VACUUM - это физически удаляет записи в таблицах, помеченные как удалённые или устаревшие. За счёт этого повышается быстродействие на этих таблицах, а также уменьшается место, занимаемое этими таблицами.
на сколько я понимаю необходимо знать правильность написания инструкции:
примерно так vacuum tablename;. Но это не дает ответ на первоначальный вопрос о проверке целосности данных. Кроме того есть настройки позволяющие использовать так называемый автоматический vacuum, что впринципе также не дает ответа на первональный вопрос.
Насколько я знаю, таких
Насколько я знаю, таких средств нет.
Если вы сделали бакап и он выполнился - всё в порядке. Это не как в MySQL, когда можно сделать дамп БД, который затем не загрузится по причине например дупликатов в значениях первичного ключа.
PostgreSQL сам следит за целостностью данных с помощью кучи внутренних инструментов и в 99.999% случаев физическое повреждение данных может произойти только вследствие проблем с жёсткими дисками или памятью. Но в этом случае единственный способ восстановления - из ранее сделанного бакапа.
я нашел в инете, что можно
я нашел в инете, что можно запускать вакуум, но как это реализовать в скрыпте?
просто никогда писал их(( ПОМОГИТЕ!!!
В скрипте не
В скрипте не запускается
http://postgresql.ru.net/manual/sql-vacuum.html
да запустить то можно, но как
да запустить то можно, но как это правильно осуществить, тоесть правильно написать этот скрипт чтобы после проверки вакуумом, если база битая, то бэкап не делать.
VACUUM не проверяет битая
VACUUM не проверяет битая база или нет - непонятно с чего вы это решили.
Всё что делает VACUUM - это физически удаляет записи в таблицах, помеченные как удалённые или устаревшие. За счёт этого повышается быстродействие на этих таблицах, а также уменьшается место, занимаемое этими таблицами.
а каким же тогда способом
а каким же тогда способом осуществить "данное мне свыше"? ((
на сколько я понимаю
на сколько я понимаю необходимо знать правильность написания инструкции:
примерно так
vacuum tablename;
. Но это не дает ответ на первоначальный вопрос о проверке целосности данных. Кроме того есть настройки позволяющие использовать так называемый автоматический vacuum, что впринципе также не дает ответа на первональный вопрос.ладно с вакуумом, проехали.
ладно с вакуумом, проехали. а как же тогда быть?((
Я вроде написал как. Делаете
Я вроде написал как. Делаете бакап. Если он сделался - база живая