Способ именно поменять первичный ключ найден не был, однако сработал способ с созданием новой таблицы и переносом туда данных из старой. Примерный код:
---- Создаем новую таблицу с верным именем поля.
create table IF NOT EXISTS my_table_new
(
key_field_new,
...
)
engine = ReplicatedMergeTree('/clickhouse/tables/.../{shard}', '{replica}')
ORDER BY key_field_new
SETTINGS index_granularity = 8192;
---- Переносим данные из старой таблицы в новую.
INSERT INTO my_table_new (
key_field_new,
...
)
SELECT
key_field,
...
FROM my_table;
---- Удаляем старую таблицу.
DROP TABLE my_table;
---- Переименовываем новую таблицу.
RENAME TABLE my_table_new TO my_table;
Если есть MV, их нужно удалить и создать заново, так как там тоже будет старое имя ключа.