Size: a a a

pgsql – PostgreSQL

2021 January 07

SE

Sergey Evseev in pgsql – PostgreSQL
Serg
Как я понял поддерживает.
Я немного подтюнил десяток параметров в конфиге постгри, в т.ч. max_connections. Сделал его 300. А также подтюнил многопоточность заббикса в конфиге для снятия будущих возможных очередей.
перегрузил демонов постгри и заббикса...
И... ошибки в логах перестали появляться... ))) Сам не не понял, что помогло...)))
Странно...
Кстати нашел на гитхабе что при обновлении с 1.7.4 на 2.0.0-rc1 функция add_compress_chunks_policy дропается
источник

am

a m in pgsql – PostgreSQL
Victor Yegorov
int8 == bigint
> два знака равенства
Да вы точно DBA?
источник

S

Serg in pgsql – PostgreSQL
Sergey Evseev
Работать все будет итак, без сжатия данные будут лежать и все. Полагаю политики пытается создать сам Zabbix т.к. у него есть настройки через интерфейс с какой давностью сжимать чанки и он вызывает эту процедуру в timescaledb.
на сколько я понимаю и мне не изменяет память, заббикс по очистке исторических данных не пересекается с таймскулдиби.
Заббикс просто механически блоки по истечении срока подчищает, а не оптимизирует БД. Я эту настройку делаю сразу при установке заббикса, чтобы не забивать диск лишним хламом и не раздувать базу данных.
источник

AS

Andrey Shmygol in pgsql – PostgreSQL
С рождеством, коллеги. Переезжаю с mysql на pgsql путем конвертации БД. Есть чего почитать по данной тематике?
источник

AS

Andrey Shmygol in pgsql – PostgreSQL
Саму конвертацию выполнил, но код программы потребуется менять
источник

AS

Andrey Shmygol in pgsql – PostgreSQL
С ходу не заработало, pgsql например не любит пустые поля
источник

SE

Sergey Evseev in pgsql – PostgreSQL
Serg
на сколько я понимаю и мне не изменяет память, заббикс по очистке исторических данных не пересекается с таймскулдиби.
Заббикс просто механически блоки по истечении срока подчищает, а не оптимизирует БД. Я эту настройку делаю сразу при установке заббикса, чтобы не забивать диск лишним хламом и не раздувать базу данных.
вы говорите про именно удаление старых чанков. а timescaledb позволяет еще сжимать чанки в которые запись уже точно не пойдет. за счет этого сильно уменьшается их размер и вы экономите IO при чтении из них + прирост скорость чтения
источник

S

Serg in pgsql – PostgreSQL
Sergey Evseev
Странно...
Кстати нашел на гитхабе что при обновлении с 1.7.4 на 2.0.0-rc1 функция add_compress_chunks_policy дропается
ок, спасибо, почитаю. Пока вроде чисто в логе, не валяться ошибки. Погляжу дальше что будет. )))
источник

SE

Sergey Evseev in pgsql – PostgreSQL
Serg
на сколько я понимаю и мне не изменяет память, заббикс по очистке исторических данных не пересекается с таймскулдиби.
Заббикс просто механически блоки по истечении срока подчищает, а не оптимизирует БД. Я эту настройку делаю сразу при установке заббикса, чтобы не забивать диск лишним хламом и не раздувать базу данных.
вы можете, допустим, хранить историю 30 суток, но при этом все чанки старше 7 суток держать в сжатом виде. кстати трендов это вроде тоже касается, во всяком случае их тоже никто не мешает сжимать, например тренды хранить по месяцам и все месяца кроме текущего сжимать
источник

S

Serg in pgsql – PostgreSQL
Sergey Evseev
вы говорите про именно удаление старых чанков. а timescaledb позволяет еще сжимать чанки в которые запись уже точно не пойдет. за счет этого сильно уменьшается их размер и вы экономите IO при чтении из них + прирост скорость чтения
Да, очистка истории - в заббиксе, а таймскул нужен был для сжатия и экономии места имеющейся истории.
источник

SE

Sergey Evseev in pgsql – PostgreSQL
Serg
Да, очистка истории - в заббиксе, а таймскул нужен был для сжатия и экономии места имеющейся истории.
Ну вот как раз таки zabbix у вас вызывает функцию drop_chunks для очистки данных которые пора удалять по вашим настройкам. Это функция timescaledb.
источник

SE

Sergey Evseev in pgsql – PostgreSQL
Serg
Как я понял поддерживает.
Я немного подтюнил десяток параметров в конфиге постгри, в т.ч. max_connections. Сделал его 300. А также подтюнил многопоточность заббикса в конфиге для снятия будущих возможных очередей.
перегрузил демонов постгри и заббикса...
И... ошибки в логах перестали появляться... ))) Сам не не понял, что помогло...)))
Я не уверен что данную проблему настройки PG и Zabbix решили. Возможно позже в логах появится.
источник

SE

Sergey Evseev in pgsql – PostgreSQL
Serg
Добрый день, коллеги!
Смотрю логи postgre: cat /var/lib/pgsql/12/data/log/postgresql-Wed.log и вижу такие ошибки timescaledb как на скрине.
Ставил по мануалу timescaledb-2 на Centos 8 steam + PostgreSQL 12 для zabbix 5.2.
zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix
echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
zcat /usr/share/doc/zabbix-server-pgsql*/timescaledb.sql.gz | sudo -u zabbix psql zabbix
Заббикс вроде завёлся и работает вроде  штатно. Но не дают мне покоя эти ошибки лога. Как с ними бороться, подскажите плиз новичку в постгри?
Если искать в исходниках Zabbix последней версии 5.2.3, то упоминание функции add_compress_chunks_policy встречается только в файле history_compress.c :
static void  hk_check_table_compression_age(const char *table_name, int age)
{
 int  obsolescence_threshold;

 zabbix_log(LOG_LEVEL_DEBUG, "In %s(): table: %s age %d", func, table_name, age);

 if (age != (obsolescence_threshold = hk_get_table_compression_age(table_name)))
 {
   DB_RESULT  res;

   if (0 != obsolescence_threshold)
     DBfree_result(DBselect("select remove_compress_chunks_policy('%s')", table_name));

   zabbix_log(LOG_LEVEL_DEBUG, "adding compression policy to table: %s age %d", table_name, age);

   if (NULL == (res = DBselect("select add_compress_chunks_policy('%s', integer '%d')", table_name, age)))
     zabbix_log(LOG_LEVEL_ERR, "failed to add compression policy to table '%s'", table_name);

   DBfree_result(res);
 }

 zabbix_log(LOG_LEVEL_DEBUG, "End of %s()", func);
}

Если учесть что данная функция удалена из timescaledb 2 то вероятно Zabbix пока данную версию не поддеживает.
источник

SE

Sergey Evseev in pgsql – PostgreSQL
Serg
Добрый день, коллеги!
Смотрю логи postgre: cat /var/lib/pgsql/12/data/log/postgresql-Wed.log и вижу такие ошибки timescaledb как на скрине.
Ставил по мануалу timescaledb-2 на Centos 8 steam + PostgreSQL 12 для zabbix 5.2.
zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix
echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
zcat /usr/share/doc/zabbix-server-pgsql*/timescaledb.sql.gz | sudo -u zabbix psql zabbix
Заббикс вроде завёлся и работает вроде  штатно. Но не дают мне покоя эти ошибки лога. Как с ними бороться, подскажите плиз новичку в постгри?
В исходниках timescaledb 2.0.0 по функцию add_compress_chunks_policy нашел следующее:
CREATE TABLE policy_test_timestamptz(time timestamptz, device_id int, value float);
SELECT table_name FROM create_hypertable('policy_test_timestamptz','time');

ALTER TABLE policy_test_timestamptz SET (timescaledb.compress);

DO LANGUAGE PLPGSQL $$
DECLARE
 ts_version TEXT;
BEGIN

 SELECT extversion INTO ts_version FROM pg_extension WHERE extname = 'timescaledb';

 PERFORM add_reorder_policy('policy_test_timestamptz','policy_test_timestamptz_time_idx');

 -- some policy API functions got renamed for 2.0 so we need to make
 -- sure to use the right name for the version
 IF ts_version < '2.0.0' THEN
   PERFORM add_drop_chunks_policy('policy_test_timestamptz','60d'::interval);
   PERFORM add_compress_chunks_policy('policy_test_timestamptz','10d'::interval);
 ELSE
   PERFORM add_retention_policy('policy_test_timestamptz','60d'::interval);
   PERFORM add_compression_policy('policy_test_timestamptz','10d'::interval);
 END IF;
END
$$;
источник

SE

Sergey Evseev in pgsql – PostgreSQL
Serg
Добрый день, коллеги!
Смотрю логи postgre: cat /var/lib/pgsql/12/data/log/postgresql-Wed.log и вижу такие ошибки timescaledb как на скрине.
Ставил по мануалу timescaledb-2 на Centos 8 steam + PostgreSQL 12 для zabbix 5.2.
zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix
echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
zcat /usr/share/doc/zabbix-server-pgsql*/timescaledb.sql.gz | sudo -u zabbix psql zabbix
Заббикс вроде завёлся и работает вроде  штатно. Но не дают мне покоя эти ошибки лога. Как с ними бороться, подскажите плиз новичку в постгри?
Так что я бы на вашем месте для стабильной работы использовал timescaldb 1.7.4, и потом обновлялся когда Zabbix точно будет поддеживать timescaledb 2.0.0. Пока что уверенности в том что он корректно работает с 2.0.0 нет.
Но, в любом случае, решать вам.

В описании API кстати add_compress_chunks_policy убрана https://docs.timescale.com/latest/api
источник

AM

Alberto Martin in pgsql – PostgreSQL
Hello
источник

AM

Alberto Martin in pgsql – PostgreSQL
I need import csv file into table
источник

S

Serg in pgsql – PostgreSQL
Sergey Evseev
Так что я бы на вашем месте для стабильной работы использовал timescaldb 1.7.4, и потом обновлялся когда Zabbix точно будет поддеживать timescaledb 2.0.0. Пока что уверенности в том что он корректно работает с 2.0.0 нет.
Но, в любом случае, решать вам.

В описании API кстати add_compress_chunks_policy убрана https://docs.timescale.com/latest/api
спасибо за консультацию
источник

SE

Sergey Evseev in pgsql – PostgreSQL
Serg
спасибо за консультацию
Не за что
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
Alberto Martin
I need import csv file into table
https://www.postgresql.org/docs/current/sql-copy.html

COPY country FROM '/usr1/proj/bray/sql/country_data';
источник