connect postgres
Command: boundary connect postgres
The connect postgres
command authorizes a session against a target and invokes a Postgres client for the connection.
The command fills in the local address and port.
You also have access to some templated values that are substituted into the command arguments, and these values are additionally injected as environment variables in the executed command:
{{boundary.ip}}
(BOUNDARY_PROXIED_IP
): The IP address of the listening socket thatboundary connect
has opened.{{boundary.port}}
(BOUNDARY_PROXIED_PORT
): The port of the listening socket thatboundary connect
has opened.{{boundary.addr}}
(BOUNDARY_PROXIED_ADDR
): The host:port format of the address. This is essentially equivalent to{{boundary.ip}}:{{boundary.port}}
.
Examples
The following example shows how to connect to a target with the ID ttcp_eTcMueUYv
using a Postgres helper:
$ boundary connect postgres -target-id=ttcp_eTcZMueUYv \ -dbname=northwind \ -username=superuser \ -format=table
When prompted, you must enter the password for the user, "superuser":
Password for user superuser:psql (14.2, server 13.2 (Debian 13.2-1.pgdg100+1))Type "help" for help.postgres=#
Usage
$ boundary connect postgres [options] [args]
Connect command options:
-authz-token
(string: "")
- The authorization string returned from the Boundary controller via anauthorize-session
action against a target. This option is only required if you don't set a-target-id
. If you set the value to-
, the command attempts to read in the authorization string from standard input. You can also specify the authorization string using the BOUNDARY_CONNECT_AUTHZ_TOKEN environment variable.-exec
(string: "")
- If set, specifies that the given binary should be executed after connecting to the worker, if set. This value should be a binary on your path or an absolute path. If all command flags are followed by--
(space, two hyphens, space), then any arguments after that are sent directly to the binary. You can also specify a binary using the BOUNDARY_CONNECT_EXEC environment variable.-host-id
(string: "")
- The ID of a specific host to connect to out of the target's host sets. If you do not indicate a specific host, Boundary chooses one at random.-target-id
(string: "")
- The ID of the target to authorize against. You cannot use this option with-authz-token
.-target-name
(string: "")
- The target name, if you authorize the session using scope parameters and target name.-target-scope-id
(string: "")
- The target scope ID, if you authorize the session using scope parameters and target name. This value is mutually exclusive with-scope-name
. You can also specify the target scope ID using the BOUNDARY_CONNECT_TARGET_SCOPE_ID environment variable.-target-scope-name
(string: "")
- The target scope name, if you authorize the session using scope parameters and target name. This value is mutually exclusive with-scope-id
. You can also specify the target scope name using the BOUNDARY_CONNECT_TARGET_SCOPE_NAME environment variable.
Postgres options:
-dbname
(string: "")
- The database name you want to pass through to the client. You can also specify the database name using the BOUNDARY_CONNECT_DBNAME environment variable.-style
(string: "")
- How the CLI attempts to invoke a Postgres client. This value also sets a suitable default for-exec
, if you did not specify a value. The default and currently-understood value ispsql
. You can also specify how the CLI attempts to invoke a Postgres client using the BOUNDARY_CONNECT_POSTGRES_STYLE environment variable.-username
(string: "")
- The username you want to pass through to the client. This value may be overridden by credentials sourced from a credential store. You can also specfiy a username using the BOUNDARY_CONNECT_USERNAME environment variable.
CLI options
In addition to the command specific options, there are options common to all CLI commands and subcommands: