|
|
@@ -44,8 +44,54 @@ docker-compose -f /opt/docker-compose/dev/docker-compose.yml logs -f clickhouse
|
|
|
docker exec -it clickhouse clickhouse-client --user default --password dev_clickhouse_2026
|
|
|
```
|
|
|
|
|
|
+## Migratsiooninäide: postgres → ClickHouse (paberkrohv)
|
|
|
+
|
|
|
+2026-08-31 viidi `paberkrohv` andmebaas postgresist (100.87.1.24:5432)
|
|
|
+ClickHouse'isse — näide, kuidas hiljem Oracle-baase üle viia.
|
|
|
+
|
|
|
+**Tulemus (read ühtivad):** sorptsioon 48193, sample_weight 2529, sample 1749,
|
|
|
+mixture 386, lot 10, res_users 6, test 7.
|
|
|
+
|
|
|
+### Tüübimapping
|
|
|
+
|
|
|
+| Postgres | ClickHouse |
|
|
|
+|----------|------------|
|
|
|
+| integer | Int32 |
|
|
|
+| numeric | Float64 (testiks OK; täpsuse vajadusel Decimal) |
|
|
|
+| timestamp (ilma tz) | DateTime64(3) |
|
|
|
+| character varying / text | String |
|
|
|
+| boolean | Bool |
|
|
|
+
|
|
|
+### Tabeli loomine (MergeTree — analüütiline mootor)
|
|
|
+
|
|
|
+```sql
|
|
|
+CREATE TABLE paberkrohv.sorptsioon (
|
|
|
+ id Int32, weight Float64, lot Int32, sample Int32, rh_1 Int32, test_id Int32,
|
|
|
+ datetime DateTime64(3), created_at DateTime64(3), created_by Int32
|
|
|
+) ENGINE = MergeTree ORDER BY (sample, lot, datetime);
|
|
|
+```
|
|
|
+
|
|
|
+### Andmete ülekanne (ClickHouse'i `postgresql()` tabelifunktsioon)
|
|
|
+
|
|
|
+```sql
|
|
|
+-- ClickHouse loeb otse postgresist, ilma vahefailita:
|
|
|
+INSERT INTO paberkrohv.sorptsioon
|
|
|
+SELECT * FROM postgresql('postgres_postgis:5432', 'paberkrohv', 'sorptsioon', 'ai_user', 'ai_secure_pass_2026');
|
|
|
+```
|
|
|
+
|
|
|
+Päring peab jooksma ClickHouse'i konteineri seest (võrk `main_ai_network`
|
|
|
+võimaldab `postgres_postgis:5432`). Postgres jääb puutumatuks — ClickHouse on koopia.
|
|
|
+
|
|
|
+### Käsud
|
|
|
+
|
|
|
+```bash
|
|
|
+docker exec -it clickhouse clickhouse-client --user default --password dev_clickhouse_2026 \
|
|
|
+ --query "SELECT count() FROM paberkrohv.sorptsioon"
|
|
|
+```
|
|
|
+
|
|
|
## Märkused
|
|
|
|
|
|
- Pordid valitud konfliktivabaks: 8124 (HTTP), 9004 (native). 8123 = Home Assistant, 9000 = portainer.
|
|
|
- Oracle → ClickHouse: ClickHouse on veerupõhine OLAP; sobib analüüsi/aruandluse koormuste jaoks.
|
|
|
- Oracle'i skeemi/andmete migratsiooni tööriistad vajavad eraldi uurimist (nt `clickhouse-client` + vood, `clickhouse-mysql` (MySQL-ühilduv), ETL).
|
|
|
+ Postgres-migratsioon on eeskujuks: `postgresql()` tabelifunktsioon lihtsustab oluliselt (Oracle'i jaoks
|
|
|
+ tuleb vastav funktsioon/ODBC-vood eraldi uurida).
|