From b74382e6362e70537e30de426d6de33fa53ebd7c Mon Sep 17 00:00:00 2001
From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com>
Date: Tue, 9 Jun 2026 21:43:48 +0000
Subject: [PATCH] refactor: remove duplicate H1s, sync frontmatter titles from
H1
---
concepts/best-practices/index.mdx | 4 +---
concepts/features/backup-restore/azure-blob-storage.mdx | 4 +---
concepts/features/backup-restore/local-disk.mdx | 4 +---
concepts/features/backup-restore/s3-endpoint.mdx | 4 +---
concepts/features/dictionaries/index.mdx | 4 +---
concepts/features/interfaces/http.mdx | 4 +---
concepts/features/interfaces/mysql.mdx | 4 +---
concepts/features/interfaces/postgresql.mdx | 4 +---
concepts/features/interfaces/ssh.mdx | 4 +---
concepts/features/operations/delete/ttl.mdx | 4 +---
.../features/security/tls/configuring-tls-acme-client.mdx | 4 +---
get-started/migrate/bigquery/overview.mdx | 4 +---
get-started/migrate/oss-to-cloud/clickhouse-to-cloud.mdx | 4 +---
.../migrate/other-methods/object-storage-to-clickhouse.mdx | 4 +---
get-started/migrate/snowflake/migration-guide.mdx | 4 +---
get-started/migrate/snowflake/overview.mdx | 4 +---
guides/clickhouse/data-formats/json/schema.mdx | 4 +---
.../stored-procedures-and-prepared-statements.mdx | 4 +---
.../examples/aggregate-function-combinators/avgMergeState.mdx | 4 +---
.../performance-and-monitoring/query-optimization.mdx | 4 +---
guides/use-cases/ai-ml/MCP/ai-agent-libraries/copilotkit.mdx | 4 +---
guides/use-cases/ai-ml/MCP/anythingllm.mdx | 4 +---
guides/use-cases/ai-ml/MCP/claude-desktop.mdx | 4 +---
guides/use-cases/ai-ml/MCP/janai.mdx | 4 +---
guides/use-cases/ai-ml/MCP/librechat.mdx | 4 +---
guides/use-cases/ai-ml/MCP/open-webui.mdx | 4 +---
guides/use-cases/ai-ml/data-exploration/jupyter-notebook.mdx | 4 +---
.../use-cases/data-warehousing/getting-started/overview.mdx | 4 +---
guides/use-cases/observability/build-your-own/grafana.mdx | 4 +---
.../build-your-own/integrating-opentelemetry.mdx | 4 +---
.../use-cases/observability/build-your-own/introduction.mdx | 4 +---
.../use-cases/observability/build-your-own/schema-design.mdx | 4 +---
guides/use-cases/observability/cloud-monitoring.mdx | 4 +---
guides/use-cases/observability/self-managed-monitoring.mdx | 4 +---
integrations/clickpipes/bigquery/get-started.mdx | 4 +---
integrations/clickpipes/kafka/create-kafka-clickpipe.mdx | 4 +---
.../clickpipes/object-storage/amazon-s3/get-started.mdx | 4 +---
.../object-storage/google-cloud-storage/get-started.mdx | 4 +---
integrations/clickpipes/postgres/connecting-to-postgresql.mdx | 4 +---
integrations/clickpipes/postgres/index.mdx | 4 +---
.../postgres/source/azure-flexible-server-postgres.mdx | 4 +---
.../data-ingestion/apache-spark/spark-native-connector.mdx | 4 +---
.../azure/azure-data-factory/using-azureblobstorage.mdx | 4 +---
.../azure/azure-data-factory/using-http-interface.mdx | 4 +---
.../connectors/data-ingestion/etl-tools/dbt/index.mdx | 4 +---
.../etl-tools/dbt/materialization-materialized-view.mdx | 4 +---
.../data-ingestion/kafka/confluent/custom-connector.mdx | 4 +---
.../data-ingestion/kafka/confluent/kafka-connect-http.mdx | 3 +--
.../connectors/data-ingestion/kafka/kafka-connect-jdbc.mdx | 4 +---
.../data-ingestion/streamkap/sql-server-clickhouse.mdx | 4 +---
.../connectors/data-integrations/integrations/splunk.mdx | 4 +---
integrations/connectors/data-sources/mysql.mdx | 4 +---
.../community-integrations/fabi-and-clickhouse.mdx | 4 +---
.../community-integrations/holistics-and-clickhouse.mdx | 4 +---
.../community-integrations/rocketbi-and-clickhouse.mdx | 4 +---
.../data-visualization/lightdash-and-clickhouse.mdx | 4 +---
integrations/language-clients/csharp/overview.mdx | 4 +---
integrations/language-clients/java/index.mdx | 4 +---
integrations/language-clients/python/index.mdx | 4 +---
products/chdb/datastore/index.mdx | 4 +---
products/chdb/install/python.mdx | 3 +--
products/cloud/features/admin-features/api/openapi.mdx | 4 +---
products/cloud/features/infrastructure/shared-merge-tree.mdx | 4 +---
products/cloud/features/monitoring/cloud-console.mdx | 4 +---
products/cloud/features/monitoring/prometheus.mdx | 4 +---
products/cloud/features/monitoring/system-tables.mdx | 4 +---
.../cloud/features/sql-console-features/query-endpoints.mdx | 4 +---
.../cloud/features/sql-console-features/query-insights.mdx | 4 +---
products/cloud/features/sql-console-features/sql-console.mdx | 4 +---
.../backups/bring-your-own-backup/backup-restore-from-ui.mdx | 4 +---
.../bring-your-own-backup/backup-restore-using-commands.mdx | 4 +---
.../export-backups-to-own-cloud-account.mdx | 3 +--
products/cloud/guides/backups/review-and-restore-backups.mdx | 4 +---
products/cloud/guides/best-practices/index.mdx | 4 +---
.../cloud/guides/migration/oss-to-cloud-backup-restore.mdx | 4 +---
products/cloud/guides/migration/upload-a-csv-file.mdx | 4 +---
.../cloud/guides/security/audit-logging/console-audit-log.mdx | 4 +---
.../manage-sql-console-role-assignments.mdx | 4 +---
.../private-networking/gcp-private-service-connect.mdx | 4 +---
products/cloud/guides/sql-console/query-endpoints.mdx | 4 +---
.../clickpipes-for-streaming-and-object-storage.mdx | 4 +---
products/cloud/reference/data-resiliency.mdx | 4 +---
products/cloud/reference/security/compliance-overview.mdx | 3 +--
products/kubernetes-operator/guides/configuration.mdx | 4 +---
products/kubernetes-operator/guides/introduction.mdx | 4 +---
products/managed-postgres/migrations/clickhouse-cloud.mdx | 4 +---
products/managed-postgres/migrations/logical-replication.mdx | 3 +--
products/managed-postgres/migrations/peerdb.mdx | 3 +--
products/managed-postgres/migrations/pg_dump-pg_restore.mdx | 3 +--
products/managed-postgres/monitoring/dashboard.mdx | 4 +---
products/managed-postgres/monitoring/metrics.mdx | 4 +---
products/managed-postgres/monitoring/prometheus.mdx | 4 +---
products/managed-postgres/openapi.mdx | 4 +---
products/managed-postgres/quickstart.mdx | 4 +---
reference/datalakes.mdx | 4 +---
reference/engines/database-engines/mysql.mdx | 4 +---
reference/engines/database-engines/shared.mdx | 4 +---
reference/engines/table-engines/integrations/time-series.mdx | 4 +---
reference/engines/table-engines/log-family/index.mdx | 4 +---
reference/formats/index.mdx | 4 +---
reference/functions/regular-functions/nlp-functions.mdx | 4 +---
reference/functions/regular-functions/udf.mdx | 4 +---
reference/functions/regular-functions/uuid-functions.mdx | 4 +---
reference/functions/regular-functions/wasm_udf.mdx | 4 +---
reference/functions/table-functions/azureBlobStorage.mdx | 4 +---
reference/functions/table-functions/file.mdx | 4 +---
reference/functions/table-functions/filesystem.mdx | 4 +---
reference/functions/table-functions/hdfs.mdx | 4 +---
reference/functions/table-functions/paimon.mdx | 4 +---
reference/functions/table-functions/paimonCluster.mdx | 4 +---
reference/functions/table-functions/url.mdx | 4 +---
reference/functions/table-functions/ytsaurus.mdx | 4 +---
resources/changelogs/cloud/release-notes/24_05.mdx | 4 +---
.../cloud-services/custom-dns-alias-for-instance.mdx | 3 +--
.../data-import-export/kafka-to-clickhouse-setup.mdx | 4 +---
.../knowledge-base/general-faqs/columnar-database.mdx | 4 +---
snippets/connecting-to-postgresql.mdx | 4 +---
117 files changed, 117 insertions(+), 343 deletions(-)
diff --git a/concepts/best-practices/index.mdx b/concepts/best-practices/index.mdx
index 5068976c1..f7b7b4721 100644
--- a/concepts/best-practices/index.mdx
+++ b/concepts/best-practices/index.mdx
@@ -1,7 +1,7 @@
---
slug: /best-practices
keywords: ['Cloud', 'Primary key', 'Ordering key', 'Materialized Views', 'Best Practices', 'Bulk Inserts', 'Asynchronous Inserts', 'Avoid Mutations', 'Avoid nullable Columns', 'Avoid Optimize Final', 'Partitioning Key']
-title: 'Overview'
+title: Best Practices in ClickHouse
hide_title: true
description: 'Landing page for Best Practices section in ClickHouse'
doc_type: 'landing-page'
@@ -9,8 +9,6 @@ doc_type: 'landing-page'
import TableOfContents from '/snippets/_table_of_contents.mdx';
-# Best Practices in ClickHouse {#best-practices-in-clickhouse}
-
This section provides the best practices you will want to follow to get the most out of ClickHouse.
diff --git a/concepts/features/backup-restore/azure-blob-storage.mdx b/concepts/features/backup-restore/azure-blob-storage.mdx
index b0e1661b0..57e319bba 100644
--- a/concepts/features/backup-restore/azure-blob-storage.mdx
+++ b/concepts/features/backup-restore/azure-blob-storage.mdx
@@ -2,14 +2,12 @@
description: 'Details backup/restore to or from an Azure Blob Storage endpoint'
sidebarTitle: 'AzureBlobStorage'
slug: /operations/backup/azure
-title: 'Backup and restore to/from Azure Blob Storage'
+title: BACKUP/RESTORE to or from Azure Blob Storage
doc_type: 'guide'
---
import Syntax from '/snippets/_syntax.mdx';
-# BACKUP/RESTORE to or from Azure Blob Storage {#backup-to-azure-blob-storage}
-
## Syntax {#syntax}
diff --git a/concepts/features/backup-restore/local-disk.mdx b/concepts/features/backup-restore/local-disk.mdx
index cf2551a83..2bf27ecca 100644
--- a/concepts/features/backup-restore/local-disk.mdx
+++ b/concepts/features/backup-restore/local-disk.mdx
@@ -2,15 +2,13 @@
description: 'Details backup/restore to or from a local disk'
sidebarTitle: 'Local disk / S3 disk'
slug: /operations/backup/disk
-title: 'Backup and restore in ClickHouse'
+title: BACKUP / RESTORE to disk
doc_type: 'guide'
---
import ExampleSetup from '/snippets/_example_setup.mdx';
import Syntax from '/snippets/_syntax.mdx';
-# BACKUP / RESTORE to disk {#backup-to-a-local-disk}
-
## Syntax {#syntax}
diff --git a/concepts/features/backup-restore/s3-endpoint.mdx b/concepts/features/backup-restore/s3-endpoint.mdx
index 037b6838d..180b03e18 100644
--- a/concepts/features/backup-restore/s3-endpoint.mdx
+++ b/concepts/features/backup-restore/s3-endpoint.mdx
@@ -2,14 +2,12 @@
description: 'Overview of ClickHouse backup and restore'
sidebarTitle: 'S3 endpoint'
slug: /operations/backup/s3_endpoint
-title: 'Backup and restore to/from an S3 endpoint'
+title: BACKUP / RESTORE to or from an S3 endpoint
doc_type: 'guide'
---
import Syntax from '/snippets/_syntax.mdx';
-# BACKUP / RESTORE to or from an S3 endpoint {#backup-to-a-local-disk}
-
This article covers backing up or restoring backups to/from an S3 bucket
via an S3 endpoint.
diff --git a/concepts/features/dictionaries/index.mdx b/concepts/features/dictionaries/index.mdx
index 9f3d124e1..ab856f876 100644
--- a/concepts/features/dictionaries/index.mdx
+++ b/concepts/features/dictionaries/index.mdx
@@ -1,6 +1,6 @@
---
slug: /dictionary
-title: 'Overview'
+title: Dictionary
keywords: ['dictionary', 'dictionaries']
description: 'A dictionary provides a key-value representation of data for fast lookups.'
doc_type: 'guide'
@@ -8,8 +8,6 @@ doc_type: 'guide'
import { Image } from "/snippets/components/Image.jsx";
-# Dictionary
-
A dictionary in ClickHouse provides an in-memory [key-value](https://en.wikipedia.org/wiki/Key%E2%80%93value_database) representation of data from various [internal and external sources](/reference/statements/create/dictionary/sources/overview#dictionary-sources), optimizing for super-low latency lookup queries.
Dictionaries are useful for:
diff --git a/concepts/features/interfaces/http.mdx b/concepts/features/interfaces/http.mdx
index 24810d951..e69d6d964 100644
--- a/concepts/features/interfaces/http.mdx
+++ b/concepts/features/interfaces/http.mdx
@@ -3,14 +3,12 @@ description: 'Documentation for the HTTP interface in ClickHouse, which provides
API access to ClickHouse from any platform and programming language'
sidebarTitle: 'HTTP interface'
slug: /interfaces/http
-title: 'HTTP interface'
+title: HTTP Interface
doc_type: 'reference'
---
import { Image } from "/snippets/components/Image.jsx";
-# HTTP Interface
-
## Prerequisites {#prerequisites}
For the examples in this article you will need:
diff --git a/concepts/features/interfaces/mysql.mdx b/concepts/features/interfaces/mysql.mdx
index ef0172cda..b8e96adbf 100644
--- a/concepts/features/interfaces/mysql.mdx
+++ b/concepts/features/interfaces/mysql.mdx
@@ -3,14 +3,12 @@ description: 'Documentation for the MySQL protocol interface in ClickHouse, allo
MySQL clients to connect to ClickHouse'
sidebarTitle: 'MySQL interface'
slug: /interfaces/mysql
-title: 'MySQL interface'
+title: MySQL Interface
doc_type: 'guide'
---
import { Image } from "/snippets/components/Image.jsx";
-# MySQL Interface
-
ClickHouse supports the MySQL wire protocol. This allows certain clients that don't have native ClickHouse connectors leverage the MySQL protocol instead, and it has been validated with the following BI tools:
- [Looker Studio](/integrations/connectors/data-visualization/looker-studio-and-clickhouse)
diff --git a/concepts/features/interfaces/postgresql.mdx b/concepts/features/interfaces/postgresql.mdx
index dd4c5af93..4d6a71928 100644
--- a/concepts/features/interfaces/postgresql.mdx
+++ b/concepts/features/interfaces/postgresql.mdx
@@ -2,14 +2,12 @@
description: 'Documentation for the PostgreSQL wire protocol interface in ClickHouse'
sidebarTitle: 'PostgreSQL interface'
slug: /interfaces/postgresql
-title: 'PostgreSQL interface'
+title: PostgreSQL Interface
doc_type: 'reference'
---
import CloudNotSupportedBadge from "/snippets/components/CloudNotSupportedBadge/CloudNotSupportedBadge.jsx";
-# PostgreSQL Interface
-
diff --git a/concepts/features/interfaces/ssh.mdx b/concepts/features/interfaces/ssh.mdx
index 772f377fe..26ba8080c 100644
--- a/concepts/features/interfaces/ssh.mdx
+++ b/concepts/features/interfaces/ssh.mdx
@@ -3,15 +3,13 @@ description: 'Documentation for the SSH interface in ClickHouse'
keywords: ['client', 'ssh', 'putty']
sidebarTitle: 'SSH interface'
slug: /interfaces/ssh
-title: 'SSH interface'
+title: SSH interface with PTY
doc_type: 'reference'
---
import ExperimentalBadge from "/snippets/components/ExperimentalBadge/ExperimentalBadge.jsx";
import CloudNotSupportedBadge from "/snippets/components/CloudNotSupportedBadge/CloudNotSupportedBadge.jsx";
-# SSH interface with PTY
-
diff --git a/concepts/features/operations/delete/ttl.mdx b/concepts/features/operations/delete/ttl.mdx
index aaa8f956f..1c108f762 100644
--- a/concepts/features/operations/delete/ttl.mdx
+++ b/concepts/features/operations/delete/ttl.mdx
@@ -3,15 +3,13 @@ slug: /guides/developer/ttl
sidebarTitle: 'TTL (Time to Live)'
keywords: ['ttl', 'time to live', 'clickhouse', 'old', 'data']
description: 'TTL (time-to-live) refers to the capability of having rows or columns moved, deleted, or rolled up after a certain interval of time has passed.'
-title: 'Manage data with TTL (Time-to-live)'
+title: Manage data with TTL (time-to-live)
show_related_blogs: true
doc_type: 'guide'
---
import CloudNotSupportedBadge from "/snippets/components/CloudNotSupportedBadge/CloudNotSupportedBadge.jsx";
-# Manage data with TTL (time-to-live)
-
## Overview of TTL {#overview-of-ttl}
TTL (time-to-live) refers to the capability of having rows or columns moved, deleted, or rolled up after a certain interval of time has passed. While the expression "time-to-live" sounds like it only applies to deleting old data, TTL has several use cases:
diff --git a/concepts/features/security/tls/configuring-tls-acme-client.mdx b/concepts/features/security/tls/configuring-tls-acme-client.mdx
index 9b75cb0b8..3391f9275 100644
--- a/concepts/features/security/tls/configuring-tls-acme-client.mdx
+++ b/concepts/features/security/tls/configuring-tls-acme-client.mdx
@@ -1,7 +1,7 @@
---
slug: /guides/sre/configuring-tls-acme-client
sidebarTitle: 'Configuring automatic TLS provisioning via ACME'
-title: 'Configuring ACME client'
+title: Configuring automatic TLS provisioning via ACME
description: 'This guide provides simple and minimal settings to configure ClickHouse to use OpenSSL certificates to validate connections.'
keywords: ['ACME configuration', 'TLS setup', 'OpenSSL certificates', 'secure connections', 'SRE guide', 'Let`s Encrypt']
doc_type: 'guide'
@@ -12,8 +12,6 @@ import SelfManaged from '/snippets/_self_managed_only_automated.mdx';
import { Image } from "/snippets/components/Image.jsx";
import ExperimentalBadge from "/snippets/components/ExperimentalBadge/ExperimentalBadge.jsx";
-# Configuring automatic TLS provisioning via ACME
-
diff --git a/get-started/migrate/bigquery/overview.mdx b/get-started/migrate/bigquery/overview.mdx
index afa98b84d..c508806f0 100644
--- a/get-started/migrate/bigquery/overview.mdx
+++ b/get-started/migrate/bigquery/overview.mdx
@@ -1,5 +1,5 @@
---
-title: 'BigQuery vs ClickHouse Cloud'
+title: Comparing ClickHouse Cloud and BigQuery
slug: /migrations/bigquery/biquery-vs-clickhouse-cloud
description: 'How BigQuery differs from ClickHouse Cloud'
keywords: ['BigQuery']
@@ -10,8 +10,6 @@ doc_type: 'guide'
import { Image } from "/snippets/components/Image.jsx";
-# Comparing ClickHouse Cloud and BigQuery
-
## Resource organization {#resource-organization}
The way resources are organized in ClickHouse Cloud is similar to [BigQuery's resource hierarchy](https://cloud.google.com/bigquery/docs/resource-hierarchy). We describe specific differences below based on the following diagram showing the ClickHouse Cloud resource hierarchy:
diff --git a/get-started/migrate/oss-to-cloud/clickhouse-to-cloud.mdx b/get-started/migrate/oss-to-cloud/clickhouse-to-cloud.mdx
index cb62c214d..81d840c6f 100644
--- a/get-started/migrate/oss-to-cloud/clickhouse-to-cloud.mdx
+++ b/get-started/migrate/oss-to-cloud/clickhouse-to-cloud.mdx
@@ -1,7 +1,7 @@
---
sidebarTitle: 'Using remoteSecure'
slug: /cloud/migration/clickhouse-to-cloud
-title: 'Migrating between self-managed ClickHouse and ClickHouse Cloud'
+title: Migrating between self-managed ClickHouse and ClickHouse Cloud using remoteSecure
description: 'Page describing how to migrate between self-managed ClickHouse and ClickHouse Cloud'
doc_type: 'guide'
keywords: ['migration', 'ClickHouse Cloud', 'OSS', 'Migrate self-managed to Cloud']
@@ -12,8 +12,6 @@ import AddARemoteSystem from '/snippets/_add_remote_ip_access_list_detail.mdx';
import CompatibilityNote from '/snippets/compatibility.mdx';
-# Migrating between self-managed ClickHouse and ClickHouse Cloud using remoteSecure
-
This guide shows you how to migrate from a self-managed ClickHouse server to ClickHouse Cloud, and also how to migrate between ClickHouse Cloud services.
diff --git a/get-started/migrate/other-methods/object-storage-to-clickhouse.mdx b/get-started/migrate/other-methods/object-storage-to-clickhouse.mdx
index 41e14f5b6..c3f08e720 100644
--- a/get-started/migrate/other-methods/object-storage-to-clickhouse.mdx
+++ b/get-started/migrate/other-methods/object-storage-to-clickhouse.mdx
@@ -1,5 +1,5 @@
---
-title: 'Using object storage'
+title: Move data from cloud object storage to ClickHouse Cloud
description: 'Moving data from object storage to ClickHouse Cloud'
keywords: ['object storage', 's3', 'azure blob', 'gcs', 'migration']
slug: /integrations/migration/object-storage-to-clickhouse
@@ -8,8 +8,6 @@ doc_type: 'guide'
import { Image } from "/snippets/components/Image.jsx";
-# Move data from cloud object storage to ClickHouse Cloud
-
If you use a Cloud Object Storage as a data lake and wish to import this data into ClickHouse Cloud,
diff --git a/get-started/migrate/snowflake/migration-guide.mdx b/get-started/migrate/snowflake/migration-guide.mdx
index 92e45812f..4aa50505f 100644
--- a/get-started/migrate/snowflake/migration-guide.mdx
+++ b/get-started/migrate/snowflake/migration-guide.mdx
@@ -3,15 +3,13 @@ sidebarTitle: 'Migration guide'
slug: /migrations/snowflake
description: 'Migrating from Snowflake to ClickHouse'
keywords: ['Snowflake']
-title: 'Migrating from Snowflake to ClickHouse'
+title: Migrate from Snowflake to ClickHouse
show_related_blogs: false
doc_type: 'guide'
---
import { Image } from "/snippets/components/Image.jsx";
-# Migrate from Snowflake to ClickHouse
-
> This guide shows you how to migrate data from Snowflake to ClickHouse.
Migrating data between Snowflake and ClickHouse requires the use of an object store,
diff --git a/get-started/migrate/snowflake/overview.mdx b/get-started/migrate/snowflake/overview.mdx
index f099b94b8..ade1ed610 100644
--- a/get-started/migrate/snowflake/overview.mdx
+++ b/get-started/migrate/snowflake/overview.mdx
@@ -3,15 +3,13 @@ sidebarTitle: 'Overview'
slug: /migrations/snowflake-overview
description: 'Migrating from Snowflake to ClickHouse'
keywords: ['Snowflake']
-title: 'Migrate from Snowflake to ClickHouse'
+title: Snowflake to ClickHouse migration
show_related_blogs: true
doc_type: 'guide'
---
import { Image } from "/snippets/components/Image.jsx";
-# Snowflake to ClickHouse migration
-
> This document provides an introduction to migrating data from Snowflake to ClickHouse.
Snowflake is a cloud data warehouse primarily focused on migrating legacy on-premise
diff --git a/guides/clickhouse/data-formats/json/schema.mdx b/guides/clickhouse/data-formats/json/schema.mdx
index 1bf897aa3..43308aff7 100644
--- a/guides/clickhouse/data-formats/json/schema.mdx
+++ b/guides/clickhouse/data-formats/json/schema.mdx
@@ -1,5 +1,5 @@
---
-title: 'Designing JSON schema'
+title: Designing your schema
slug: /integrations/data-formats/json/schema
description: 'How to optimally design JSON schemas'
keywords: ['json', 'clickhouse', 'inserting', 'loading', 'formats', 'schema', 'structured', 'semi-structured']
@@ -9,8 +9,6 @@ doc_type: 'guide'
import { Image } from "/snippets/components/Image.jsx";
-# Designing your schema
-
While [schema inference](/guides/clickhouse/data-formats/json/inference) can be used to establish an initial schema for JSON data and query JSON data files in place, e.g., in S3, you should aim to establish an optimized versioned schema for your data. We discuss the recommended approach for modeling JSON structures below.
## Static vs dynamic JSON {#static-vs-dynamic-json}
diff --git a/guides/clickhouse/data-modelling/stored-procedures-and-prepared-statements.mdx b/guides/clickhouse/data-modelling/stored-procedures-and-prepared-statements.mdx
index 359363982..69262e0d2 100644
--- a/guides/clickhouse/data-modelling/stored-procedures-and-prepared-statements.mdx
+++ b/guides/clickhouse/data-modelling/stored-procedures-and-prepared-statements.mdx
@@ -3,12 +3,10 @@ sidebarTitle: 'Stored procedures & query parameters'
keywords: ['clickhouse', 'stored procedures', 'prepared statements', 'query parameters', 'UDF', 'parameterized views']
description: 'Guide on stored procedures, prepared statements, and query parameters in ClickHouse'
slug: /guides/developer/stored-procedures-and-prepared-statements
-title: 'Stored procedures and query parameters'
+title: Stored procedures and query parameters in ClickHouse
doc_type: 'guide'
---
-# Stored procedures and query parameters in ClickHouse
-
If you're coming from a traditional relational database, you may be looking for stored procedures and prepared statements in ClickHouse.
This guide explains ClickHouse's approach to these concepts and provides recommended alternatives.
diff --git a/guides/clickhouse/examples/aggregate-function-combinators/avgMergeState.mdx b/guides/clickhouse/examples/aggregate-function-combinators/avgMergeState.mdx
index 9fee1b078..fb587cb9f 100644
--- a/guides/clickhouse/examples/aggregate-function-combinators/avgMergeState.mdx
+++ b/guides/clickhouse/examples/aggregate-function-combinators/avgMergeState.mdx
@@ -1,14 +1,12 @@
---
slug: '/examples/aggregate-function-combinators/avgMergeState'
-title: 'avgMergeState'
+title: avgMergeState
description: 'Example of using the avgMergeState combinator'
keywords: ['avg', 'MergeState', 'combinator', 'examples', 'avgMergeState']
sidebarTitle: 'avgMergeState'
doc_type: 'reference'
---
-# avgMergeState {#avgMergeState}
-
## Description {#description}
The [`MergeState`](/reference/functions/aggregate-functions/combinators#-state) combinator
diff --git a/guides/clickhouse/performance-and-monitoring/query-optimization.mdx b/guides/clickhouse/performance-and-monitoring/query-optimization.mdx
index a8aafd3d8..20fcc6c9d 100644
--- a/guides/clickhouse/performance-and-monitoring/query-optimization.mdx
+++ b/guides/clickhouse/performance-and-monitoring/query-optimization.mdx
@@ -1,7 +1,7 @@
---
slug: /optimize/query-optimization
sidebarTitle: 'Query optimization'
-title: 'Guide for query optimization'
+title: A simple guide for query optimization
description: 'A simple guide for query optimization that describe common path to improve query performance'
doc_type: 'guide'
keywords: ['query optimization', 'performance', 'best practices', 'query tuning', 'efficiency']
@@ -9,8 +9,6 @@ keywords: ['query optimization', 'performance', 'best practices', 'query tuning'
import { Image } from "/snippets/components/Image.jsx";
-# A simple guide for query optimization
-
This section aims to illustrate through common scenarios how to use different performance and optimization techniques, such as [analyzer](/guides/clickhouse/performance-and-monitoring/analyzer), [query profiling](/concepts/features/performance/troubleshoot/sampling-query-profiler) or [avoid nullable Columns](/concepts/best-practices/avoidnullablecolumns), in order to improve your ClickHouse query performances.
## Understand query performance {#understand-query-performance}
diff --git a/guides/use-cases/ai-ml/MCP/ai-agent-libraries/copilotkit.mdx b/guides/use-cases/ai-ml/MCP/ai-agent-libraries/copilotkit.mdx
index 55742902e..d217f541e 100644
--- a/guides/use-cases/ai-ml/MCP/ai-agent-libraries/copilotkit.mdx
+++ b/guides/use-cases/ai-ml/MCP/ai-agent-libraries/copilotkit.mdx
@@ -1,7 +1,7 @@
---
slug: /use-cases/AI/MCP/ai-agent-libraries/copilotkit
sidebarTitle: 'Integrate CopilotKit'
-title: 'How to build an AI Agent with CopilotKit and the ClickHouse MCP server'
+title: Run the application
description: 'Learn how to build an agentic application using data stored in ClickHouse with ClickHouse MCP and CopilotKit'
keywords: ['ClickHouse', 'MCP', 'copilotkit']
show_related_blogs: true
@@ -80,8 +80,6 @@ own ClickHouse cluster by setting the following environment variables:
- `CLICKHOUSE_PASSWORD`
- `CLICKHOUSE_SECURE`
-# Run the application {#run-the-application}
-
Run `npm run dev` to start the development server.
You can test the Agent using prompt like:
diff --git a/guides/use-cases/ai-ml/MCP/anythingllm.mdx b/guides/use-cases/ai-ml/MCP/anythingllm.mdx
index afe048437..b7c3fb010 100644
--- a/guides/use-cases/ai-ml/MCP/anythingllm.mdx
+++ b/guides/use-cases/ai-ml/MCP/anythingllm.mdx
@@ -1,7 +1,7 @@
---
slug: /use-cases/AI/MCP/anythingllm
sidebarTitle: 'Integrate AnythingLLM'
-title: 'Set up ClickHouse MCP server with AnythingLLM and ClickHouse Cloud'
+title: Using ClickHouse MCP server with AnythingLLM
description: 'This guide explains how to set up AnythingLLM with a ClickHouse MCP server using Docker.'
keywords: ['AI', 'AnythingLLM', 'MCP']
show_related_blogs: true
@@ -10,8 +10,6 @@ doc_type: 'guide'
import { Image } from "/snippets/components/Image.jsx";
-# Using ClickHouse MCP server with AnythingLLM
-
> This guide explains how to set up [AnythingLLM](https://anythingllm.com/) with a ClickHouse MCP server using Docker
> and connect it to the ClickHouse example datasets.
diff --git a/guides/use-cases/ai-ml/MCP/claude-desktop.mdx b/guides/use-cases/ai-ml/MCP/claude-desktop.mdx
index dff9fe0f0..8c6fad504 100644
--- a/guides/use-cases/ai-ml/MCP/claude-desktop.mdx
+++ b/guides/use-cases/ai-ml/MCP/claude-desktop.mdx
@@ -1,7 +1,7 @@
---
slug: /use-cases/AI/MCP/claude-desktop
sidebarTitle: 'Integrate Claude Desktop'
-title: 'Set up ClickHouse MCP server with Claude Desktop'
+title: Using ClickHouse MCP server with Claude Desktop
description: 'This guide explains how to set up Claude Desktop with a ClickHouse MCP server.'
keywords: ['AI', 'Librechat', 'MCP']
show_related_blogs: true
@@ -10,8 +10,6 @@ doc_type: 'guide'
import { Image } from "/snippets/components/Image.jsx";
-# Using ClickHouse MCP server with Claude Desktop
-
> This guide explains how to set up Claude Desktop with a ClickHouse MCP server using uv
> and connect it to the ClickHouse example datasets.
diff --git a/guides/use-cases/ai-ml/MCP/janai.mdx b/guides/use-cases/ai-ml/MCP/janai.mdx
index b9f0a52c2..34730c244 100644
--- a/guides/use-cases/ai-ml/MCP/janai.mdx
+++ b/guides/use-cases/ai-ml/MCP/janai.mdx
@@ -1,7 +1,7 @@
---
slug: /use-cases/AI/MCP/janai
sidebarTitle: 'Integrate Jan.ai'
-title: 'Set up ClickHouse MCP server with Jan.ai'
+title: Using ClickHouse MCP server with Jan.ai
description: 'This guide explains how to set up Jan.ai with a ClickHouse MCP server.'
keywords: ['AI', 'Jan.ai', 'MCP']
show_related_blogs: true
@@ -10,8 +10,6 @@ doc_type: 'guide'
import { Image } from "/snippets/components/Image.jsx";
-# Using ClickHouse MCP server with Jan.ai
-
> This guide explains how to use the ClickHouse MCP server with [Jan.ai](https://jan.ai/docs).
diff --git a/guides/use-cases/ai-ml/MCP/librechat.mdx b/guides/use-cases/ai-ml/MCP/librechat.mdx
index 979a43f8b..f2a5ea30e 100644
--- a/guides/use-cases/ai-ml/MCP/librechat.mdx
+++ b/guides/use-cases/ai-ml/MCP/librechat.mdx
@@ -1,7 +1,7 @@
---
slug: /use-cases/AI/MCP/librechat
sidebarTitle: 'Integrate LibreChat'
-title: 'Set up ClickHouse MCP server with LibreChat and ClickHouse Cloud'
+title: Using ClickHouse MCP server with LibreChat
description: 'This guide explains how to set up LibreChat with a ClickHouse MCP server using Docker.'
keywords: ['AI', 'Librechat', 'MCP']
show_related_blogs: true
@@ -10,8 +10,6 @@ doc_type: 'guide'
import { Image } from "/snippets/components/Image.jsx";
-# Using ClickHouse MCP server with LibreChat
-
> This guide explains how to set up LibreChat with a ClickHouse MCP server using Docker
> and connect it to the ClickHouse example datasets.
diff --git a/guides/use-cases/ai-ml/MCP/open-webui.mdx b/guides/use-cases/ai-ml/MCP/open-webui.mdx
index 8d8a863d0..c600e0515 100644
--- a/guides/use-cases/ai-ml/MCP/open-webui.mdx
+++ b/guides/use-cases/ai-ml/MCP/open-webui.mdx
@@ -1,7 +1,7 @@
---
slug: /use-cases/AI/MCP/open-webui
sidebarTitle: 'Integrate Open WebUI'
-title: 'Set up ClickHouse MCP server with Open WebUI and ClickHouse Cloud'
+title: Using ClickHouse MCP server with Open WebUI
description: 'This guide explains how to set up Open WebUI with a ClickHouse MCP server using Docker.'
keywords: ['AI', 'Open WebUI', 'MCP']
show_related_blogs: true
@@ -10,8 +10,6 @@ doc_type: 'guide'
import { Image } from "/snippets/components/Image.jsx";
-# Using ClickHouse MCP server with Open WebUI
-
> This guide explains how to set up [Open WebUI](https://github.com/open-webui/open-webui) with a ClickHouse MCP server
> and connect it to the ClickHouse example datasets.
diff --git a/guides/use-cases/ai-ml/data-exploration/jupyter-notebook.mdx b/guides/use-cases/ai-ml/data-exploration/jupyter-notebook.mdx
index 6c1d16555..f2ffa5c99 100644
--- a/guides/use-cases/ai-ml/data-exploration/jupyter-notebook.mdx
+++ b/guides/use-cases/ai-ml/data-exploration/jupyter-notebook.mdx
@@ -1,7 +1,7 @@
---
slug: /use-cases/AI/jupyter-notebook
sidebarTitle: 'Exploring data with Jupyter notebooks and chDB'
-title: 'Exploring data in Jupyter notebooks with chDB'
+title: Exploring data with Jupyter notebooks and chDB
description: 'This guide explains how to setup and use chDB to explore data from ClickHouse Cloud or local files in Jupyer notebooks'
keywords: ['ML', 'Jupyer', 'chDB', 'pandas']
doc_type: 'guide'
@@ -9,8 +9,6 @@ doc_type: 'guide'
import { Image } from "/snippets/components/Image.jsx";
-# Exploring data with Jupyter notebooks and chDB
-
In this guide, you will learn how you can explore a dataset on ClickHouse Cloud data in Jupyter notebook with the help of [chDB](/products/chdb) - a fast in-process SQL OLAP Engine powered by ClickHouse.
**Prerequisites**:
diff --git a/guides/use-cases/data-warehousing/getting-started/overview.mdx b/guides/use-cases/data-warehousing/getting-started/overview.mdx
index 4cfa8fc53..945b4040b 100644
--- a/guides/use-cases/data-warehousing/getting-started/overview.mdx
+++ b/guides/use-cases/data-warehousing/getting-started/overview.mdx
@@ -1,5 +1,5 @@
---
-title: 'Getting started with open table formats'
+title: Getting started with data lakes
sidebarTitle: 'Getting started'
slug: /use-cases/data-lake/getting-started
description: 'A hands-on introduction to querying, accelerating, and writing back data in open table formats with ClickHouse.'
@@ -9,8 +9,6 @@ doc_type: 'guide'
import { Image } from "/snippets/components/Image.jsx";
-# Getting started with data lakes {#data-lake-getting-started}
-
**TL;DR**
diff --git a/guides/use-cases/observability/build-your-own/grafana.mdx b/guides/use-cases/observability/build-your-own/grafana.mdx
index 6c3fe4e7b..66ade5e15 100644
--- a/guides/use-cases/observability/build-your-own/grafana.mdx
+++ b/guides/use-cases/observability/build-your-own/grafana.mdx
@@ -1,5 +1,5 @@
---
-title: 'Using Grafana'
+title: Using Grafana and ClickHouse for Observability
description: 'Using Grafana and ClickHouse for observability'
slug: /observability/grafana
keywords: ['Observability', 'logs', 'traces', 'metrics', 'OpenTelemetry', 'Grafana', 'OTel']
@@ -9,8 +9,6 @@ doc_type: 'guide'
import { Image } from "/snippets/components/Image.jsx";
-# Using Grafana and ClickHouse for Observability
-
Grafana represents the preferred visualization tool for Observability data in ClickHouse. This is achieved using the official ClickHouse plugin for Grafana. You can follow the installation instructions found [here](/integrations/connectors/data-visualization/grafana).
V4 of the plugin makes logs and traces a first-class citizen in a new query builder experience. This minimizes the need for SREs to write SQL queries and simplifies SQL-based Observability, moving the needle forward for this emerging paradigm.
diff --git a/guides/use-cases/observability/build-your-own/integrating-opentelemetry.mdx b/guides/use-cases/observability/build-your-own/integrating-opentelemetry.mdx
index 07e9923fe..e7c196520 100644
--- a/guides/use-cases/observability/build-your-own/integrating-opentelemetry.mdx
+++ b/guides/use-cases/observability/build-your-own/integrating-opentelemetry.mdx
@@ -1,5 +1,5 @@
---
-title: 'Integrating OpenTelemetry'
+title: Integrating OpenTelemetry for data collection
description: 'Integrating OpenTelemetry and ClickHouse for observability'
slug: /observability/integrating-opentelemetry
keywords: ['Observability', 'OpenTelemetry']
@@ -9,8 +9,6 @@ doc_type: 'guide'
import { Image } from "/snippets/components/Image.jsx";
-# Integrating OpenTelemetry for data collection
-
Any Observability solution requires a means of collecting and exporting logs and traces. For this purpose, ClickHouse recommends [the OpenTelemetry (OTel) project](https://opentelemetry.io/).
"OpenTelemetry is an Observability framework and toolkit designed to create and manage telemetry data such as traces, metrics, and logs."
diff --git a/guides/use-cases/observability/build-your-own/introduction.mdx b/guides/use-cases/observability/build-your-own/introduction.mdx
index 0629a6c28..c4ad5c2ea 100644
--- a/guides/use-cases/observability/build-your-own/introduction.mdx
+++ b/guides/use-cases/observability/build-your-own/introduction.mdx
@@ -1,5 +1,5 @@
---
-title: 'Introduction'
+title: Using ClickHouse for observability
description: 'Using ClickHouse as an observability solution'
slug: /use-cases/observability/introduction
keywords: ['observability', 'logs', 'traces', 'metrics', 'OpenTelemetry', 'Grafana', 'OTel']
@@ -9,8 +9,6 @@ doc_type: 'guide'
import { Image } from "/snippets/components/Image.jsx";
-# Using ClickHouse for observability
-
## Introduction {#introduction}
This guide is designed for if you're looking to build your own SQL-based Observability solution using ClickHouse, focusing on logs and traces. This covers all aspects of building your own solution including considerations for ingestion, optimizing schemas for your access patterns and extracting structure from unstructured logs.
diff --git a/guides/use-cases/observability/build-your-own/schema-design.mdx b/guides/use-cases/observability/build-your-own/schema-design.mdx
index cef3f6a37..edb784bb1 100644
--- a/guides/use-cases/observability/build-your-own/schema-design.mdx
+++ b/guides/use-cases/observability/build-your-own/schema-design.mdx
@@ -1,5 +1,5 @@
---
-title: 'Schema design'
+title: Designing a schema for observability
description: 'Designing a schema design for observability'
keywords: ['observability', 'logs', 'traces', 'metrics', 'OpenTelemetry', 'Grafana', 'OTel']
slug: /use-cases/observability/schema-design
@@ -9,8 +9,6 @@ doc_type: 'guide'
import { Image } from "/snippets/components/Image.jsx";
-# Designing a schema for observability
-
We recommend users always create their own schema for logs and traces for the following reasons:
- **Choosing a primary key** - The default schemas use an `ORDER BY` which is optimized for specific access patterns. It is unlikely your access patterns will align with this.
diff --git a/guides/use-cases/observability/cloud-monitoring.mdx b/guides/use-cases/observability/cloud-monitoring.mdx
index 9a4569c27..224976596 100644
--- a/guides/use-cases/observability/cloud-monitoring.mdx
+++ b/guides/use-cases/observability/cloud-monitoring.mdx
@@ -1,6 +1,6 @@
---
slug: /use-cases/observability/cloud-monitoring
-title: 'ClickHouse Cloud monitoring'
+title: ClickHouse Cloud monitoring
sidebarTitle: 'ClickHouse Cloud monitoring'
description: 'ClickHouse Cloud Monitoring Guide'
doc_type: 'guide'
@@ -12,8 +12,6 @@ import ObservabilityIntegrations from '/snippets/_observability_integration_opti
import DirectIntegrations from '/snippets/_direct_observability_integration_options.mdx';
import CommunityMonitoring from '/snippets/_community_monitoring.mdx';
-# ClickHouse Cloud monitoring {#cloud-monitoring}
-
This guide provides enterprise teams evaluating ClickHouse Cloud with comprehensive information on monitoring and observability capabilities for production deployments. Enterprise customers frequently ask about out-of-the-box monitoring features, integration with existing observability stacks including tools like Datadog and AWS CloudWatch, and how ClickHouse’s monitoring compares to self-hosted deployments.
## Advanced observability dashboard {#advanced-observability}
diff --git a/guides/use-cases/observability/self-managed-monitoring.mdx b/guides/use-cases/observability/self-managed-monitoring.mdx
index 358f6f562..9ac0b4a5c 100644
--- a/guides/use-cases/observability/self-managed-monitoring.mdx
+++ b/guides/use-cases/observability/self-managed-monitoring.mdx
@@ -1,6 +1,6 @@
---
slug: /use-cases/observability/oss-monitoring
-title: 'Self-managed monitoring'
+title: Self-managed monitoring
sidebarTitle: 'Self-managed monitoring'
description: 'Self-Managed Monitoring Guide'
doc_type: 'guide'
@@ -11,8 +11,6 @@ import ObservabilityIntegrations from '/snippets/_observability_integration_opti
import DirectIntegrations from '/snippets/_direct_observability_integration_options.mdx';
import CommunityMonitoring from '/snippets/_community_monitoring.mdx';
-# Self-managed monitoring {#cloud-monitoring}
-
This guide provides enterprise teams evaluating ClickHouse open-source with comprehensive information on monitoring and observability capabilities for production deployments. Enterprise customers frequently ask about out-of-the-box monitoring features, integration with existing observability stacks including tools like Datadog and AWS CloudWatch, and how ClickHouse's monitoring compares to self-hosted deployments.
### Prometheus-based integration architecture {#prometheus}
diff --git a/integrations/clickpipes/bigquery/get-started.mdx b/integrations/clickpipes/bigquery/get-started.mdx
index 781a61327..24aa63313 100644
--- a/integrations/clickpipes/bigquery/get-started.mdx
+++ b/integrations/clickpipes/bigquery/get-started.mdx
@@ -2,7 +2,7 @@
sidebarTitle: 'Get started'
description: 'Step-by-step guide to create your first BigQuery ClickPipe.'
slug: /integrations/clickpipes/bigquery/get-started
-title: 'Creating your first BigQuery ClickPipe'
+title: Creating your first BigQuery ClickPipe
doc_type: 'guide'
---
@@ -10,8 +10,6 @@ import IntroClickPipe from '/snippets/_intro.mdx';
import { Image } from "/snippets/components/Image.jsx";
-# Creating your first BigQuery ClickPipe {#creating-your-first-bigquery-clickpipe}
-
## Pre-requisites {#pre-requisites}
diff --git a/integrations/clickpipes/kafka/create-kafka-clickpipe.mdx b/integrations/clickpipes/kafka/create-kafka-clickpipe.mdx
index f24f5a01e..d115a3068 100644
--- a/integrations/clickpipes/kafka/create-kafka-clickpipe.mdx
+++ b/integrations/clickpipes/kafka/create-kafka-clickpipe.mdx
@@ -2,7 +2,7 @@
sidebarTitle: 'Create your first Kafka ClickPipe'
description: 'Step-by-step guide to creating your first Kafka ClickPipe.'
slug: /integrations/clickpipes/kafka/create-your-first-kafka-clickpipe
-title: 'Creating your first Kafka ClickPipe'
+title: Creating your first Kafka ClickPipe
doc_type: 'guide'
keywords: ['create kafka clickpipe', 'kafka', 'clickpipes', 'data sources', 'setup guide']
integration:
@@ -12,8 +12,6 @@ integration:
import { Image } from "/snippets/components/Image.jsx";
-# Creating your first Kafka ClickPipe {#creating-your-first-kafka-clickpipe}
-
> In this guide, we will walk you through the process of creating your first Kafka ClickPipe.
Kafka ClickPipes can be deployed and managed manually using the ClickPipes UI, as well as programmatically using [OpenAPI](/integrations/clickpipes/programmatic-access/openapi) and [Terraform](/integrations/clickpipes/programmatic-access/terraform).
diff --git a/integrations/clickpipes/object-storage/amazon-s3/get-started.mdx b/integrations/clickpipes/object-storage/amazon-s3/get-started.mdx
index 3f23a13e8..2fb94a0bf 100644
--- a/integrations/clickpipes/object-storage/amazon-s3/get-started.mdx
+++ b/integrations/clickpipes/object-storage/amazon-s3/get-started.mdx
@@ -2,15 +2,13 @@
sidebarTitle: 'Get started'
description: 'Step-by-step guide to create your first Amazon S3 ClickPipe.'
slug: /integrations/clickpipes/object-storage/s3/get-started
-title: 'Creating your first Amazon S3 ClickPipe'
+title: Creating your first Amazon S3 ClickPipe
doc_type: 'guide'
---
import CreateClickPipe from '/snippets/_create_clickpipe.mdx';
import { Image } from "/snippets/components/Image.jsx";
-# Creating your first Amazon S3 ClickPipe {#creating-your-first-amazon-s3-clickpipe}
-
The S3 ClickPipe provides a fully-managed and resilient way to ingest data from Amazon S3 and S3-compatible object stores into ClickHouse Cloud. It supports both **one-time** and **continuous ingestion** with exactly-once semantics.
diff --git a/integrations/clickpipes/object-storage/google-cloud-storage/get-started.mdx b/integrations/clickpipes/object-storage/google-cloud-storage/get-started.mdx
index c7ebfa6e6..7944f6324 100644
--- a/integrations/clickpipes/object-storage/google-cloud-storage/get-started.mdx
+++ b/integrations/clickpipes/object-storage/google-cloud-storage/get-started.mdx
@@ -2,14 +2,12 @@
sidebarTitle: 'Get started'
description: 'Step-by-step guide to create your first Google Cloud Storage ClickPipe.'
slug: /integrations/clickpipes/object-storage/gcs/get-started
-title: 'Creating your first Google Cloud Storage ClickPipe'
+title: Creating your first GCS ClickPipe
doc_type: 'guide'
---
import CreateClickPipe from '/snippets/_create_clickpipe.mdx';
-# Creating your first GCS ClickPipe {#creating-your-first-gcs-clickpipe}
-
The GCS ClickPipe provides a fully-managed and resilient way to ingest data from Google Cloud Storage (GCS). It supports both **one-time** and **continuous ingestion** with exactly-once semantics.
diff --git a/integrations/clickpipes/postgres/connecting-to-postgresql.mdx b/integrations/clickpipes/postgres/connecting-to-postgresql.mdx
index 111fe2d51..3ac6056fa 100644
--- a/integrations/clickpipes/postgres/connecting-to-postgresql.mdx
+++ b/integrations/clickpipes/postgres/connecting-to-postgresql.mdx
@@ -1,6 +1,6 @@
---
slug: /integrations/postgresql/connecting-to-postgresql
-title: 'Connecting to PostgreSQL'
+title: Connecting ClickHouse to PostgreSQL
keywords: ['clickhouse', 'postgres', 'postgresql', 'connect', 'integrate', 'table', 'engine']
description: 'Page describing the various ways to connect PostgreSQL to ClickHouse'
show_related_blogs: true
@@ -10,8 +10,6 @@ doc_type: 'guide'
import CloudNotSupportedBadge from "/snippets/components/CloudNotSupportedBadge/CloudNotSupportedBadge.jsx";
import ExperimentalBadge from "/snippets/components/ExperimentalBadge/ExperimentalBadge.jsx";
-# Connecting ClickHouse to PostgreSQL
-
This page covers following options for integrating PostgreSQL with ClickHouse:
- using the `PostgreSQL` table engine, for reading from a PostgreSQL table
diff --git a/integrations/clickpipes/postgres/index.mdx b/integrations/clickpipes/postgres/index.mdx
index 6a5fb8203..f6eafe37d 100644
--- a/integrations/clickpipes/postgres/index.mdx
+++ b/integrations/clickpipes/postgres/index.mdx
@@ -2,7 +2,7 @@
sidebarTitle: 'Ingesting data from Postgres to ClickHouse'
description: 'Seamlessly connect your Postgres to ClickHouse Cloud.'
slug: /integrations/clickpipes/postgres
-title: 'Ingesting Data from Postgres to ClickHouse (using CDC)'
+title: Ingesting data from Postgres to ClickHouse (using CDC)
keywords: ['PostgreSQL', 'ClickPipes', 'CDC', 'change data capture', 'database replication']
doc_type: 'guide'
integration:
@@ -14,8 +14,6 @@ import BetaBadge from "/snippets/components/BetaBadge/BetaBadge.jsx";
import { Image } from "/snippets/components/Image.jsx";
-# Ingesting data from Postgres to ClickHouse (using CDC)
-
You can use ClickPipes to ingest data from your source Postgres database into ClickHouse Cloud. The source Postgres database can be hosted on-premises or in the cloud including Amazon RDS, Google Cloud SQL, Azure Database for Postgres, Supabase and others.
Postgres ClickPipes can be deployed and managed manually using the ClickPipes UI, as well as programmatically using [OpenAPI](/integrations/clickpipes/programmatic-access/openapi) and [Terraform](/integrations/clickpipes/programmatic-access/terraform).
diff --git a/integrations/clickpipes/postgres/source/azure-flexible-server-postgres.mdx b/integrations/clickpipes/postgres/source/azure-flexible-server-postgres.mdx
index 205f0f55b..2c981a4ad 100644
--- a/integrations/clickpipes/postgres/source/azure-flexible-server-postgres.mdx
+++ b/integrations/clickpipes/postgres/source/azure-flexible-server-postgres.mdx
@@ -2,7 +2,7 @@
sidebarTitle: 'Azure Flexible Server for Postgres'
description: 'Set up Azure Flexible Server for Postgres as a source for ClickPipes'
slug: /integrations/clickpipes/postgres/source/azure-flexible-server-postgres
-title: 'Azure Flexible Server for Postgres source setup guide'
+title: Azure flexible server for Postgres source setup guide
keywords: ['azure', 'flexible server', 'postgres', 'clickpipes', 'wal level']
doc_type: 'guide'
integration:
@@ -12,8 +12,6 @@ integration:
import { Image } from "/snippets/components/Image.jsx";
-# Azure flexible server for Postgres source setup guide
-
ClickPipes supports Postgres version 12 and later.
## Enable logical replication {#enable-logical-replication}
diff --git a/integrations/connectors/data-ingestion/apache-spark/spark-native-connector.mdx b/integrations/connectors/data-ingestion/apache-spark/spark-native-connector.mdx
index eaa768eb9..02275a34c 100644
--- a/integrations/connectors/data-ingestion/apache-spark/spark-native-connector.mdx
+++ b/integrations/connectors/data-ingestion/apache-spark/spark-native-connector.mdx
@@ -3,14 +3,12 @@ sidebarTitle: 'Spark native connector'
slug: /integrations/apache-spark/spark-native-connector
description: 'Introduction to Apache Spark with ClickHouse'
keywords: ['clickhouse', 'Apache Spark', 'migrating', 'data']
-title: 'Spark Connector'
+title: Spark connector
doc_type: 'guide'
---
import ClickHouseSupportedBadge from "/snippets/components/ClickHouseSupported/ClickHouseSupported.jsx";
-# Spark connector
-
This connector leverages ClickHouse-specific optimizations, such as advanced partitioning and predicate pushdown, to
diff --git a/integrations/connectors/data-ingestion/azure/azure-data-factory/using-azureblobstorage.mdx b/integrations/connectors/data-ingestion/azure/azure-data-factory/using-azureblobstorage.mdx
index b4c0e2ec0..6fd79d1f1 100644
--- a/integrations/connectors/data-ingestion/azure/azure-data-factory/using-azureblobstorage.mdx
+++ b/integrations/connectors/data-ingestion/azure/azure-data-factory/using-azureblobstorage.mdx
@@ -3,7 +3,7 @@ sidebarTitle: 'Using the azureBlobStorage table function'
slug: /integrations/azure-data-factory/table-function
description: 'Using ClickHouse''s azureBlobStorage table function'
keywords: ['azure data factory', 'azure', 'microsoft', 'data', 'azureBlobStorage']
-title: 'Using ClickHouse''s azureBlobStorage table function to bring Azure data into ClickHouse'
+title: "Using ClickHouse's azureBlobStorage table function"
doc_type: 'guide'
integration:
- support_level: 'core'
@@ -12,8 +12,6 @@ integration:
import { Image } from "/snippets/components/Image.jsx";
-# Using ClickHouse's azureBlobStorage table function {#using-azureBlobStorage-function}
-
This is one of the most efficient and straightforward ways to copy data from
Azure Blob Storage or Azure Data Lake Storage into ClickHouse. With this table
function, you can instruct ClickHouse to connect directly to Azure storage and
diff --git a/integrations/connectors/data-ingestion/azure/azure-data-factory/using-http-interface.mdx b/integrations/connectors/data-ingestion/azure/azure-data-factory/using-http-interface.mdx
index dcfdb12ae..01d207d75 100644
--- a/integrations/connectors/data-ingestion/azure/azure-data-factory/using-http-interface.mdx
+++ b/integrations/connectors/data-ingestion/azure/azure-data-factory/using-http-interface.mdx
@@ -3,7 +3,7 @@ sidebarTitle: 'Using the HTTP interface'
slug: /integrations/azure-data-factory/http-interface
description: 'Using ClickHouse''s HTTP interface to bring data from Azure Data Factory into ClickHouse'
keywords: ['azure data factory', 'azure', 'microsoft', 'data', 'http interface']
-title: 'Using ClickHouse HTTP interface to bring Azure data into ClickHouse'
+title: Using ClickHouse HTTP interface in Azure data factory
doc_type: 'guide'
integration:
- support_level: 'core'
@@ -12,8 +12,6 @@ integration:
import { Image } from "/snippets/components/Image.jsx";
-# Using ClickHouse HTTP interface in Azure data factory {#using-clickhouse-http-interface-in-azure-data-factory}
-
The [`azureBlobStorage` Table Function](/reference/functions/table-functions/azureBlobStorage)
is a fast and convenient way to ingest data from Azure Blob Storage into
ClickHouse. Using it may however not always be suitable for the following reasons:
diff --git a/integrations/connectors/data-ingestion/etl-tools/dbt/index.mdx b/integrations/connectors/data-ingestion/etl-tools/dbt/index.mdx
index 44cb2f4fb..7e1492def 100644
--- a/integrations/connectors/data-ingestion/etl-tools/dbt/index.mdx
+++ b/integrations/connectors/data-ingestion/etl-tools/dbt/index.mdx
@@ -1,7 +1,7 @@
---
slug: /integrations/dbt
description: 'You can transform and model your data in ClickHouse using dbt'
-title: 'Integrating dbt and ClickHouse'
+title: Integrating dbt and ClickHouse
keywords: ['dbt', 'data transformation', 'analytics engineering', 'SQL modeling', 'ELT pipeline']
doc_type: 'guide'
integration:
@@ -12,8 +12,6 @@ integration:
import ClickHouseSupportedBadge from "/snippets/components/ClickHouseSupported/ClickHouseSupported.jsx";
-# Integrating dbt and ClickHouse {#integrate-dbt-clickhouse}
-
## The dbt-clickhouse Adapter {#dbt-clickhouse-adapter}
diff --git a/integrations/connectors/data-ingestion/etl-tools/dbt/materialization-materialized-view.mdx b/integrations/connectors/data-ingestion/etl-tools/dbt/materialization-materialized-view.mdx
index 762098774..2993941ba 100644
--- a/integrations/connectors/data-ingestion/etl-tools/dbt/materialization-materialized-view.mdx
+++ b/integrations/connectors/data-ingestion/etl-tools/dbt/materialization-materialized-view.mdx
@@ -3,14 +3,12 @@ sidebarTitle: 'Materialization: materialized_view'
slug: /integrations/dbt/materialization-materialized-view
description: 'Specific documentation for the materialized_view materialization'
keywords: ['clickhouse', 'dbt', 'materialized_view', 'refreshable', 'Materialized Views', 'catchup']
-title: 'Materialization: materialized_view'
+title: Materialized Views
doc_type: 'guide'
---
import ClickHouseSupportedBadge from "/snippets/components/ClickHouseSupported/ClickHouseSupported.jsx";
-# Materialized Views
-
A `materialized_view` materialization should be a `SELECT` from an existing (source) table. Unlike PostgreSQL, a ClickHouse materialized view is not "static" (and has no corresponding REFRESH operation). Instead, it acts as an **insert trigger**, inserting new rows into a target table by applying the defined `SELECT` transformation on rows inserted into the source table. See the [ClickHouse materialized view documentation](/concepts/features/materialized-views) for more details on how materialized views work in ClickHouse.
diff --git a/integrations/connectors/data-ingestion/kafka/confluent/custom-connector.mdx b/integrations/connectors/data-ingestion/kafka/confluent/custom-connector.mdx
index 7faf22f55..c2e3b7d6a 100644
--- a/integrations/connectors/data-ingestion/kafka/confluent/custom-connector.mdx
+++ b/integrations/connectors/data-ingestion/kafka/confluent/custom-connector.mdx
@@ -2,7 +2,7 @@
sidebarTitle: 'Kafka Connector Sink on Confluent Platform'
slug: /integrations/kafka/cloud/confluent/custom-connector
description: 'Using ClickHouse Connector Sink with Kafka Connect and ClickHouse'
-title: 'Integrating Confluent Cloud with ClickHouse'
+title: Integrating Confluent platform with ClickHouse
keywords: ['Confluent ClickHouse integration', 'ClickHouse Kafka connector', 'Kafka Connect ClickHouse sink', 'Confluent Platform ClickHouse', 'custom connector Confluent']
doc_type: 'guide'
---
@@ -10,8 +10,6 @@ doc_type: 'guide'
import ConnectionDetails from '/snippets/_gather_your_details_http.mdx';
import { Image } from "/snippets/components/Image.jsx";
-# Integrating Confluent platform with ClickHouse
-