{
  "name": "psql",
  "description": "Psql is a terminal-based front-end to PostgreSQL",
  "options": [
    {
      "names": [
        "-a",
        "--echo-all"
      ],
      "description": "Print all nonempty input lines to standard output as they are read. (This does not apply to lines read interactively.) This is equivalent to setting the variable ECHO to all"
    },
    {
      "names": [
        "-A",
        "--no-align"
      ],
      "description": "Switches to unaligned output mode. (The default output mode is aligned.) This is equivalent to pset format unaligned"
    },
    {
      "names": [
        "-b",
        "--echo-errors"
      ],
      "description": "Print failed SQL commands to standard error output. This is equivalent to setting the variable ECHO to errors"
    },
    {
      "names": [
        "-c",
        "--command"
      ],
      "description": "Specifies that psql is to execute the given command string, command. This option can be repeated and combined in any order with the -f option. When either -c or -f is specified, psql does not read com",
      "takes_arg": true,
      "arg": {
        "name": "command",
        "description": "A command string that is completely parsable by the server (i.e., it contains no psql-specific features), or a single backslash command. Thus you cannot mix SQL and psql meta-commands within a -c opti"
      }
    },
    {
      "names": [
        "--csv"
      ],
      "description": "Switches to CSV (Comma-Separated Values) output mode. This is equivalent to \\pset format csv"
    },
    {
      "names": [
        "-d",
        "--dbname"
      ],
      "description": "Specifies the name of the database to connect to. This is equivalent to specifying dbname as the first non-option argument on the command line. The dbname can be a connection string. If so, connection",
      "takes_arg": true,
      "arg": {
        "name": "dbname"
      }
    },
    {
      "names": [
        "-e",
        "--echo-queries"
      ],
      "description": "Copy all SQL commands sent to the server to standard output as well. This is equivalent to setting the variable ECHO to queries"
    },
    {
      "names": [
        "-E",
        "--echo-hidden"
      ],
      "description": "Echo the actual queries generated by d and other backslash commands. You can use this to study psql's internal operations. This is equivalent to setting the variable ECHO_HIDDEN to on"
    },
    {
      "names": [
        "-f",
        "--file"
      ],
      "description": "Read commands from the file filename, rather than standard input. This option can be repeated and combined in any order with the -c option. When either -c or -f is specified, psql does not read comman",
      "takes_arg": true,
      "arg": {
        "name": "filename",
        "template": "filepaths"
      }
    },
    {
      "names": [
        "-F",
        "--field-separator"
      ],
      "description": "Use separator as the field separator for unaligned output. This is equivalent to \\pset fieldsep or \\f",
      "takes_arg": true,
      "arg": {
        "name": "separator"
      }
    },
    {
      "names": [
        "-h",
        "--host"
      ],
      "description": "Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix-domain socket",
      "takes_arg": true,
      "arg": {
        "name": "hostname"
      }
    },
    {
      "names": [
        "-H",
        "--html"
      ],
      "description": "Switches to HTML output mode. This is equivalent to \\pset format html or the \\H command"
    },
    {
      "names": [
        "-l",
        "--list"
      ],
      "description": "List all available databases, then exit. Other non-connection options are ignored. This is similar to the meta-command list. When this option is used, psql will connect to the database postgres, unles"
    },
    {
      "names": [
        "-L",
        "--log-file"
      ],
      "description": "Write all query output into file filename, in addition to the normal output destination",
      "takes_arg": true,
      "arg": {
        "name": "filename",
        "template": "folders"
      }
    },
    {
      "names": [
        "-n",
        "--no-readline"
      ],
      "description": "Do not use Readline for line editing and do not use the command history. This can be useful to turn off tab expansion when cutting and pasting"
    },
    {
      "names": [
        "-o",
        "--output"
      ],
      "description": "Put all query output into file filename. This is equivalent to the command \\o",
      "takes_arg": true,
      "arg": {
        "name": "filename",
        "template": "folders"
      }
    },
    {
      "names": [
        "-p",
        "--port"
      ],
      "description": "Specifies the TCP port or the local Unix-domain socket file extension on which the server is listening for connections. Defaults to the value of the PGPORT environment variable or, if not set, to the ",
      "takes_arg": true,
      "arg": {
        "name": "port"
      }
    },
    {
      "names": [
        "-P",
        "--pset"
      ],
      "description": "Specifies printing options, in the style of \\pset. Note that here you have to separate name and value with an equal sign instead of a space. For example, to set the output format to LaTeX, you could w",
      "takes_arg": true,
      "arg": {
        "name": "assignment"
      }
    },
    {
      "names": [
        "-q",
        "--quiet"
      ],
      "description": "Specifies that psql should do its work quietly. By default, it prints welcome messages and various informational output. If this option is used, none of this happens. This is useful with the -c option"
    },
    {
      "names": [
        "-R",
        "--record-separator"
      ],
      "description": "Use separator as the record separator for unaligned output. This is equivalent to \\pset recordsep",
      "takes_arg": true,
      "arg": {
        "name": "separator"
      }
    },
    {
      "names": [
        "-s",
        "--single-step"
      ],
      "description": "Run in single-step mode. That means the user is prompted before each command is sent to the server, with the option to cancel execution as well. Use this to debug scripts"
    },
    {
      "names": [
        "-S",
        "--single-line"
      ],
      "description": "Runs in single-line mode where a newline terminates an SQL command, as a semicolon does"
    },
    {
      "names": [
        "-t",
        "--tuples-only"
      ],
      "description": "Turn off printing of column names and result row count footers, etc. This is equivalent to \t or pset tuples_only"
    },
    {
      "names": [
        "-T",
        "--table-attr"
      ],
      "description": "Specifies options to be placed within the HTML table tag. See \\pset tableattr for details",
      "takes_arg": true,
      "arg": {
        "name": "table_options"
      }
    },
    {
      "names": [
        "-U",
        "--username"
      ],
      "description": "Turn off printing of column names and result row count footers, etc. This is equivalent to \t or pset tuples_only",
      "takes_arg": true,
      "arg": {
        "name": "username"
      }
    },
    {
      "names": [
        "-v",
        "--set",
        "--variable"
      ],
      "description": "Perform a variable assignment, like the set meta-command. Note that you must separate name and value, if any, by an equal sign on the command line. To unset a variable, leave off the equal sign. To se",
      "takes_arg": true,
      "arg": {
        "name": "username"
      }
    },
    {
      "names": [
        "-V",
        "--version"
      ],
      "description": "Print the psql version and exit"
    },
    {
      "names": [
        "-w",
        "--no-password"
      ],
      "description": "Never issue a password prompt. If the server requires password authentication and a password is not available from other sources such as a .pgpass file, the connection attempt will fail. This option c"
    },
    {
      "names": [
        "-W",
        "--password"
      ],
      "description": "Force psql to prompt for a password before connecting to a database, even if the password will not be used. If the server requires password authentication and a password is not available from other so"
    },
    {
      "names": [
        "-x",
        "--expanded"
      ],
      "description": "Turn on the expanded table formatting mode. This is equivalent to \\x or \\pset expanded"
    },
    {
      "names": [
        "-X",
        "--no-psqlrc"
      ],
      "description": "Do not read the start-up file (neither the system-wide psqlrc file nor the user's ~/.psqlrc file)"
    },
    {
      "names": [
        "-z",
        "--field-separator-zero"
      ],
      "description": "Set the field separator for unaligned output to a zero byte. This is equivalent to pset fieldsep_zero"
    },
    {
      "names": [
        "-0",
        "--record-separator-zero"
      ],
      "description": "Set the record separator for unaligned output to a zero byte. This is useful for interfacing, for example, with xargs -0. This is equivalent to pset recordsep_zero"
    },
    {
      "names": [
        "-1",
        "--single-transaction"
      ],
      "description": "This option can only be used in combination with one or more -c and/or -f options. It causes psql to issue a BEGIN command before the first such option and a COMMIT command after the last one, thereby"
    },
    {
      "names": [
        "-?",
        "--help"
      ],
      "description": "Show help about psql and exit"
    }
  ]
}
