локальные таблицы (mergeTree) и например ODBC, но не отрабатывает на дистрибьютед (смотрит на соседний кластер выделенным юзером) - это баг с предикатами/порядком обхода?
или это ожидаемое поведение и надо заворачивать в костыли?
что значит "не отрабатывает"? когда вы читаете из local таблицы, то видите только часть строк, а когда из distributed, которая читает из этой самой local, все строки?
дистрибьютед смотрит в другой кластер (данные только там, локально их не дублируем)
@den_crane на Вас надежда row policy на таблицы distributed есть лёгкий способ накинуть? (юз-кейс - RLS, т.е. для многих разных пользователей различные правила доступности данных)
я читал, но ничего не понял. что за соседний кластер, на кого наложили полиси, где наложили
-- remote cluster create database test_row_policy on cluster preagg_tier; create table test_row_policy.tab on cluster preagg_tier (app_code String, col1 UInt64) Engine=ReplicatedMergeTree() order by col1 partition by app_code; insert into test_row_policy.tab values ('acme', 111), ('borc', 222); select * from test_row_policy.tab; -- separate machine where intended RLS row-policy create database test_row_policy_on_preagg_tier; create table test_row_policy_on_preagg_tier.tab (app_code String, col1 UInt64) Engine=Distributed('preagg_tier','test_row_policy', 'tab'); create user test_user_check_permissions_1 IDENTIFIED WITH sha256_password BY '123' DEFAULT ROLE ALL; GRANT SELECT ON test_row_policy_on_preagg_tier.tab TO test_user_check_permissions_1; CREATE ROW POLICY OR REPLACE pol__test_user_check_permissions_1__test_row_policy_on_preagg_tier__tab ON test_row_policy_on_preagg_tier.tab FOR SELECT USING app_code in ('acme') AS PERMISSIVE TO test_user_check_permissions_1; -- as user test_user_check_permissions_1 select * from test_row_policy_on_preagg_tier.tab format CSV; -- >> "acme",111 "borc",222 постарался собрать минимально воспроизводимый пример история есть выделенная машина с КХ , часть инфы на ней материализована и на разграничение прав доступа на физические (локальные) таблички работает норм есть необходимость поделиться с пользователями еще даннми с других кластеров (тут↑ - преагг тир; физически прокинуть не получится банально по месту) и тут row policy почему-то не отрабатывает
https://github.com/ClickHouse/ClickHouse/issues/28334
понял, спасибо *схитрить както можно? надстройками через Merge или мож вьюхи с секьюрити=дефайнер появились?
нету, ничего такого нет
понял, спасибо большое
Обсуждают сегодня