gerrit gsql
===========

NAME
----
gerrit gsql - Administrative interface to active database

SYNOPSIS
--------
--
'ssh' -p <port> <host> 'gerrit gsql'
  [--format {PRETTY | JSON | JSON_SINGLE}]
  [-c QUERY]
--

DESCRIPTION
-----------
Provides interactive query support directly against the underlying
SQL database used by the host Gerrit server.  All SQL statements
are supported, including SELECT, UPDATE, INSERT, DELETE and ALTER.

OPTIONS
-------
--format::
	Set the format records are output in.  In PRETTY (the
	default) records are displayed in a tabular output suitable
	for reading by a human on a sufficiently wide terminal.
	In JSON mode records are output as JSON objects using the
	column names as the property names, one object per line.
	In JSON_SINGLE mode the whole result set is output as a
	single JSON object.

-c::
	Execute the single query statement supplied, and then exit.

ACCESS
------
Caller must have been granted the
link:access-control.html#capability_accessDatabase[Access Database]
global capability.

SCRIPTING
---------
Intended for interactive use only, unless format is JSON, or
JSON_SINGLE.

EXAMPLES
--------
To manually correct a user's SSH user name:

====
	$ ssh -p 29418 review.example.com gerrit gsql
	Welcome to Gerrit Code Review v2.0.25
	(PostgreSQL 8.3.8)

	Type '\h' for help.  Type '\r' to clear the buffer.

	gerrit> update accounts set ssh_user_name = 'alice' where account_id=1;
	UPDATE 1; 1 ms
	gerrit> \q
	Bye

	$ ssh -p 29418 review.example.com gerrit flush-caches --cache sshkeys --cache accounts
====

GERRIT
------
Part of link:index.html[Gerrit Code Review]

SEARCHBOX
---------
