Ad Widget

Collapse

Не настраивается compression timescaledb 2.7.0 при миграции на Zabbix 6.0

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Aleksey-sa
    Junior Member
    • Jul 2022
    • 2

    #1

    Не настраивается compression timescaledb 2.7.0 при миграции на Zabbix 6.0

    Здравствуйте.
    При переходе на Zabbix 6.0 выполняю все в соответствии с инструкцией от разработчика.
    В итоге получаю вот такое сообщение об ошибке:
    zabbix=> select alter_job((select job_id from timescaledb_information.jobs where hypertable_schema='public' and hypertable_name='history_text'), scheduled => true);
    ERROR: job ID cannot be NULL

    Используется Postgresql 13.6
    zabbix=> \dx
    List of installed extensions
    Name | Version | Schema | Description
    -------------+---------+------------+-------------------------------------------------------------------
    plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
    timescaledb | 2.7.0 | public | Enables scalable inserts and complex queries for time-series data
    (2 rows)

    zabbix=> show timescaledb.license ;
    timescaledb.license
    ---------------------
    timescale
    (1 row)
    zabbix=>

    Ниже последовательность моих действий:

    psql -p5436 -d zabbix -U zabbix < history_pk_prepare_new.sql

    zabbix=> \copy (select * from history_text_old) TO '/pgdump/tmp/history_text.csv' DELIMITER ',' CSV;
    COPY 116389

    zabbix=> CREATE TEMP TABLE temp_history_text (
    itemid bigint NOT NULL,
    clock integer DEFAULT '0' NOT NULL,
    value text DEFAULT '' NOT NULL,
    ns integer DEFAULT '0' NOT NULL
    );
    CREATE TABLE

    zabbix=> \copy temp_history_text FROM '/pgdump/tmp/history_text.csv' DELIMITER ',' CSV;
    COPY 116389

    zabbix=> select create_hypertable('history_text', 'clock', chunk_time_interval => 86400, migrate_data => true);
    create_hypertable

    ----------------------------

    (10,public,history_text,t)

    (1 row)

    zabbix=> INSERT INTO history_text SELECT * FROM temp_history_text ON CONFLICT (itemid,clock,ns) DO NOTHING;
    INSERT 0 116389

    zabbix=> select set_integer_now_func('history_text', 'zbx_ts_unix_now', true);
    set_integer_now_func
    ----------------------
    (1 row)

    zabbix=> alter table history_text set (timescaledb.compress,timescaledb.compress_segment by='itemid',timescaledb.compress_orderby='clock,ns ');
    ALTER TABLE
    zabbix=> select add_compression_policy('history_text', (select extract(epoch from (config::json->>'compress_after')::interval) from timescaledb_information.jobs where application_name like 'Compression%%' and hypertable_schema='public' and hypertable_name='history_text_old')::integer);

    add_compression_policy
    ------------------------
    (1 row)

    zabbix=> select alter_job((select job_id from timescaledb_information.jobs where hypertable_schema='public' and hypertable_name='history_text'), scheduled => true);
    ERROR: job ID cannot be NULL


    Просьба подсказать где искать проблему.








  • wins
    Senior Member
    • Sep 2014
    • 307

    #2
    "выполняю все в соответствии с инструкцией от разработчика." - какой именно?

    Comment

    • Aleksey-sa
      Junior Member
      • Jul 2022
      • 2

      #3
      Использовал инстукцию с сайта - https://www.zabbix.com/documentation...mescaledb-v2.x
      Подскажите правильно ли я понял работу update:
      jobs compressions при update переносятся из настройки timescaledb для Zabbix 5.4. А так как их не было то и переноситься нечему.
      Единственное не понял где и как выполняются настройки jobs compressions. Если можно подскажите где копать.
      Как DBA я нашел функцию которая создает jobs в timescaledb напрямую в БД, но возможно чего-то не учел.

      Спасибо

      Comment

      • wins
        Senior Member
        • Sep 2014
        • 307

        #4
        Вынужден посыпать голову пеплом и признать, что я как "инженер" забил болт на мануал и обновился с 5 на 6 просто так (при этом ничего не сломалось и timescaledb работает штатно)
        Проверю на тестовом инстансе и вернусь

        Comment

        • wins
          Senior Member
          • Sep 2014
          • 307

          #5
          Проверил - все отрабатывает. Вероятно вы правы, и jobs compressions у вас отсутствовали. А tsdb вообще отрабатывал?

          Comment

          • vladimir_lv
            Senior Member
            • May 2022
            • 240

            #6
            В документации написано, что:

            The maximum supported version for TimescaleDB is now 2.6.


            На свой страх и риск можно установить параметр в конфиге сервера:
            AllowUnsupportedDBVersions= 1

            Comment

            • wins
              Senior Member
              • Sep 2014
              • 307

              #7
              AllowUnsupportedDBVersions= 1 (по отношению к timescaledb 2.7) - действует только на 6.2.1 и только как оверрайд:

              Unsupported DB! timescaledb version is 20702 which is higher than maximum of 20699
              Recommended version should not be higher than TimescaleDB Community Edition 2.6.
              Единственное не понял где и как выполняются настройки jobs compressions. Если можно подскажите где копать.
              > timescaledb_information.jobs

              Comment

              • zon2004
                Junior Member
                • Jan 2017
                • 7

                #8
                Добрый день. Подскажите пожалуйста, обновился с 5,4 с postgreSQL12 + timescaleDB 2.5 на 6,4 и postgreSQL15 + TimescaleDB 2.13.1 и теперь в включить сжатие пишет
                Обнаруженная лицензия TimescaleDB не поддерживает сжатие. Сжатие поддерживается в TimescaleDB Community Edition.
                при выводе show timescaledb.license ;
                timescaledb.license
                ---------------------
                apache
                Туда копать.
                Спасибо

                Comment

                Working...