The cockroach nodelocal upload command uploads a file to the external IO directory on a node's (the gateway node, by default) local file system.

This command takes in a source file to upload and a destination filename. It will then use a SQL connection to upload the file to the node's local file system, at externalIODir/destination/filename.

Note:

The source file is only uploaded to one node, not all of the nodes.

Required privileges

Only members of the admin role can run cockroach nodelocal upload. By default, the root user belongs to the admin role.

Considerations

The --external-io flag on the node you're uploading to cannot be set to disabled.

Synopsis

Upload a file:

$ cockroach nodelocal upload <location/of/file> <destination/of/file> [flags]

View help:

$ cockroach nodelocal upload --help

Flags

Flag Description
--certs-dir The path to the certificate directory containing the CA and client certificates and client key.

Env Variable: COCKROACH_CERTS_DIR
Default: ${HOME}/.cockroach-certs/
--echo-sql Reveal the SQL statements sent implicitly by the command-line utility.
--host The server host and port number to connect to. This can be the address of any node in the cluster.

Env Variable: COCKROACH_HOST
Default: localhost:26257
--insecure Use an insecure connection.

Env Variable: COCKROACH_INSECURE
Default: false
--url A connection URL to use instead of the other arguments.

Env Variable: COCKROACH_URL
Default: no URL
--user
-u
The SQL user that will own the client session.

Env Variable: COCKROACH_USER
Default: root

Examples

Upload a file

To upload a file to the default node (i.e., the gateway node):

copy
icon/buttons/copy
$ cockroach nodelocal upload ./grants.csv test/grants.csv --certs-dir=certs
successfully uploaded to nodelocal://1/test/grants.csv

Then, you can use the file to IMPORT or IMPORT INTO data.

Upload a file to a specific node

To upload a file to a specific node (e.g., node 2), use the --host flag:

copy
icon/buttons/copy
$ cockroach nodelocal upload ./grants.csv grants.csv --host=localhost:26259 --insecure
successfully uploaded to nodelocal://2/grants.csv

Or, use the --url flag:

copy
icon/buttons/copy
$ cockroach nodelocal upload ./grants.csv grants.csv --url=postgresql://root@localhost:26258?sslmode=disable --insecure
successfully uploaded to nodelocal://3/grants.csv

Then, you can use the file to IMPORT or IMPORT INTO data.

See also



Yes No