Download the binary
The CockroachDB binary for Linux requiresglibc, libncurses, and tzdata, which are found by default on nearly all Linux distributions, with Alpine as the notable exception.
- Visit to download the CockroachDB archive for the architecture of your Linux host. The archive contains the
cockroachbinary and the supporting libraries that are used to provide . Extract the archive and optionally copy thecockroachbinary into yourPATHso you can execute from any shell. If you get a permission error, usesudo.
-
CockroachDB uses custom-built versions of the libraries. Copy these libraries to one of the locations where CockroachDB expects to find them.
By default, CockroachDB looks for external libraries in
/usr/local/lib/cockroachor alibsubdirectory of the CockroachDB binary’s current directory. If you place these libraries in another location, you must pass the location in the . The instructions below assume the/usr/local/lib/cockroachlocation.-
Create the directory where the external libraries will be stored:
-
Copy the library files to the directory. In the following commands, replace
ARCHITECTUREwithlinux-amd64for Intel, or withlinux-arm64for ARM.If you get a permissions error, prefix the command withsudo.
-
Create the directory where the external libraries will be stored:
-
Verify that CockroachDB can execute spatial queries.
-
Make sure the
cockroachbinary you just installed is the one that runs when you typecockroachin your shell: -
Start a temporary, in-memory cluster using :
-
In the demo cluster’s interactive SQL shell, run the following command to test that the spatial libraries have loaded properly:
You should see the following output:If your
cockroachbinary is not properly accessing the dynamically linked C libraries in/usr/local/lib/cockroach, it will output an error message like the one below.
-
In the demo cluster’s interactive SQL shell, run the following command to test that the spatial libraries have loaded properly:
-
Make sure the
- Keep up-to-date with CockroachDB releases and best practices:
Use Kubernetes
To orchestrate CockroachDB using Kubernetes, either with configuration files or the Helm package manager, use the following tutorials:Use Docker
For CockroachDB v22.2.beta-5 and above, Docker images are multi-platform images that contain binaries for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host. Docker images for previous releases contain Intel binaries only. Intel binaries can run on ARM systems, but with a significant reduction in performance. CockroachDB on ARM is in in v22.2.13, and is experimental in all other versions. Experimental images are not qualified for production use and not eligible for support or uptime SLA commitments.- Install Docker for Linux. Please carefully check that you meet all prerequisites.
-
Confirm that the Docker daemon is running in the background:
If you do not see the server listed, start the Docker daemon.
-
Pull the image for the release of CockroachDB from Docker Hub:
- Keep up-to-date with CockroachDB releases and best practices:
Build from Source
See the public wiki for guidance. When building on the ARM architecture, refer to Limitations.Limitations
CockroachDB runtimes built for the ARM architecture have the following limitations:- CockroachDB on ARM is experimental in CockroachDB v23.1 versions prior to v23.1.14, and is Generally Available (GA) in v23.1.14 and above. Experimental binaries and Docker images are not qualified for production use and not eligible for support or uptime SLA commitments.
- Floating point operations may yield different results on ARM than on Intel, particularly Fused Multiply Add (FMA) intrinsics. Validate workloads that rely on floating point operations or FMA instrincs before migrating those workloads to ARM in production. When building from source on ARM, it is not currently possible to disable FMA intrinsics in Go. To track the status of this feature request, refer to GoLang issue #36971.
- In production, Cockroach Labs recommends that all cluster nodes have identical CockroachDB versions, CPU architecture, hardware, and software.
- A mix of Intel and ARM nodes is supported as a temporary transitional state during the migration only. Cockroach Labs recommends that you test and validate your workload ahead of the migration to ensure that the workload and your application work as expected in a cluster with both Intel and ARM nodes, especially with respect to floating-point arithmetic.
What’s next?
- If you’re just getting started with CockroachDB:
- and talk to it via the built-in SQL client
- with CockroachDB using PostgreSQL-compatible client drivers and ORMs
- like automatic replication, rebalancing, and fault tolerance
- If you’re ready to run CockroachDB in production:
- Review the
- or

