Garykom
29.10.22
✎
18:38
Собственно сабж как лучше делать?
Есть куча баз понятно дело, место на сервере слегка ограничено
Garykom
29.10.22
✎
18:44
Сейчас юзается PostgreSQL, версия 11.5-12.1C
Хочется заодно с платформой 1С обновить до самых свежих
Garykom
29.10.22
✎
18:48
Время простоя баз понятно дело хотелось бы минимизировать
Правильно понимаю что сервер 1С не умеет с несколькими версиями PostgreSQL на одном адресе но на разных портах?
Garykom
29.10.22
✎
18:50
Garykom
29.10.22
✎
20:27
Вот почему докопаться до «localhost port=5433» оказалось так сложно?
Garykom
29.10.22
✎
20:29
ansh15
30.10.22
✎
02:48
ansh15
30.10.22
✎
03:04
Основное время будет занимать перенос баз в новый кластер новой редакции PostgreSQL.
Выбор невелик — pg_upgrade, pg_dump/pg_restorе и *.dt. Все три многопоточные.
В новых редакциях какие-то параметры конфигурации могут стать устаревшими и удалены, новые добавлены,
так что имеет смысл о них почитать.
Мимохожий Однако
30.10.22
✎
09:07
Я дико извиняюсь…Откуда удобнее скачать дистрибутив PostgreSQL для Server 2008? Пока ничего не установлено, но предстоит…
rphosts
30.10.22
✎
09:11
Мимохожий Однако
30.10.22
✎
09:11
Спасибо.
Версия 13.4
Версия 13.3
Версия 13.2
Версия 13.1
Версия 12.8
Версия 12.7
Версия 12.6
Версия 12.5
Версия 12.4
Версия 12.3
Версия 11.13
Версия 11.12
Версия 11.11
Версия 11.10
Версия 11.9
Версия 11.8
Версия 11.7
Версия 11.5
Версия 10.18
Версия 10.17
Версия 10.16
Версия 10.15
Версия 10.14
Версия 10.13
Версия 10.12
Версия 10.11
Версия 10.10
Версия 10.9
Версия 10.8
Версия 10.5
Версия 10.3
Версия 9.6.7
Версия 9.6.6
Версия 9.6.5
Список функциональностей.
Версия 13.4
Версия 13.4 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 13.4.
Версия 13.3
Версия 13.3 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 13.3.
Версия 13.2
Версия 13.2 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 13.2.
Версия 13.1
Версия 13.1 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 13.1.
Версия 12.8
Версия 12.8 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 12.8.
Версия 12.7
Версия 12.7 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 12.7.
Версия 12.6
Версия 12.6 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 12.6.
Версия 12.5
Версия 12.5 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 12.5.
Версия 12.4
Версия 12.4 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 12.4.
Версия 12.3
Версия 12.3 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 12.3.
Версия 11.13
Версия 11.13 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 11.13.
Версия 11.12
Версия 11.12 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 11.12.
Версия 11.11
Версия 11.11 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 11.11.
Версия 11.10
Версия 11.10 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 11.10.
Версия 11.9
Версия 11.9 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 11.9.
Версия 11.8
Версия 11.8 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 11.8.
Версия 11.7
Версия 11.7 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 11.7.
Версия 11.5
Версия 11.5 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 11.5.
Версия 10.18
Версия 10.18 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 10.18.
Версия 10.17
Версия 10.17 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 10.17.
- Изменения, влияющие на поведение системы
Изменения, влияющие на поведение системы
Функциональность | Как стало | Как было | Результат изменения |
---|---|---|---|
Работа с СУБД. | В случае завершения процесса rphost, в котором были сеансы, ожидающие исполнения запросов в СУБД, работающей под управлением ОС Linux, эти запросы прерываются до окончания их выполнения. Такое прерывание приводит к более эффективному использованию ресурсов сервера СУБД.
Если прерванные запросы исполнялись в транзакции, то при прерывании запроса она откатывается. Если прерванный запрос будет повторен с другого процесса rphost, то повторный запрос не приведет к ожиданиям и ошибкам транзакционных блокировок в СУБД. Для эффективной работы описанного механизма рекомендуется выполнить настройку следующих параметров в файле postgresql.conf: tcp_keepalives_count, tcp_keepalives_interval, cp_keepalives_idle. |
В случае завершения процесса rphost, в котором были сеансы, ожидающие исполнения запросов в СУБД, работающей под управлением ОС Linux, эти запросы не прерывались до окончания их фактического исполнения.
Это приводило к неэффективному использования ресурсов сервера СУБД. Если запрос от завершенного rphost исполнялся в транзакции, то транзакция сохранялась и повторное исполнение запроса с другого rphost могло приводить к различным проблемам на стороне СУБД (излишние ожидания, ошибка на блокировках). |
Повышена эффективность использования ресурсов сервером СУБД, работающим под управлением ОС Linux, в том случае, когда рабочий процесс кластера серверов, завершался во время того, как в СУБД выполнялись запросы, инициированные этим рабочим процессом. |
Оглавление
Версия 10.16
Версия 10.16 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 10.16.
- Оптимизация
Оптимизация
Функциональность | Как стало | Как было | Результат изменения |
---|---|---|---|
Работа с СУБД. | Во время выбора индекса при построении плана запроса, если для выбора подходят несколько индексов, не полностью подходящих под условие или нескольких неуникальных индексов, то будет выбран индекс с меньшей селективностью (при одинаковой оценке стоимости каждого доступного выбора). | Во время выбора индекса при построении плана запроса, если для выбора подходят несколько индексов, не полностью подходящих под условие или несколько неуникальных индексов, то выбирался индекс, который был раньше создан. | Может ускорится выполнение запроса, если для использования доступны несколько неуникальных индексов или несколько индексов, одинаково не полностью подходящих под условие в запросе. |
Оглавление
Версия 10.15
Версия 10.15 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 10.15.
Версия 10.14
Версия 10.14 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 10.14.
Версия 10.13
Версия 10.13 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 10.13.
Версия 10.12
Версия 10.12 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 10.12.
Версия 10.11
Версия 10.11 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 10.11.
- Оптимизация
Оптимизация
Функциональность | Как стало | Как было | Результат изменения |
---|---|---|---|
Работа с СУБД. | Повышена скорость выполнения запросов, в которых используется соединение таблиц. | Запросы, в которых использовалось соединение таблиц, требовали для исполнения больше времени. | Повышена скорость выполнения запросов, в которых используется соединение таблиц. |
Оглавление
Версия 10.10
Версия 10.10 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 10.10.
Версия 10.9
Версия 10.9 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 10.9.
Версия 10.8
Версия 10.8 включает исправления обнаруженных ошибок и изменения в функциональности.
Перенесены изменения из стандартной версии PostgreSQL 10.8.
- Оптимизация
- Изменения, влияющие на поведение системы
- Переход с предыдущих версий на версию 10.8
Оптимизация
Функциональность | Как стало | Как было | Результат изменения |
---|---|---|---|
Работа с СУБД. | На этапе планирования запроса реализована более точная оценка числа строк, возвращаемых при получении данных из таблиц или соединения таблиц. При оценке числа строк используются индексы (в том числе не полностью подходящие) и условия сравнения в запросе. | На этапе планирования запроса занижалось число строк, возвращаемых в результате получения данных или соединения таблиц, что приводило к неоптимальному формированию плана запроса. | Повышена производительность запросов за счет более оптимального вычисления планов запросов. |
Оглавление
Изменения, влияющие на поведение системы
Функциональность | Как стало | Как было | Результат изменения |
---|---|---|---|
Работа с СУБД. | При сравнении строк (во время выполнения запроса) всегда используется библиотека ICU. | При сравнении строк (во время выполнения запроса) не всегда использовалась библиотека ICU. | Результат выполнения запроса перестал зависеть от выбранного плана запроса и стал соответствовать результату этого же запроса в файловом варианте информационной базы. |
Оглавление
Переход с предыдущих версий на версию 10.8
- Рекомендуется выполнить переиндексацию таблиц базы данных при переходе на версию PostgreSQL 10.8. Переиндексацию можно выполнить двумя способами:
- С помощью механизма тестирования и исправления конфигуратора, указав режим Реиндексация таблиц информационной базы.
- С помощью административных средств СУБД, выполнив команду reindex database <имя-базы-данных>.
- При переходе на версию PostgreSQL 10.8 рекомендуется выполнить обновление статистики, выполнив команду analyze в контексте нужной базы данных.
Оглавление
Версия 10.5
Версия 10.5 включает исправления обнаруженных ошибок и изменения в функциональности.
- Новые возможности и изменения
- Оптимизация
- Изменения, влияющие на поведение системы
- Изменения, требующие изменений в конфигурациях и административных установках
- Переход с предыдущих версий на версию 10.5
Новые возможности и изменения
Функциональность | Как стало | Как было | Результат изменения |
---|---|---|---|
Работа с СУБД. | Реализована запись времени построения плана запроса в журнал СУБД. | Время построения плана запроса в журнал СУБД не записывалась. | Стало возможно более точно оценивать время исполнения того или иного запроса. |
Оглавление
Оптимизация
Функциональность | Как стало | Как было | Результат изменения |
---|---|---|---|
Работа с СУБД. | Перед построением плана запроса выполняется упрощение запроса (удаление избыточных соединений и т.д.). План запроса строится по упрощенному запросу. | План запроса строился без упрощения запроса, даже если это упрощение было возможно. | При возможности, происходит упрощение запроса, что ведет к уменьшению времени исполнения (и планирования) запроса. |
Работа с СУБД. | При вычислении стоимости сортировки учитываются стоимость сортировки одной или нескольких колонок, стоимость самой сортировки, количество операций сравнения полей. | При вычислении стоимости сортировки не учитывались стоимость сортировки одной или нескольких колонок, стоимость самой сортировки, количество операций сравнения полей. | При построении плана запроса более точно вычисляется стоимость сортировки в запросе. |
Работа с СУБД. | Улучшена оценка стоимости соединения при построении плана запроса в том случае, если в планируемом запросе используется соединение таблиц с условием по нескольким колонкам. | Оценка стоимости соединения при построении плана запроса была менее точной в том случае, если в планируемом запросе использовалось соединение таблиц с условием по нескольким колонкам. | Улучшен формируемый план запроса и повышена производительность выполнения запроса. |
Работа с СУБД. | При планировании запроса, содержащего выражение СГРУППИРОВАТЬ ПО, планировщик выбирает наиболее оптимальный индекс из имеющихся (исходя из списка полей в выражении). На основании выбранного индекса планировщик может изменить порядок полей в выражении СГРУППИРОВАТЬ ПО для того, чтобы порядок полей соответствовал выбранному индексу. | При планировании запроса, содержащего выражение СГРУППИРОВАТЬ ПО, планировщик не учитывал существующие индексы и не изменял порядок полей в выражении СГРУППИРОВАТЬ ПО. | Улучшен формируемый план запроса и повышена производительность выполнения запроса, если в запросе есть выражение СГРУППИРОВАТЬ ПО и в базе данных имеется индекс, соответствующий списку полей в выражении СГРУППИРОВАТЬ ПО. |
Работа с запросами. | Повышена производительность запросов, в которых все поля, выбранные в запросе, присутствуют в индексе. | Если все поля, выбранные в запросе, присутствовали в индексе, то производительность запроса могла быть меньше, чем в некоторых случаях, когда требуемых полей в индексе нет. | В некоторых случаях ускорено выполнение запросов. |
Оглавление
Изменения, влияющие на поведение системы
Функциональность | Как стало | Как было | Результат изменения |
---|---|---|---|
Работа с файлами. | При работе СУБД под управлением ОС Windows, устранено ограничение на использование не более 1200 одновременно открытых файлов каждым процессом PostgreSQL (параметр СУБД max_files_per_process). | При работе СУБД под управлением ОС Windows, каждый процесс PostgreSQL имел ограничение в 1200 одновременно открытых файлов. | Ускорена работа СУБД при использовании больших конфигураций (например 1С:ERP). |
Оглавление
Изменения, требующие изменений в конфигурациях и административных установках
Функциональность | Как стало | Как было | Результат изменения |
---|---|---|---|
Средства администрирования. | Имена rpm-пакетов стали соответствовать стандарту разработки пакетов в Linux. | Имена rpm-пакетов не соответствовали стандарту разработки пакетов в Linux. | Имена пакетов стали соответствовать стандартам. |
Оглавление
Переход с предыдущих версий на версию 10.5
- Рекомендуется выполнить переиндексацию таблиц базы данных при переходе на версию PostgreSQL 10.5. Переиндексацию можно выполнить двумя способами:
- С помощью механизма тестирования и исправления конфигуратора, указав режим Реиндексация таблиц информационной базы.
- С помощью административных средств СУБД, выполнив команду reindex database <имя-базы-данных>.
Оглавление
Версия 10.3
Версия 10.3 включает исправления обнаруженных ошибок и изменения в функциональности.
- Новые возможности и изменения
- Оптимизация
- Переход с предыдущих версий на версию 10.3
Новые возможности и изменения
Функциональность | Как стало | Как было | Результат изменения |
---|---|---|---|
Локализация. | Порядок сортировки и работа оператора ПОДОБНО языка запросов приведена в соответствие с правилами русского языка в части буквы «ё». | Порядок сортировки и работа оператора ПОДОБНО языка запросов не соответствовала правилами русского языка в части буквы «ё».
Поиск с использованием буквы «ё» мог не возвращать никаких результатов. |
Использование буквы «ё» при работе с СУБД приведено в соответствие с русским языком. |
Системные требования. | Доработки, реализуемые фирмой «1С» для СУБД PostgreSQL, реализованы в виде расширения. | Доработки, реализуемые фирмой «1С» для СУБД PostgreSQL, были реализованы в виде набора патчей. | Упростилось администрирование СУБД. |
Оглавление
Оптимизация
Функциональность | Как стало | Как было | Результат изменения |
---|---|---|---|
Работа с СУБД. | Ускорена работа СУБД PostgreSQL при работе под управлением ОС Ubuntu. | Производительность СУБД PostgreSQL под управлением ОС Ubuntu была невысокой. | Ускорена работа СУБД PostgreSQL при работе под управлением ОС Ubuntu. |
Оглавление
Переход с предыдущих версий на версию 10.3
- Если переход на версию PostgreSQL 10.3 выполняется с помощью утилиты pg_upgrade, то рекомендуется выполнить переиндексацию таблиц базы данных для того, чтобы работа с буквой «ё» стала соответствовать правилам русского языка. Переиндексацию рекомендуется выполнять с помощью механизма тестирования и исправления конфигуратора, указав режим Реиндексация таблиц информационной базы.
Оглавление
Версия 9.6.7
Версия 9.6.7 включает исправления обнаруженных ошибок.
Версия 9.6.6
- Изменения, влияющие на поведение системы
Изменения, влияющие на поведение системы
Функциональность | Как стало | Как было | Результат изменения |
---|---|---|---|
Работа с СУБД. | Реализовано автоматическое удаление временных таблиц, которые остались после аварийного завершения работы СУБД. | После аварийного завершения работы СУБД могли оставаться ранее созданные (до аварийного завершения) временные таблицы. | Упрощено администрирование СУБД — нет необходимости выполнять мониторинг размера каталога с файлами временных таблиц. Уменьшено потребление дискового пространства при работе СУБД. |
Работа с СУБД. Работа в ОС Linux. |
При работе под управлением ОС Linux, журналы упреждающей записи (wal), создаваемые СУБД, получают права на чтение для всех пользователей, входящих в состав группы, от имени которой работает СУБД. | При работе под управлением ОС Linux, пользователи, входящие в состав группы, от имени которой работает СУБД, не получали прав чтения на журналы упреждающей записи (wal), создаваемые СУБД. | Упрощено администрирование СУБД при работе под управлением ОС Linux — нет необходимости отдельно заниматься настройкой прав доступа к файлам журналов упреждающей записи (wal). |
Оглавление
Версия 9.6.5
- Оптимизация
- Изменения, влияющие на поведение системы
Оптимизация
Функциональность | Как стало | Как было | Результат изменения |
---|---|---|---|
Работа с СУБД. | Транзакция, в которой устанавливается табличная блокировка, более не препятствует выполнению процесса AUTOVACUUM или команды СУБД VACUUM. | Транзакция, в которой устанавливается табличная блокировка, препятствовала выполнению процесса AUTOVACUUM или команды СУБД VACUUM. | Транзакции, использующая табличные блокировки, стали оказывать меньше влияния на регламентные процессы СУБД. |
Оглавление
Изменения, влияющие на поведение системы
Функциональность | Как стало | Как было | Результат изменения |
---|---|---|---|
Работа с СУБД. | Переработан инсталлятор СУБД PostgreSQL для ОС Windows, поставляемый фирмой «1С». В состав дистрибутива включена утилита pgAdmin версии 4. При выборе установки СУБД в качестве сервиса используется пользователь NT AUTHORITY\NETWORK SERVICE (СЕТЕВАЯ СЛУЖБА). | Инсталлятор СУБД PostgreSQL для ОС Windows, поставляемый фирмой «1С», был другим. В состав дистрибутива входила утилита pgAdmin версии 3. | Актуализирован инсталлятор СУБД PostgreSQL для ОС Windows, поставляемый фирмой «1С». |
Работа с СУБД. | При построении плана запроса учитывается стоимость выполнения функции coalesce(), что позволяет выбрать более оптимальный план запроса. | При построении плана запроса не учитывалась стоимость выполнения функции coalesce(). | При планировании запроса выбирается более эффективный план, что приводит к повышению скорости выполнения запроса. |
Оглавление
-
Главная
-
Инструкции
-
PostgreSQL
-
Обновление версии PostgreSQL: инструкция
В PostgreSQL обновление версии выполняется разными способами:
- Установка пакетов с новой версией PostgreSQL — подходит только для минорных обновлений, прежде чем выполнять, необходимо изучить release notes;
- Использование стандартной программы
pg_dumpall
— надёжный способ, но возможен длительный downtime. - Использование стандартной программы
pg_upgrade
— быстрый способ, но возможны ошибки. - Обновление через логическую репликацию — минимальный downtime, однако подходит только для версий PostgreSQL > 10.0. Для более ранних версий требуются расширения.
Выбор зависит от того, какой релиз используется на сервере и до какой версии вы хотите обновиться.
В этой статье разберём способы обновления.
Главное — понимать особенности обновлений между разными версиями.
Номера состоят из двух цифр — например, 10.1. Первая цифра — номер основной версии (10). Вторая цифра — номер корректирующего релиза (1).
До PostgreSQL 10 номера состоят из трёх цифр. Например, 9.6.3. Здесь 9.6 — номер основного выпуска, а 3 — номер дополнительной версии.
Понимать эту разницу нужно для того, чтобы правильно выбирать способ обновления.
В корректирующих версиях не меняется форма данных. Благодаря этому нет проблем с совместимостью. Поэтому переход с PostgreSQL 10.1 на 10.6 выполняется без лишних затрат ресурсов. Для обновления выключите сервер, замените исполняемые файлы и запустите сервер заново.
Однако в документации отмечается, что для некоторых выпусков могут потребоваться ручные изменения. Поэтому всегда читайте примечания к выпуску, прежде чем выполнять обновление.
В основных версиях формат данных может измениться. Это усложняет обновление. В таком случае нельзя изменить номер. Нужно или выгружать данные и загружать их заново, или использовать программу pg_upgrade
, или применять логическую репликацию.
Обо всех этих способах поговорим ниже.
Обновление в рамках одной основной версии
Посмотрим на примере апдейта PostgreSQL 14.1 до PostgreSQL 14.3 на сервере Ubuntu.
PostgreSQL доступен на Ubuntu по умолчанию. Обновитесь командой:
sudo apt-get upgrade
Debian и Ubuntu выпускают только одну версию PostgreSQL для каждого выпуска ОС. Например, в Debian Squeeze/6.0 есть только PostgreSQL 8.4. Если вам нужна другая версия PostgreSQL, используйте пакеты от PGDG.
Если вы хотите самый свежий релиз, то нужно прежде установить репозиторий Постгреса.
Добавьте репозиторий:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Импортируйте ключ подписи:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
Обновите перечень пакетов в системе:
sudo apt-get update
Установите нужную версию СУБД:
sudo apt-get -y install postgresql-14.3
Чтобы посмотреть список установленных СУБД, выполните:
dpkg --get-selections | grep postgres
Также посмотрите список кластеров:
pg_lsclusters
Прежде чем вносить изменения, остановите PostgreSQL:
sudo service postgresql stop
Когда пакеты Postgres устанавливаются, они создают для вас кластер по умолчанию. Нам нужно переименовать новый кластер postgres, чтобы при апгрейде старого кластера имена не конфликтовали.
sudo pg_renamecluster 14.3 main main_pristine
Обновите старый кластер:
sudo pg_upgradecluster 14.1 main
Запустите сервис:
sudo service postgresql start
Снова проверьте список кластеров и убедитесь, что новый работает:
pg_lsclusters
Избавьтесь от старого кластера:
sudo pg_dropcluster 14.1 main
Подставьте в эти команды нужные номера версий вместо 14.1 и 14.3.
Обновление через pg_dumpall
Если нужно изменить основную версию, используйте программу pg_dumpall
. Суть этого метода в том, чтобы выгрузить данные из одной основной версии, а затем загрузить их в другую.
- Прежде чем выгружать данные, убедитесь, что в БД не проводятся никакие изменения прямо сейчас. В противном случае часть изменений может не попасть в итоговый дамп.
- Получите дамп и запишите его в файл:
pg_dumpall > output_file
- Остановите сервер:
pg_ctl stop
- Измените имя старого каталога чтобы исключить появление конфликта имён:
mv /usr/local/pgsql /usr/local/pgsql.old
Старый каталог можно просто удалить. Но разумнее будет его переименовать, чтобы оставить возможность для восстановления. Вместо /usr/local/pgsql
укажите путь до своего каталога.
- Установите новую версию из исходного кода. Подробная инструкция на русском языке — в документации.
- Сформируйте новый кластер:
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
- Перенесите все изменения в файлы
pg_hba.conf
иpostgresql.conf
. - Запустите сервер БД:
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
- Восстановите данные из резервной копии:
/usr/local/pgsql/bin/psql -d postgres -f output_file
Минус этого способа — сервер будет выключен длительное время. Для сокращения времени простоя можно установить новый сервер в другой каталог, а затем запустить старый и новый серверы на разных портах. Для переноса данных используйте команду:
pg_dumpall -p 5432 | psql -d postgres -p 5433
Вместо 5432 и 5433 укажите номера портов, на которых вы запустили серверы.
Обновление через pg_upgrade
Чтобы не делать выгрузку и загрузку данных, используйте программу pg_upgrade
. Она помогает обновиться быстрее. Программа pg_upgrade
создаёт системные таблицы заново, учитывая изменения последних версий. При этом старые файлы данных сохраняются. Кроме того, pg_upgrade проверяет, что кластеры совместимы.
Программу pg_upgrade
помогает обновиться с PostgreSQL 8.4.X до текущего релиза СУБД.
Рассмотрим общий план обновления с помощью pg_upgrade
.
- Переместите старый кластер. Это нужно сделать, если каталог не был привязан к старому релизу. Например, он находится по адресу
/usr/local/pgsql
. Если вы его не переименуете, то при обновлении произойдёт конфликт.
Переименование выполняется при выключенном сервере командой:
mv /usr/local/pgsql /usr/local/pgsql.old
- Соберите новую версию из исходного кода. Настройте configure, чтобы флаги были совместимы с конфигурацией старого кластера. Прежде чем начинать обновление,
pg_upgrade
проверит совместимость флагов. - Инсталлируйте новые исполняемые файлы. Для размещения сервера в нестандартной директории, используйте
prefix
:
make prefix=/usr/local/pgsql.new install
- Используйте
initdb
, чтобы инициализировать новый кластер. Проверьте, что флаги совместимы с флагами старого кластера. - Инсталлируйте разделяемые объектные файлы расширения. Если для них доступны обновления,
pg_upgrade
самостоятельно создаст скрипт для их последующей установки. - Перенесите файлы полнотекстового поиска.
- Настройте аутентификацию
peer
вpg_hba.conf
. Это нужно сделать, потому чтоpg_upgrade
будет несколько раз подключаться к старому и новому хостам. - Проверьте, что старый и новый серверы остановлены:
pg_ctl -D /opt/PostgreSQL/9.6 stop
pg_ctl -D /opt/PostgreSQL/14 stop
- Запустите
pg_upgrade
от нового сервера. Для начала вызовите программу в режиме проверки, добавив флаг:pg_upgrade --check
. В ответ вы получите перечень корректировок, которые необходимо внести вручную после опгрейда. - Если вы вносили правки в файл
pg_hba.conf
, восстановите его предыдущее состояниеpg_hba.conf
. Иногда требуются изменения других конфигов на новом кластере, чтобы они соответствовали параметрам старого кластера. - Запустите сервер.
Если результат устраивает, удалите ненужный кластер.
Подробности и особенности использования pg_upgrade
смотрите в документации.
Использование логической репликации
В 10-й версии СУБД появился метод логической репликации объектов данных и изменений в них. Он основан на использовании репликационных идентификаторов — обычно ими выступают первичные ключи.
В основе логической репликации лежит использование модели публикаций и подписок. Пользователь создаёт снимок публикуемой базы данных и копирует его на подписчика. В документации PostgreSQL одним из типичных сценариев использования логической репликации названа как раз репликация между разными основными версиями PostgreSQL.
Подробнее о том, как работает логическая репликация, вы можете узнать из отдельной статьи.
Резервный сервер может располагаться на том же хосте или на другом. После завершения синхронизации доступны разные опции. Например, вы можете сделать новый сервер главным, а старый — отключить.
Главный плюс логической репликации — минимальный downtime. Прерывание работы сервера в некоторых случаях ограничивается несколькими секундами.
Заключение
Мы рассмотрели универсальные методы апдейта PostgreSQL. Иногда процесс отличается. Например, обновление версии PostgreSQL для 1C требует установки дополнительных зависимостей.
В некоторых случаях обязанности по обновлению PostgreSQL можно делегировать. Например, Timeweb предлагает облачные базы данных. Среди них — PostgreSQL актуальной версии. Обновление и администрирование базы в этом случае возьмет на себя провайдер. При таком подходе изменить версию PostgreSQL можно в один клик через панель управления.
Имеется:
- Debian 9 (Stretch) 64-bit
- PostgreSQL 9.6.8 (от PostgresPro)
Задача:
- Обновить PostgreSQL на более новую версию 10.9 (от 1С) и ничего не про*бать
План действий:
- Теория по обновлению PostgreSQL
- Создание резервной копии данных
- Удаление текущей PostgreSQL 9.6.8
- Подготовка к установке PostgreSQL 10.9 от 1С
- Установка
- Разворот резервной копии данных
Для перехода PostgreSQL с версии 9 на версию 10 недостаточно установить новые пакеты и подсунуть имеющийся каталог данных кластера.
Отсюда:
При обновлении основных версий Postgres Pro внутренний формат данных может меняться, что усложняет процедуру обновления. Традиционный способ переноса данных в новую основную версию — выгрузить данные из старой версии, а затем загрузить их в новую (это не самый быстрый вариант). Выполнить обновление быстрее позволяет pg_upgrade. Также для обновления можно использовать репликацию.
В связи с тем, что у PostgresPro изменились правила лицензирования, и для свободного использования доступна лишь версия Postgres Pro Standard “для тестирования, разработки ПО, ознакомления с функциональностью СУБД, использования в образовательном процессе”, и для коммерческих целей ее использовать низя.
Поэтому планируется устанавливать уже готовые “пропатченные” пакеты, собранные самим 1С, и использовать pg_upgrade не будем.
Один из вариантов обновления заключается в выгрузке данных из одной основной версии Postgres Pro и загрузке их в другую — для этого необходимо использовать средство логического копирования, например
pg_dumpall; копирование на уровне файловой системы не подходит. В самом сервере есть проверки, которые не дадут использовать каталог данных от несовместимой версии Postgres Pro, так что если попытаться запустить с существующим каталогом данных неправильную версию сервера, никакого вреда не будет.
Если попытаться запустить новый PostgreSQL со старым каталогом данных, будет вот такая ошибка:
[38003] ВАЖНО: файлы базы данных не совместимы с сервером
[38003] ПОДРОБНОСТИ: Каталог данных инициализирован сервером PostgreSQL версии 9.6, не совместимой с данной версией (10.9 (Ubuntu 10.9-5.1C)).
2. Создание резервной копии данных
По советам postgresPro:
Для создания копии рекомендуется применять программы pg_dump и pg_dumpall от новой версии Postgres Pro, чтобы воспользоваться улучшенными функциями, которые могли в них появиться. Хотя этот совет может показаться абсурдным, ведь новая версия ещё не установлена, ему стоит последовать, если вы планируете установить новую версию рядом со старой. В этом случае вы сможете выполнить установку как обычно, а перенести данные позже. Это также сократит время обновления.
Я создавал бэкап старой версией PostgreSQL, а потом устанавливал новую.
$ su postgres $ pg_dumpall > backup_postgresql_9.6.sql |
3. Удаление текущей PostgreSQL 9.6.8
Смотрим что установлено:
$ dpkg —l | grep postgres ii postgresql—client—pro—1c—9.6 9.6.8—1.1C.stretch amd64 front—end programs for PostgreSQL 9.6 ii postgresql—common—pro—1c 181—7.stretch all PostgreSQL database—cluster manager ii postgresql—contrib—pro—1c—9.6 9.6.8—1.1C.stretch amd64 additional facilities for PostgreSQL ii postgresql—pro—1c—9.6 9.6.8—1.1C.stretch amd64 object—relational SQL database, version 9.6 server |
Сохраняем конфиги для дальнейшего переноса настроек в новую версию (если в них что-то меняли, конечно):
$ cp —a /etc/postgresql/10/main/postgresql.conf /home/USER $ cp —a /etc/postgresql/10/main/pg_hba.conf /home/USER |
Удаление старых пакетов версии 181. Можно снести
postgresql—common, который потащит за собой все остальные:
$ apt purge postgresql—common |
Удаляем с помощью
purge , чтобы полностью снести конфиги текущей версии PostgreSQL, иначе при установки новой версии будут ошибки типа:
Not replacing deleted config file /etc/postgresql-common/createcluster.conf
В целом вот что снеслось:
postgresql-client-pro-1c-9.6
postgresql-common-pro-1c
postgresql-contrib-pro-1c-9.6
postgresql-pro-1c-9.6
4. Подготовка к установке PostgreSQL 10.9 от 1С
В особенностях релиза написано:
Поддержка версии 10.9.5.1 реализована в версии 1С:Предприятии 8.3.14 и старше.
Cписок поддерживаемых дистрибутивов Linux:
DEB, Ubuntu 16.04, должны быть установлены:
sudo apt-get install libicu55 postgresql-common
sudo apt-get install libicu-dev (для целей сборки)
Дополнительные модули:
plperl plpython plpython3 pltcl test devel docs
В архиве postgresql-10.9-5.1C_amd64_deb лежат уже собранные пакеты:
- libpq5_10.9-5.1C_amd64.deb
- postgresql-10_10.9-5.1C_amd64.deb
- postgresql-client-10_10.9-5.1C_amd64.deb
В архиве postgresql-10.9-5.1C_amd64_addon_deb лежат доп.модули (мне не понадобились):
- libecpg6_10.9-5.1C_amd64.deb
- libecpg-compat3_10.9-5.1C_amd64.deb
- libecpg-dev_10.9-5.1C_amd64.deb
- libpgtypes3_10.9-5.1C_amd64.deb
- libpq-dev_10.9-5.1C_amd64.deb
- postgresql-10-dbg_10.9-5.1C_amd64.deb
- postgresql-doc-10_10.9-5.1C_all.deb
- postgresql-plperl-10_10.9-5.1C_amd64.deb
- postgresql-plpython-10_10.9-5.1C_amd64.deb
- postgresql-plpython3-10_10.9-5.1C_amd64.deb
- postgresql-pltcl-10_10.9-5.1C_amd64.deb
- postgresql-server-dev-10_10.9-5.1C_amd64.deb
В архиве Patch_SUBD_PostgreSQL_10.9-5.1C лежат файлы для ручной сборки пропатченой postgresql (“голая” версия postgresql и патчи для нее):
- файлы .patch
- postgresql-10_10.9-5.1C.debian.tar.xz
- postgresql-10_10.9-5.1C.dsc
- postgresql-10_10.9-5.1C_source.changes
- postgresql-10_10.9.orig.tar.bz2
5. Установка PostgreSQL 10.9
1) Установим “правильную” локаль:
$ locale—gen en_US $ locale—gen ru_RU $ update—locale LANG=ru_RU.UTF8 $ dpkg—reconfigure locales |
2) как сказано в особенностях релиза, сначала ставим зависимости
libicu55 и
postgresql—common :
2.1) libicu55
В debian 9 нет пакета
libicu версии 55. Варианты решения проблемы:
а) скачать
liibicu55 напрямую из репозитория и установить (мое решение):
libicu55_55.1-7_amd64.deb | 2016-01-21 21:29 | 7.3M |
libicu55_55.1-7_i386.deb | 2016-01-21 21:30 | 7.4M |
libicu55_55.1-7ubuntu0.4_amd64.deb | 2018-03-28 17:48 | 7.3M |
libicu55_55.1-7ubuntu0.4_i386.deb | 2018-03-28 17:48 | 7.4M |
$ cd <каталог с пакетами PostgeSQL—1C> $ wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu55_55.1—7_amd64.deb $ sudo dpkg —i libicu55*.deb |
б) или пересобрать пакет PostgreSQL с использованием другой версии
libicu (не пробовал)
1) копируем postgresql-contrib-*-1.1C_amd64.deb в папку на сервере, входим в нее
2) Распаковываем пакет:
$ dpkg —x postgresql—contrib—*—1.1C_amd64.deb tmpdir |
3) после:
$ dpkg —e postgresql—contrib—*—1.1C_amd64.deb tmpdir/DEBIAN |
4) далее открываем в текстовом редакторе файл «control»:
$ nano ./tmpdir/DEBIAN/control |
5) ищем строку libicu* (>= 1.4.6) и меняем ее на libicu52 (>= 1.4.6)
6) сохраняем изменения и собираем пакет обратно:
$ dpkg —b tmpdir postgresql—contrib—*—1.1C_amd64_fix.deb |
в) говоряяяят, есть утилита aptly, позволяющая легко и удобно организовать управление пакетами, исправляя проблемы зависимостей (не пробовал).
2.2) postgresql-common
В debian 9 пакеты PosqtgreSQL имеют старую версию 181, а нужно >= 182.
Подключаем репозиторий PosqtgreSQL от более новой версии Debian 10 (buster), в которой имеются либы PosqtgreSQL версии 207.
$ sudo apt—get install curl ca—certificates gnupg $ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt—key add — $ sudo nano /etc/apt/sources.list.d/pgdg.list deb http://apt.postgresql.org/pub/repos/apt/ buster—pgdg main $ sudo apt—get update |
Устанавливаем:
$ sudo apt—get install postgresql—common |
Если будет ошибка типа:
Not replacing deleted config file /etc/postgresql-common/createcluster.conf
Значит, не вычистили систему от конфигов прежней версии PostgreSQL.
3.1) Вариант установки уже собранных пакетов.
Ставим пакеты из основного архива:
libpq5,
postgresql—client и
postgresql.
$ cd <каталог с разархивироваными пакетами .deb> $ dpkg —i *.deb |
Но для libpq5 может понадобиться пакет
libssl1.0.0, который отсутствует в Debian 9.
Он есть в Debian 8 (jessie). Подключим репозиторий:
$ sudo nano /etc/apt/sources.list deb http://ftp.ru.debian.org/debian/ jessie main $ sudo apt update |
Устанавливаем:
$ sudo apt install libssl1.0.0 |
Закомментируем (или удалим) устаревший репозиторий и обновим индексы.
И пробуем устанавливать опять.
3.2) Вариант ручной сборки пропатченной PostgreSQL и ее установка (не пробовал)
Описано здесь.
По поводу сборки, то имеет смысл собирать под текущую архитектуру процессора, используя ключи сборки -march=native -O3 -flto – это позволяет существенно (до 20-25%) повысить скорость стандартного теста pgbench (у меня с 8к до 10,8к увеличилась скорость при j10 и с10).
4) Проверяем, что установили:
$ dpkg —l | grep postgres ... ii postgresql—10 10.9—5.1C amd64 object—relational SQL database, version 10 server ii postgresql—client—10 10.9—5.1C amd64 front—end programs for PostgreSQL 10 ii postgresql—client—common 207.pgdg100+1 all manager for multiple PostgreSQL client versions ii postgresql—common 207.pgdg100+1 all PostgreSQL database—cluster manager |
По-молчанию путь к кластеру установлен по пути:
/var/lib/postgresql/10/main
А логи тут:
/var/log/postgresql/postgresql-10-main.log
Можем переместить созданный каталог данных кластера в нужное нам место, или проинициализировать (создать) новый сразу в нужном месте:
$ mkdir <psql_data_path> $ chown postgres:postgres <psql_data_path> |
1) вариант с переносом:
$ mv /var/lib/postgresql/10/main/* <psql_data_path> |
2) вариант с инициализацией нового с помощью утилиты initdb (описание).
$ su postgres $ /usr/lib/postgresql/10/bin/initdb —D <psql_data_path> |
Но нужно, чтобы новый каталог был пуст, иначе возникнет ошибка.
Приводим конфиги postgresql к нужному виду.
Тут добавил в конец файла измененные значения параметров:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$ nano /etc/postgresql/10/main/postgresql.conf # log logging_collector = on log_rotation_age = 1d log_rotation_size = 1GB log_directory = ‘pg_log’ log_destination = ‘stderr’ log_min_messages = error log_min_error_statement = error log_min_duration_statement = 2000 log_truncate_on_rotation = on log_filename = ‘postgres-%a.log’ # memory ... #other data_directory = ‘postgres_data_path’ listen_addresses = ‘localhost’ ... |
Тут добавил trust для учеток postgres и zabbix:
$ nano /etc/postgresql/10/main/pg_hba.conf local all postgres trust local zabbix zabbix trust |
Готово. Теперь можно попробовать запустить сервер баз данных:
$ /usr/lib/postgresql/10/bin/pg_ctl —D /var/lib/postgresql/10/main —l <файл_журнала> start |
Или сразу службу:
$ service postgresql start |
Добавляем службу в автозагрузку:
$ systemctl enable postgresql |
Проверяем слушается ли порт 5432.
$ netstat —tunlp | grep 5432 |
6. Разворот резервной копии данных
Запускаем процесс восстановления из бэкапа (а на самом деле, процесс выполнения SQL-команд из файла) с помощью
psql:
$ psql —f backup_postgresql_9.6.sql
Нужно иметь ввиду, что владельцем файла бэкапа и каталога, в котором он лежит (!), должен быть postgres, иначе получим ошибку доступа.
$ chown postgres:postgres backup_postgresql_9.6.sql $ chown postgres:postgres </backup/postgres/> |
Готово. Все должно подняться.
Просмотров:
4 931
Внимание!
- Инструмент производит обновление сервера СУБД PostgreSQL с версии 9.4 на версию 11.
- Обновление предназначено только для процессоров с разрядностью 64 бит.
- На время обновления обязательно отключите антивирусное ПО.
- Установка поддерживается только на 64х-битных ОС следующих версий:
- Windows 7
- Windows 10
- 2008
- 2012
- 2016
- 2019
Архив лог-файлов для передачи в службу поддержки:
- При обращении в службу поддержку обязательно прикладывайте архив папки с лог-файлами.
- В папке инструмента запустите файл archive_logs.cmd.
- Сформируется файл LOG-ДД.ММ.ГГГГ.zip.
- Обязательно приложите файл архива с лог-файлами к заявке.
Описание процесса
Данный процесс предусматривает перевод сервера PostgreSQL с версии 9.4 до версии 11. Обращаем ваше внимание на то, что, обновление сервера PostgreSQL должно осуществляться опытными ИТ-специалистами.
Дистрибутив
- Используйте данные учетной записи, которая предназначена для загрузки патчей и дистрибутивов SetRetail10.
- Для предоставления учетной записи обратитесь к вашему менеджеру, или в службу поддержки.
Патч обновления на PostgreSQL 11 для Windows | Загрузить |
Подготовка к обновлению
1. Перевод на новую версию PostgreSQL 11 осуществляется только для 64-х битных операционных систем.
2. Внимание! Перед началом процедур по переводу на новую версию PostgreSQL, обязательно обновите вашу операционную систему.
4. Проводите обновление только на официально-активированной версии ОС Windows.
В некоторых случаях, в не актированной версии, могут отсутствовать необходимые обновления для запуска установщика PostgreSQL11.
3. Обязательно проверьте наличие свободного дискового пространства, оно должно быть достаточным, в зависимости от размеров вашей БД, так как в следующих шагах восстановление базы данных будет в новую версию сервера СУБД PostgreSQL 11, и при этом, версия PostgreSQL 9.4 будет установлена на момент развертывания архивов БД.
На данном изображении достаточно места для проведения операции обновления.
4. На время обновления PostgreSQL 9.4 на версию 11 не планируйте никаких работ на продуктивной среде так и с сервером магазина.
5. Следуйте только шагам описанным в данной инструкции!
Обновление PostgreSQL для ОС Windows
Все шаги выполняются только от пользователя с локальными правами администратора.
1. Разархивируйте файл UPGRADEvXX.zip.
2. Выберите пусть распаковки → нажмите Извлечь.
3. В папке со скриптами обновления откройте на редактирование optionfile любым текстовым редактором.
4. Отредактируйте следующие параметры для установки PostgreSQL 11, если требуется:
Параметр | |
---|---|
superaccount | Имя пользователя с глобальным с правами для сервера СУБД PostgreSQl 11. |
superpassword | Пароль пользователя с глобальным с правами для сервера СУБД PostgreSQl 11. |
create_shortcuts |
Создавать ярлык на PgAdmin4 на рабочем столе:
|
prefix |
Полный путь установки программных компонентов PostgreSQL 11. В пути установки можно использовать только английские буквы, без специальных символов или русского алфавита. Нельзя использовать буквы русского алфавита. |
datadir |
Полный путь установки файлов для хранения данных БД PostgreSQL 11 Для папки с данными, которая располагается на другом диске, указывается полный путь, например: E:/DB/data |
5. Откройте на редактирование в любом текстовом редакторе файл passwordfile для установки пароля доступа к серверу PostgreSQL 9.4.
6. Установите пароль → сохраните файл.
7. Запустите файл backup.cmd с правами администратора для создания архива текущего сервера баз данных.
8. Начнется выполнение операции по сохранению резервной копии баз данных СУБД PostgreSQl 9.4.
Не закрывайте окно. Дождитесь окончания операции.
9. Когда операция бэкапирования завершится, появится сообщение о том, что оно успешно закончено и окно можно закрыть → нажмите любую клавишу.
10. Перейдите в папку current для проверки созданных резервных копий баз данных PostgreSQL 9.4.
11. Проверьте, что все файлы резервных копий, что созданы следующие файлы резервных копий СУБД:
- postgres.backup;
- set.backup;
- set_loyal.backup;
- set_operday.backup;
- sg.backup;
- XXXX.backup — любые другие базы данных продуктов семейства Set и сторонних информационных систем.
11. Откройте папку log для проверки лог-файлов.
12. Откройте файл status.txt для просмотра статуса завершения операции бэкапирования.
13. Напротив каждой из баз данных должен быть установлен статус OK — это обозначает, что все базы данных успешно сохранены в резервные копии.
14. Откройте лог-файл backup.txt.
15. Просмотрите, что во время процесса бэкапирования службы PostgreSQL 9.4. успешно запускались и останавливались.
16. Также откройте любой из лог-файлов с наименованием баз данных SetRetail/SetCentrum.
17. Проверьте, что процесс резервного копирования не содержит ошибок.
18. Запустите скрипт обновления upgrade.cmd с правами администратора.
19. Проверьте еще раз правильность путей для установки PostgreSQL 11, если они корректны введите Y
→ нажмите ENTER.
Для отмены установки введите N
→ нажмите ENTER.
20. Начнётся установка необходимых компонентов для запуска установщика PostgreSQL 11.
21. После установки компонентов откроется окно процесса инсталляции СУБД PostgreSQL 11.
22. Во время выполнения скрипта сервер баз данных будет перезапускаться, а также автоматически произойдет восстановление баз данных на новую версию сервера СУБД всех резервных копий.
23. Когда в окне интерпретатора отобразится сообщение Обновление прошло успешно
→ нажмите любую клавишу.
24. Проверьте в оснастке служб, что сервис postgresql-x64-11 в статусе Работает.
25. Посмотрите лог-файл upgrade.txt.
26. Убедитесь, что он не содержит критичных ошибок обновления.
27. Обновление завершено.
28. Проверьте, что визуализация сервера открывается, и вы можете воспользоваться стандартной функциональностью.
29. Запустите командную строку и наберите команду для проверки актуального пути установленного сервера СУБД PostgreSQL 11.
Должен отобразится актуальный путь к СУБД PostgreSQL 11!
Внимание! Если, после обновления и стабильной работы сервера отображается старый путь установки СУБД, тогда выполните команду для установки актуального пути в переменную среды PostgreSQL → перезапустите службу МУК.
setx SET_POSTGRES_BIN "C:\Program Files\PostgreSQL\11\bin" /m
Очистка места на диске после обновления
Внимание!
Выполняйте этот шаг, если:
- На диске недостаточно места после обновления. В иных случаях, данный шаг не является обязательным.
- Произведена полная проверка того, что все бизнес-процессы по работе сервера работают стабильно: связь и обмен между кассам, импорт и экспорт в ERP.
- Обновления МУКом патчами производятся стабильно!
1. Удалите всю папку с пакетом обновления, включая файлы резервных копий.
2. Откройте сеанс командной строки от имени администратора и выполните команду на удаление службы PostgreSQL 9.4
sc delete postgresql-x64-9.4
3. Удалите папку СУБД PostgreSQL 9.4.