Error 48: NOT_IMPLEMENTED
This error occurs when you attempt to use a feature, function, or operation that is not implemented in your ClickHouse version, not supported for your specific table engine or configuration, or requires enabling experimental settings to use.
Most common causes
-
Table engine limitations
ALTERoperations not supported on specific table engines (View, Memory, File, URL tables)- Mutations (
UPDATE/DELETE) not available for certain engines OPTIMIZEor other maintenance operations unavailable for read-only or external engines- Missing replication features on non-Replicated table engines
-
Experimental or preview features not enabled
- An experimental or beta feature has not been enabled through a setting
- The feature is not yet available in ClickHouse Cloud
- The feature is in private preview and access needs to be provided by Cloud support
-
Version-specific features
- Using features from newer ClickHouse versions on older installations
- Functions or syntax not backported to your version
- Cloud vs self-managed feature differences
- Deprecated features removed in newer versions
-
Data type or operation incompatibilities
- Operations not supported for specific data types (Array, Map, Tuple operations)
- Type conversions that don't have implementations
- Mathematical operations on incompatible types
- Special column operations (ephemeral, alias columns)
-
Distributed and replicated table limitations
- Certain
ALTERoperations not supported on Distributed tables - Global joins or subqueries not fully implemented
- Cross-cluster operations with limited support
- Replication features unavailable in standalone mode
- Certain
-
Storage and integration limitations
- S3/HDFS operations not fully implemented
- Table function limitations (URL, S3, MySQL, PostgreSQL engines)
- Backup/restore operations unavailable for certain engines
- External dictionary refresh operations not supported
Common solutions
1. Enable required experimental settings
See "Beta and experimental features" page for a list of experimental and beta flags.
2. Use supported table engine for operations
3. Switch from non-replicated to Replicated table engine
4. Upgrade ClickHouse version for newer features
6. Work around Distributed table limitations
7. Use supported operations for external table engines
8. Enable ClickHouse Cloud preview features
Prevention tips
- Check compatibility before using new features: Review ClickHouse release notes and documentation to verify feature availability in your version and deployment type (Cloud vs self-managed)
- Choose appropriate table engines: Select table engines that support the operations you need (use ReplicatedMergeTree for replication, MergeTree family for mutations, etc.)
- Test experimental features in development first: Always test experimental features in non-production environments before enabling in production, and monitor ClickHouse changelogs for when features become stable
- Keep ClickHouse versions updated: Regularly upgrade to newer ClickHouse versions to access new features and improvements, following a testing → staging → production upgrade path
- Use Cloud-compatible patterns: When using ClickHouse Cloud, design queries and schemas using features documented as Cloud-compatible to avoid surprises
- Review engine-specific limitations: Before choosing a table engine, review its documentation for supported and unsupported operations (especially for Kafka, MaterializedView, Distributed engines)
- Monitor deprecation warnings: Pay attention to deprecation notices in release notes to avoid using features that may be removed in future versions
- Use alternative implementations: When a specific operation isn't implemented, look for alternative approaches using supported features (e.g., using INSERT INTO SELECT instead of UPDATE)
Related error codes
- UNSUPPORTED_METHOD (1001) - Method not supported in current context
- ILLEGAL_TYPE_OF_ARGUMENT (43) - Operation not supported for data type
- BAD_ARGUMENTS (36) - Invalid arguments for function or operation
- TABLE_IS_READ_ONLY (242) - Cannot modify read-only tables