Altinity / clickhouse-backup

Tool for easy backup and restore for ClickHouse® using object storage for backup files.
https://altinity.com
Other
1.25k stars 225 forks source link

restore --table parameter,all database and data have being import. #429

Closed zhituanchen closed 2 years ago

zhituanchen commented 2 years ago

Hi: I restore data from backup. The --table parameter doesn't work. And finded all database and data have being import. resotre command:clickhouse-backup restore --table LOG.T_BIZ_MONITOR_TEST --rm my_backup_2022-04-20T18-00-02

clickhouse-backup --version Version: 1.3.2 Git Commit: 891f0e06ed44bb08ce2d6254602756ef69c0817b Build Date: 2022-04-19

log: [root@mytestuse backup]# clickhouse-backup restore --table LOG.T_BIZ_MONITOR_TEST --rm my_backup_2022-04-20T18-00-02 2022/04/21 09:36:24.338695 info SELECT value FROM system.build_options where name='VERSION_INTEGER' 2022/04/21 09:36:24.340970 info SELECT * FROM system.disks; 2022/04/21 09:36:24.345146 info CREATE DATABASE IF NOT EXISTS APM ENGINE = Ordinary 2022/04/21 09:36:24.540434 info CREATE DATABASE IF NOT EXISTS DIM ENGINE = MySQL('10.0.0.26:3306', 'DATA_WORK', 'shc_flink', 'G6mIb!5otj') 2022/04/21 09:36:24.653188 info CREATE DATABASE IF NOT EXISTS EVENT_TRANKING ENGINE = Ordinary 2022/04/21 09:36:24.660078 info CREATE DATABASE IF NOT EXISTS INTEGRATION_MONITOR ENGINE = Ordinary 2022/04/21 09:36:24.666122 info CREATE DATABASE IF NOT EXISTS LOG ENGINE = Ordinary 2022/04/21 09:36:24.671303 info CREATE DATABASE IF NOT EXISTS TEST_DOMAIN ENGINE = Ordinary 2022/04/21 09:36:24.725189 info CREATE DATABASE IF NOT EXISTS _temporary_and_external_tables ENGINE = Memory() 2022/04/21 09:36:24.728173 info CREATE DATABASE IF NOT EXISTS default ENGINE = Ordinary 2022/04/21 09:36:24.730837 info SELECT engine FROM system.databases WHERE name = 'LOG' 2022/04/21 09:36:24.735342 info DROP TABLE IF EXISTS LOG.T_BIZ_MONITOR_TEST 2022/04/21 09:36:24.739180 info CREATE DATABASE IF NOT EXISTS LOG 2022/04/21 09:36:24.742051 info CREATE TABLE LOG.T_BIZ_MONITOR_TEST (FID Int64, FSTATUS Int16, FPAYMODE String, FORDER_ID String, FAMOUNT Decimal(10, 2), FAREA_NAME String, FPRODUCT String, FcreateTime DateTime, FTENANT_ID String, FuserId String) ENGINE = MergeTree() ORDER BY FID SETTINGS index_granularity = 8192 2022/04/21 09:36:24.756554 info SELECT count() FROM system.settings WHERE name = 'show_table_uuid_in_table_create_query_if_not_nil' 2022/04/21 09:36:24.760805 info SELECT name FROM system.databases WHERE engine IN ('MySQL','PostgreSQL') 2022/04/21 09:36:24.765022 info SELECT countIf(name='data_path') is_data_path_present, countIf(name='data_paths') is_data_paths_present, countIf(name='uuid') is_uuid_present, countIf(name='create_table_query') is_create_table_query_present, countIf(name='total_bytes') is_total_bytes_present FROM system.columns WHERE database='system' AND table='tables'

2022/04/21 09:36:24.772450 info SELECT database, name, engine , data_paths , uuid , create_table_query , coalesce(total_bytes, 0) AS total_bytes FROM system.tables WHERE is_temporary = 0 AND match(concat(database,'.',name),'LOG.T_BIZ_MONITOR_TEST') AND database NOT IN ('DIM') SETTINGS show_table_uuid_in_table_create_query_if_not_nil=1 2022/04/21 09:36:24.840226 info SELECT sum(bytes_on_disk) as size FROM system.parts WHERE database='LOG' AND table='T_BIZ_MONITOR_TEST' GROUP BY database, table 2022/04/21 09:36:24.846082 info ALTER TABLE LOG.T_BIZ_MONITOR_TEST ATTACH PART 'all_1_77_3_75' 2022/04/21 09:36:24.849807 info done backup=my_backup_2022-04-20T18-00-02 operation=restore table=LOG.T_BIZ_MONITOR_TEST 2022/04/21 09:36:24.849841 info done backup=my_backup_2022-04-20T18-00-02 duration=96ms operation=restore 2022/04/21 09:36:24.849858 info done backup=my_backup_2022-04-20T18-00-02 operation=restore

Slach commented 2 years ago

As i see from your logs only empty databases was created. and onlye one table data+schema restored.

Do you propose skip database creation?