Ad Widget

Collapse

не могу восстановить бэкап БД заббикса из дампа базы

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • zabbix777
    Member
    • Nov 2023
    • 70

    #1

    не могу восстановить бэкап БД заббикса из дампа базы

    Планово переношу сервер заббикса с одного сервера на другой.
    На новом сервере сделал чистую установку заббикса по этому руководству https://www.zabbix.com/ru/download?zabbix=7.0&os_distribution=ubuntu&os_vers ion=24.04&components=server_frontend_agent&db=pgsq l&ws=apache
    Предварительно установил postgres.
    веб интерфейс открывается, все ок.
    Версии заббикса на старом и новом серверах совпадают 7.0.6
    Застрял на восстановлении бд из дампа
    сам дамп делал такой командой
    Code:
    pg_dump zabbix -U zabbix -h localhost > zabbix_backup.db
    unset PGPASSWORD
    восстанавливаю
    Code:
    pg_restore --no-owner -U zabbix --dbname=zabbix zabbix_backup.db
    pg_restore: error: input file appears to be a text format dump. Please use psql
    пробовал еще такой
    Code:
    psql -U zabbix -W -f ./zabbix_backup.db zabbix
    Password:
    ошибка, хотя пароль ввожу правильный.
    psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432"
    failed: FATAL: Peer authentication failed for user "zabbix"

    Подскажите, что не так делаю.
  • zabbix777
    Member
    • Nov 2023
    • 70

    #2
    Немного продвинулся. оказывается надо было указать ключ -h localhost для psql.
    Еще раз сделал дамп действующей базы
    Code:
     PGPASSWORD="ххх" pg_dump -h localhost -U zabbix -F t -f /root/zabbix_backup.db.tar zabbix
    скачал его на новый сервер. Восстановил:
    Code:
    pg_restore -h localhost -p 5432 -U zabbix -v --role="zabbix" -dzabbix /root/zabbix_backup.db.tar
    Но теперь восстановление пошло с кучей ошибок:
    Code:
    pg_restore: creating FK CONSTRAINT "public.widget_field c_widget_field_6"
    pg_restore: from TOC entry 6144; 2606 20135 FK CONSTRAINT widget_field c_widget_                                                                                                 field_6 zabbix
    pg_restore: error: could not execute query: ERROR:  constraint "c_widget_field_6                                                                                                 " for relation "widget_field" already exists
    Command was: ALTER TABLE ONLY public.widget_field
        ADD CONSTRAINT c_widget_field_6 FOREIGN KEY (value_sysmapid) REFERENCES publ                                                                                                 ic.sysmaps(sysmapid) ON DELETE CASCADE;
    
    
    pg_restore: creating FK CONSTRAINT "public.widget_field c_widget_field_7"
    pg_restore: from TOC entry 6145; 2606 20140 FK CONSTRAINT widget_field c_widget_                                                                                                 field_7 zabbix
    pg_restore: error: could not execute query: ERROR:  constraint "c_widget_field_7                                                                                                 " for relation "widget_field" already exists
    Command was: ALTER TABLE ONLY public.widget_field
        ADD CONSTRAINT c_widget_field_7 FOREIGN KEY (value_serviceid) REFERENCES pub                                                                                                 lic.services(serviceid) ON DELETE CASCADE;
    
    
    pg_restore: creating FK CONSTRAINT "public.widget_field c_widget_field_8"
    pg_restore: from TOC entry 6146; 2606 20145 FK CONSTRAINT widget_field c_widget_                                                                                                 field_8 zabbix
    pg_restore: error: could not execute query: ERROR:  constraint "c_widget_field_8                                                                                                 " for relation "widget_field" already exists
    Command was: ALTER TABLE ONLY public.widget_field
        ADD CONSTRAINT c_widget_field_8 FOREIGN KEY (value_slaid) REFERENCES public.                                                                                                 sla(slaid) ON DELETE CASCADE;
    
    
    pg_restore: creating FK CONSTRAINT "public.widget_field c_widget_field_9"
    pg_restore: from TOC entry 6147; 2606 20150 FK CONSTRAINT widget_field c_widget_                                                                                                 field_9 zabbix
    pg_restore: error: could not execute query: ERROR:  constraint "c_widget_field_9                                                                                                 " for relation "widget_field" already exists
    Command was: ALTER TABLE ONLY public.widget_field
        ADD CONSTRAINT c_widget_field_9 FOREIGN KEY (value_userid) REFERENCES public                                                                                                 .users(userid) ON DELETE CASCADE;
    
    
    pg_restore: warning: errors ignored on restore: 1220
    В чем может быть проблема?

    Comment

    • zabbix777
      Member
      • Nov 2023
      • 70

      #3
      Попробовал удалить с нового сервера базу заббикса и сделать все дедовским методом. Создать вручную пустую базу zabbix, создать пользователя zabbix, дать ему все привилегии и накатить на нее дамп. Все равно шляпа:
      Code:
      pg_restore: error: could not execute query: ERROR:  relation "public.widget_field" does not exist
      Command was: ALTER TABLE ONLY public.widget_field
          ADD CONSTRAINT c_widget_field_8 FOREIGN KEY (value_slaid) REFERENCES public.sla(slaid) ON DELETE CASCADE;
      pg_restore: error: could not execute query: ERROR:  relation "public.widget_field" does not exist
      Command was: ALTER TABLE ONLY public.widget_field
          ADD CONSTRAINT c_widget_field_9 FOREIGN KEY (value_userid) REFERENCES public.users(userid) ON DELETE CASCADE;
      
      pg_restore: warning: errors ignored on restore: 1594

      Comment

      • zabbix777
        Member
        • Nov 2023
        • 70

        #4
        у меня вроде совсем дефолтная база. небольшое количество узлов и элементов. И такой гемор при стандартной операции переноса. мне интересно как люди большие кластера с заббиксом переносят.

        Comment

        • Hamardaban
          Senior Member
          Zabbix Certified SpecialistZabbix Certified Professional
          • May 2019
          • 2713

          #5
          "Создать вручную пустую базу zabbix" - надеюсь не выполняли скрипт создания структуры базы zabbix? И база истинно чистая?
          При создании архива посмотрите на опции -С и -с

          Comment

          • zabbix777
            Member
            • Nov 2023
            • 70

            #6
            Originally posted by Hamardaban
            "Создать вручную пустую базу zabbix" - надеюсь не выполняли скрипт создания структуры базы zabbix? И база истинно чистая?
            При создании архива посмотрите на опции -С и -с
            да в начале создал структуру. потом пробовал на базу с нуля дамп накатывать, тоже не работало. оказалось версии postgres на старом сервере была свежее чем на новом, ну и там пользователя базы создать, права ему ALL дать. Обновил postgres до 17.2 вроде получилось развернуть. мне это было все не очевидно, пришлось 2 дня подбирать правильный порядок действий и команды. Опции посмотрю.
            Можно закрывать тему

            Comment


            • Hamardaban
              Hamardaban commented
              Editing a comment
              По первости с Postgres при бэкапе/восстановлении всё спотыкаются.
              Тренироваться надо! :-)
          Working...