Docs Home
Quickstart
Install CockroachDB
Install CockroachDB
Install CockroachDB
Install CockroachDB
Install CockroachDB
Learn CockroachDB SQL
Learn CockroachDB SQL
Overview
Developer Basics
JavaScript/TypeScript
JavaScript/TypeScript
JavaScript/TypeScript
JavaScript/TypeScript
JavaScript/TypeScript
Python
Python
Python
Python
Python
Golang
Golang
Golang
Golang
Java
Java
Java
Java
Ruby
Ruby
C# (.NET)
Rust
Hasura (GraphQL)
AWS Lambda
Google Cloud Run
Netlify
Vercel
Serverless Function Best Practices
Overview
Spring Boot with JDBC
Spring Boot with JPA
Overview
Global Application Use Case
Multi-region Database Schema
Set up a Development Environment
Develop a Global Application
Deploy a Global Application
Deploy a Python To-Do App with Flask, Kubernetes, and CockroachDB Cloud
Latest Production Release
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
CockroachDB Releases
Staged Release Process
Release Support Policy
Known Limitations
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Technical Advisories
Cloud Releases
MOLT Releases
Public Kubernetes Operator
Unsupported Versions
Why CockroachDB?
Replication & Rebalancing
CockroachDB Resilience
Serializable Transactions
Multi-Active Availability
PostgreSQL Compatibility
SQL Features
SQL FAQs
Overview
Disaster Recovery
Install a Driver or ORM Framework
Connect to a Cluster
Client Connection Parameters
Connection Pooling
Overview
Migration Strategy
Bulk Load
Load and Replicate
Load and Replicate Separately
Resume Replication
Failback
Schema Conversion Tool
Fetch
Verify
AWS DMS
Qlik Replicate
Striim
Oracle GoldenGate
Debezium
Migrate from CSV
Migrate from Avro
Migrate from Shapefiles
Migrate from OpenStreetMap
Migrate from GeoJSON
Migrate from GeoPackage
Import Performance Best Practices
Overview
Create an Account
CockroachDB Cloud Costs
Plan a Basic Cluster
Create a Basic Cluster
Connect to a Basic Cluster
Understand your Resource Usage
Manage a Basic Cluster
Use the Terraform provider
Change a Cluster's Plan Between Basic and Standard
Plan a Standard Cluster
Create a Standard Cluster
Connect to a Standard Cluster
Understand your Resource Usage
Manage a Standard Cluster
Move into Production
Provision a Standard Cluster with Terraform
Migrate from Standard to Advanced
Change a Cluster's Plan Between Basic and Standard
Plan an Advanced Cluster
Create an Advanced Cluster
Connect to an Advanced Cluster
Manage an Advanced Cluster
Move into Production
Provision an Advanced Cluster with Terraform
CockroachDB Advanced on Azure
Migrate from Standard to Advanced
CockroachDB Cloud Regions
Overview
Manage AWS PrivateLink
Egress Private Endpoints
Overview
Manage CMEK
Compliance in Advanced
PCI DSS
Overview
SSO for Cloud Organizations
Configure Cloud Organization SSO
Configure SCIM Provisioning
Cluster SSO using the Cloud Console
SQL Client Certificate Authentication for Advanced Clusters
Overview
Manage Users, Roles, and Service Accounts
Organize CockroachDB Cloud Clusters Using Folders
Organize CockroachDB Cloud Resources Using Labels
Overview
Create Private Clusters
Egress Perimeter Controls
SQL Audit Logging
Export Cloud Organization Audit Logs
Export Logs From CockroachDB Standard
Export Logs From CockroachDB Advanced
Configure SQL Authentication
Satori
HashiCorp Vault
Cluster Overview Page
Alerts Page
Tools Page
Metrics Overview
Overview tab
SQL
Changefeeds
Row-Level TTL
Request Units
Custom
Export Metrics from Standard
Export Metrics from Advanced
Essential Metrics for Standard
Essential Metrics for Advanced
Essential Alerts for CockroachDB Advanced Deployments
Statements Page
Sessions Page
Transactions Page
Insights Page
Databases Page
Jobs Page
Overview
Managed Backups for Basic Clusters
Managed Backups for Standard Clusters
Managed Backups for Advanced Clusters
Take and Restore Self-Managed Backups
Monitoring
Physical Cluster Replication
Billing Management
CockroachDB Cloud Upgrade Policy
Upgrade a cluster
SQL Shell
CockroachDB Cloud API
ccloud CLI
Production Checklist
Deployment and Operations Skills Taxonomy
Deploy from Binary
Deploy from Binary
Deploy in Kubernetes
Deploy in Kubernetes
Deploy in Docker
Deploy in Docker
Deploy in Docker
Simulate a Multi-Region Cluster Locally
Overview
Deploy On-Premises
Deploy On-Premises
Deploy on AWS
Deploy on AWS
Deploy on Azure
Deploy on Azure
Deploy on Google Cloud Platform GCE
Deploy on Google Cloud Platform GCE
Deploy on Digital Ocean
Deploy on Digital Ocean
Overview
Single-Cluster Deployment
Single-Cluster Deployment
OpenShift Deployment
Multi-Cluster Deployment
Pod Scheduling
Resource Management
Certificate Management
Cluster Scaling
Cluster Monitoring
Cluster Upgrades
Kubernetes Performance
Overview
CockroachDB Operator Deployment Guide
Migrate from Helm StatefulSet
Migrate from Public operator
Pod Scheduling
Resource Management
Certificate Management
Cluster Scaling
Cluster Monitoring
Cluster Upgrades
Override Templates
Kubernetes Performance
Topology Patterns Overview
Development Topology
Basic Production Topology
Follower Reads Topology
Follow-the-Workload Topology
Regional Tables
Global Tables
Use the CockroachDB CLI to provision a development cluster
Manage PKI certificates with HashiCorp Vault
Create Security Certificates using OpenSSL
Use Online Certificate Status Protocol (OCSP)
Certificate-based authentication using multiple values from the X.509 SUBJECT field
Authentication
Encryption
Authorization
Table-based SQL Audit Logging
Role-based SQL Audit Logging
LDAP Authentication
LDAP Authorization
GSSAPI Authentication
Cluster SSO using JWT
SSO for DB Console
Rotate Security Certificates
Use Hashicorp Vault's Dynamic Secrets
Overview
Common Issues to Monitor
Enable the Node Map
Prometheus Endpoint
Use Prometheus and Alertmanager
Monitor CockroachDB self-hosted with Datadog
Monitor CockroachDB self-hosted with DBmarlin
Monitor CockroachDB self-hosted with Kibana
Essential Metrics for CockroachDB self-hosted Deployments
Essential Alerts for CockroachDB self-hosted Deployments
DB Console Overview
Cluster Overview Page
Overview
Hardware
Runtime
Networking
SQL
Storage
Replication
Distributed
Queues
Slow Requests
Changefeeds
Overload
TTL
Physical Cluster Replication
Logical Data Replication
Custom Chart
Databases Page
Sessions Page
Statements Page
Transactions Page
Insights Page
Network Page
Hot Ranges Page
Jobs Page
Schedules Page
Advanced Debug Page
Key Visualizer
WAL Failover
Overview
Full and Incremental Backups
Backups with Revision History and Point-in-time Restore
Encrypted Backup and Restore
Locality-restricted Backup Execution
Locality-aware Backup and Restore
Scheduled Backups
Backup Validation
Expire Past Backups
Backup and Restore Monitoring
Cloud Storage
Cloud Storage Authentication
Userfile Storage
Local File Server
Upgrade CockroachDB
Disaster Recovery Planning
Restoring Backups Across Versions
Manage Long-Running Queries
Node Shutdown
Overview
Configure Logs
Logging Use Cases
Log SQL Activity to Datadog
Logging Best Practices
Critical Log Messages
Cluster API
Database Schemas
Create a Database
Create a User-defined Schema
Create a Table
Computed Columns
Column Families
Scale to Multiple Regions
Secondary Indexes
Partial Indexes
Hash-sharded Indexes
Generalized Inverted Indexes
Full-Text Search
Trigram Indexes
Expression Indexes
Spatial Indexes
Vector Indexes
Change and Remove Objects
Online Schema Changes
Use Alembic
Use Flyway
Use Liquibase
Overview
Query Data
Reusable Views
Subqueries
Temporary Tables
Paginate Results
Follower Reads
AS OF SYSTEM TIME
Query Spatial Data
Export Spatial Data
Insert Data
Update Data
Bulk-update Data
Delete Data
Bulk-delete Data
Batch Delete Expired Data with Row-Level TTL
Overview
Advanced Client-side Transaction Retries
Life of a Distributed Transaction
Read Committed Transactions
Test Your Application Locally
JSON Support
Spatial Data
Cross-Cloud Migration
SQL Playground
DBeaver GUI
IntelliJ IDEA
Change Data Capture Overview
Create and Configure Changefeeds
Changefeed Best Practices
Overview
Message Envelope
Changefeed Sinks
Changefeed Examples
Overview
Monitoring Guide
Protect Changefeed Data
Change Data Capture Queries
Changefeeds on Tables with Column Families
Export Data with Changefeeds
Changefeeds in Multi-Region Deployments
Amazon MSK
Amazon MSK Serverless
Connect to a Changefeed Kafka Sink with OAuth Using Okta
Stream a Changefeed from CockroachDB Cloud to Snowflake
Stream a Changefeed to a Confluent Cloud Kafka Cluster
How Does a Changefeed Work?
Advanced Changefeed Configuration
Overview
Set Up Logical Data Replication
Manage Logical Data Replication
Monitor Logical Data Replication
Overview
Set Up Physical Cluster Replication
Fail Over from a Primary to a Standby Cluster
Monitor a Replication Stream
Technical Overview
Overview
Work with Virtual Clusters
Setting Scopes
Metric Scopes
Overview
Survival Goals
Table Localities
Table Partitioning
How to Choose a Multi-Region Configuration
Multi-Region Zone Config Extensions
Low Latency Reads and Writes
Data Domiciling with CockroachDB
Migrate to Multi-Region SQL with Replication Zones
Using GeoServer with CockroachDB
Overview
SQL Performance Best Practices
Indexes
Map SQL Activity using an Application Name
Cost-Based Optimizer
Vectorized Execution Engine
Load-Based Splitting
Replication Controls
Admission Control
Monitor and Analyze Transaction Contention
Performance Tuning Recipes
Statement Tuning with EXPLAIN
Apply SQL Statement Performance Rules
Troubleshoot Lock Contention
Overview
Common Errors and Solutions
Troubleshoot Cloud Setup
Troubleshoot Self-Hosted Setup
Troubleshoot SQL Statements
Transaction Retry Error Reference
Transaction Retry Error Example
Differences in Metrics between Third-Party Monitoring Integrations and DB Console
Understand Hotspots
Detect Hotspots
Replication Reports
Troubleshoot Replication Zones
Overview
Benchmarking with TPC-C
Benchmarking with TPC-C
Benchmarking with TPC-C
Benchmarking with TPC-C
Benchmarking with TPC-C
Support Resources
File an Issue
Automatic CPU Profiler
Automatic Go Execution Tracer
Overview
ALTER BACKUP
ALTER BACKUP SCHEDULE
ALTER CHANGEFEED
ALTER DATABASE
ALTER DEFAULT PRIVILEGES
ALTER FUNCTION
ALTER INDEX
ALTER JOB
ALTER PARTITION
ALTER POLICY
ALTER PROCEDURE
ALTER RANGE
ALTER ROLE
ALTER SCHEMA
ALTER SEQUENCE
ALTER TABLE
ALTER TYPE
ALTER USER
ALTER VIEW
ALTER VIRTUAL CLUSTER
BACKUP
BEGIN
CALL
CANCEL JOB
CANCEL QUERY
CANCEL SESSION
CHECK EXTERNAL CONNECTION
COMMENT ON
COMMIT
COPY
CREATE CHANGEFEED
CREATE DATABASE
CREATE EXTERNAL CONNECTION
CREATE FUNCTION
CREATE INDEX
CREATE LOGICALLY REPLICATED
CREATE LOGICAL REPLICATION STREAM
CREATE POLICY
CREATE PROCEDURE
CREATE ROLE
CREATE SCHEDULE FOR BACKUP
CREATE SCHEDULE FOR CHANGEFEED
CREATE SCHEMA
CREATE SEQUENCE
CREATE STATISTICS
CREATE TABLE
CREATE TABLE AS
CREATE TRIGGER
CREATE TYPE
CREATE USER
CREATE VIEW
CREATE VIRTUAL CLUSTER
DELETE
DO
DROP DATABASE
DROP EXTERNAL CONNECTION
DROP FUNCTION
DROP OWNED BY
DROP POLICY
DROP TRIGGER
DROP TYPE
DROP INDEX
DROP PROCEDURE
DROP ROLE
DROP SCHEDULES
DROP SCHEMA
DROP SEQUENCE
DROP TABLE
DROP USER
DROP VIEW
DROP VIRTUAL CLUSTER
EXPERIMENTAL CHANGEFEED FOR
EXPLAIN
EXPLAIN ANALYZE
EXPORT
GRANT
IMPORT INTO
INSERT
JOIN
LIMIT/OFFSET
ORDER BY
PAUSE JOB
PAUSE SCHEDULES
REASSIGN OWNED
REFRESH
RELEASE SAVEPOINT
RESET CLUSTER SETTING
RESET {session variable}
RESTORE
RESUME JOB
RESUME SCHEDULES
REVOKE
ROLLBACK
SAVEPOINT
SELECT
FOR UPDATE and FOR SHARE
SET CLUSTER SETTING
SET {session variable}
SET TRANSACTION
SHOW BACKUP
SHOW CLUSTER SETTING
SHOW COLUMNS
SHOW CONSTRAINTS
SHOW CREATE
SHOW CREATE EXTERNAL CONNECTION
SHOW CREATE SCHEDULE
SHOW DATABASES
SHOW DEFAULT PRIVILEGES
SHOW DEFAULT SESSION VARIABLES FOR ROLE
SHOW ENUMS
SHOW EXTERNAL CONNECTION
SHOW FULL TABLE SCANS
SHOW GRANTS
SHOW INDEX
SHOW JOBS
SHOW LOCALITY
SHOW LOGICAL REPLICATION JOBS
SHOW PARTITIONS
SHOW POLICIES
SHOW RANGES
SHOW RANGE FOR ROW
SHOW REGIONS
SHOW {session variable}
SHOW SUPER REGIONS
SHOW SYSTEM GRANTS
SHOW ROLES
SHOW SCHEDULES
SHOW SCHEMAS
SHOW SEQUENCES
SHOW SESSIONS
SHOW STATEMENTS
SHOW STATISTICS
SHOW SAVEPOINT STATUS
SHOW TABLES
SHOW TRACE FOR SESSION
SHOW TRANSACTIONS
SHOW TYPES
SHOW USERS
SHOW VIRTUAL CLUSTER
SHOW ZONE CONFIGURATIONS
TRUNCATE
UPDATE
UPSERT
WITH {storage parameter}
Keywords & Identifiers
Constants
Selection Queries
Cursors
Table Expressions
Common Table Expressions
JSONPath Queries
Name Resolution
NULL Handling
Scalar Expressions
User-Defined Functions
Stored Procedures
Triggers
Window Functions
Full SQL Grammar
Overview
ARRAY
BIT
BOOL
BYTES
CITEXT
COLLATE
DATE
DECIMAL
ENUM
FLOAT
INET
INT
INTERVAL
JSONB
OID
SERIAL
STRING
TIME
TIMESTAMP
TSQUERY
TSVECTOR
UUID
VECTOR
Overview
POINT
LINESTRING
POLYGON
MULTIPOINT
MULTILINESTRING
MULTIPOLYGON
GEOMETRYCOLLECTION
Well Known Text (WKT)
Well Known Binary (WKB)
GeoJSON
SRID 4326 - longitude and latitude
ST_Contains
ST_Within
ST_Intersects
ST_CoveredBy
ST_Covers
ST_Disjoint
ST_Equals
ST_Overlaps
ST_Touches
ST_ConvexHull
ST_Union
Overview
Check
Default Value
Foreign Key
Not Null
Primary Key
Unique
Functions & Operators
Session Variables
PL/pgSQL
Glossary
Overview
SQL Layer
Transaction Layer
Distribution Layer
Replication Layer
Storage Layer
Backups
Cloud API
Cluster API
Cluster Settings
Overview
cockroach start
cockroach init
cockroach start-single-node
cockroach cert
cockroach sql
cockroach sqlfmt
cockroach node
cockroach nodelocal upload
cockroach auth-session
cockroach demo
cockroach debug ballast
cockroach debug encryption-active-key
cockroach debug encryption-decrypt
cockroach debug job-trace
cockroach debug list-files
cockroach debug merge-logs
cockroach debug tsdump
cockroach debug zip
cockroach statement-diag
cockroach gen
cockroach userfile upload
cockroach userfile list
cockroach userfile get
cockroach userfile delete
cockroach version
cockroach workload
The cockroach-sql command
Diagnostics Reporting
Logging Levels and Channels
Log Formats
Notable Event Types
Available Metrics
Multi-Dimensional Metrics
CockroachDB Feature Availability
API Support Policy
Telemetry Collected by CockroachDB
Supported Tools
Monitoring Integrations
Community-supported Tools
Overview
SQL Authentication
SASL/SCRAM-SHA-256 Secure Password-based Authentication
Authorization
Encryption
Column Level Encryption
Row-level Security
PKI and TLS
Overview
crdb_internal
information_schema
pg_catalog
pg_extension
CockroachDB FAQs
Operational FAQs
Licensing FAQs
Online Courses