1002, host: localhost, port: 8123; Code: 107. DB::ErrnoException: Cannot open file /var/lib/clickhouse/store/67f/67f62a47-c285-4fe4-a7f6-2a47c2853fe4/asynchronous_inserts.sql, errno: 2, strerror: No such file or directory. (FILE_DOESNT_EXIST) (version 21.11.5.33 (official build)).
Возникает при использовании MaterializedPostgreSQL.
Смена версий CH не помогает.
возникает в каком смысле? Где вы эту ошибку получаете?
Использую следующее выражение для создания реплики. CREATE DATABASE my_db_replica ENGINE = MaterializedPostgreSQL('127.0.0.1:5432', 'my_db', 'user', 'password'); Запросы выполняю в DataGrip и ошибку получаю там же. Но эта ошибка не является результатом выполнения. Это лог после результата. Почему меня это волнует: Когда возникает эта ошибка реплицируются не все таблицы. Если этой ошибки нет, то и все таблицы в реплике присутствуют. Было предположение, что это связано с количеством строк в таблице (потому что отсутствовали именно большие таблицы). Но очистка соответствующих таблиц в ПГ и пересоздание реплики давало те же результаты. Пробовал выполнять создание реплики из clickhouse-client консоли, но результат тот же. Только не отображается лог ошибки (наверняка, где-то в логах самого сервера он есть).
это баг КХ + datagrip, вообще не имеет отношения к MaterializedPostgreSQL datagrip зачем-то вызывает show create table system.asynchronous_inserts это виртуальная таблица, для нее забыли сделать show create table и это уже починено.
Понял. Но проблема остаётся: Не все таблицы реплицируются. С чем это может быть связано?
Тут есть разработчики CH? Или только issue на гитхабе заводить?
есть иногда, они не успевают читать такой поток, заводить в гитхабе.
Что помогло в моём случае: -- postgresql ALTER TABLE some_table REPLICA IDENTITY USING INDEX some_table_id_uindex; для таблицы, которая не реплицировалась. Вышел на это через попытку репликации конкретной таблицы. Реплика создавалась, но после первичного заполнения подтягивались только INSERT'ы. Изменение типа идентификации на USING INDEX решило проблему с UPDATE'ами и DELETE'ами. Скорее всего, до этого тип был DEFAULT и, видимо, он подходит не для всех таблиц, хотя PRIMARY KEY присутствовал (замена на FULL тоже не давала результатов).
Добрый день. Возможно ли каким-то образом обновлять данные в Materialized View, при операциях UPDATE в исходной таблице?
Обсуждают сегодня