Oct 12, 2017

With the release of CockroachDB v1.1.0, we’ve included support for faster migrations from other databases for developers, simplified cluster management for operators, and improved performance in real-world environments.

Get future release notes emailed to you:



This section summarizes the most significant, user-facing changes in v1.1.0. For a complete list of changes, including bug fixes and performance improvements, see the release notes for previous testing releases.

Backwards-Incompatible Changes

Change Description
DROP DATABASE This statement no longer drops non-empty databases unless the CASCADE modifier is added.
cockroach start The --max-sql-memory and --cache flags now default to 128MiB instead of 25% of physical memory. These new defaults are reasonable for local development clusters. However, for production deployments, they should be increased to 25% or higher. See Recommended Production Settings for more details.

Also, if the server's own hostname cannot be resolved, CockroachDB reports an error at startup instead of starting a node that will be unable to participate in a cluster. Local test clusters may need to pass --host=localhost to avoid this error.
Various names Database, table, view, and column names in double quotes are now case-sensitive (as in PostgreSQL).
DROP COLUMN It is no longer possible to drop columns in tables depended on by views. This is an overly-broad change to avoid schema changes that might break views; it will be narrowed in the future.
These EXPLAIN options have been removed. They have been replaced by the new SHOW TRACE statement.

SQL Statements

Statement Description
IMPORT Use this new statement to import an entire table's data into a running cluster by loading CSV files.
Use these new statements to monitor the progress of active queries, and, if necessary, cancel long-running queries causing unwanted resource consumption.
SHOW SESSIONS Use this new statement to monitor the overall state of client connections and identify those that may need investigation or adjustment.
SHOW JOBS Use this new statement to monitor the progress of schema changes and enterprise backups and restores.
Use these new statements to cancel, pause, or resume enterprise backups and restores.
SHOW BACKUP Use this new statement to list the contents of an enterprise backup.
SHOW TRACE Use this new statement to execute a target statement and then return a trace of its actions through all of CockroachDB's software layers.
DROP USER Use this new statement to remove one or more SQL users. This features is equivalent to the existing cockroach user rm command.
Use this new statement to reset a session variable to its default value. You can also use the new SET .. TO DEFAULT option.
RESET CLUSTER SETTING Use this new statement to reset a cluster setting to its default value. You can also use the new SET CLUSTER SETTING .. TO DEFAULT option.
DROP DATABASE Use the new CASCADE option to drop all tables and views in a database as well as all objects that depend on those tables, such as constraints and views. This option does not list objects it drops, so should be used cautiously.
INSERT Use a WHERE clause with ON CONFLICT to conditionally apply updates that conflict with a Unique constraint on one or more columns.

SQL Types

Type Description
ARRAY Use this new data type to store 1-dimensional, 1-indexed, homogenous arrays of any non-array data type.
UUID Use this new data type to store 128-bit values that are globally unique. This type is recommended for auto-generating unique row IDs.

Cockroach Commands

Command Description
init Use this new command to perform a one-time initialization of a new multi-node cluster. For a full walk-through of the cluster startup and initialization process, see Manual Deployment or one of the Cloud Deployment tutorials.
node decommission
node recommission
Use these new subcommands of cockroach node to decommission nodes for permanent removal or recommission nodes that were accidentally decommissioned. See Remove Nodes for more details.
start When starting a node, the new --max-disk-temp-storage flag lets you set the maximum on-disk storage capacity available to store temporary data for SQL queries that exceed the memory budget. This ensures that JOINs, sorts, and other memory-intensive SQL operations are able to spill intermediate results to disk.
sql When starting the built-in SQL client, the new --echo-sql flag reveals the SQL statements sent implicitly by the command-line utility, and the new --unsafe-updates flag allows potentially unsafe statements, such as DELETE without a WHERE clause.

Within the interactive SQL shell, you can now get interactive help about statements and functions and you can set new SQL shell options to control how table rows get printed, to reveal the statements sent implicitly by the SQL shell, to reveal the time a query takes to complete, and to return the current status of a transaction.

Also, when the built-in SQL client connects or reconnects to a node, the welcome text it prints now includes version and cluster ID details.
dump Table and view schemas are now dumped in the order in which they can successfully be recreated.

Also, the new --echo-sql flag reveals the SQL statements sent implicitly by the command-line utility.
zone The new --echo-sql flag reveals the SQL statements sent implicitly by the command-line utility.

Admin UI

Area Description
Jobs Page This new page in the Admin UI shows the user, description, creation time, and status of each backup and restore job, as well as schema changes performed across all nodes in the cluster.
Nodes List Nodes that have been decommissioned for permanent removal are now listed in a separate table.


Topic Description
CockroachDB Architecture This new section of the documentation provides an introduction to CockroachDB internals, with detailed explanations of each layer of the software.
Admin UI This new section of the documentation explains how to understand and use the Admin UI to monitor and optimize cluster performance.
Parallel Statement Execution CockroachDB supports parallel execution of independent INSERT, UPDATE, UPSERT, and DELETE statements within a single transaction. This new topic explains why, how, and when to use this feature.
Cross-Cloud Migration This new topic walks you through a local simulation of migrating data from one cloud to another without any service interruption. An accompanying blog post features a live demonstration of the process.
Recommended Production Settings This topic now provides improved hardware recommendations for a CockroachDB cluster and expanded details on how CockroachDB handles unsynchronized clocks.
Rotate Security Certificates This new topic shows you how to rotate security certificates without restarting nodes.
Stop a Node This topic now explains what happens when a node is temporarily stopped.
Contribute to CockroachDB This topic now gives external contributors guidelines on finding a project, determining its complexity, and learning what to expect in collaborations with the Cockroach Labs team.

Known Limitations

For information about limitations we've identified in CockroachDB v1.1, with suggested workarounds where applicable, see Known Limitations.

Yes No