psqlコマンドでローカルに入る方法
Dockerのdbコンテナでpsqlコマンド打つ方法
psql -h 127.0.0.1 -p 15432 -U postgres -d hoge_development
コネクションオプション
Connection options: -h, --host=HOSTNAME database server host or socket directory (default: "local socket") -p, --port=PORT database server port (default: "5432") -U, --username=USERNAME database user name -w, --no-password never prompt for password -W, --password force password prompt (should happen automatically)
-h 127.0.0.1 DATABASE_HOSTを127.0.0.1と明示 -p 15432 Port番号を15432と明示 -U postgres usernameをpostgresと明示 -d hoge_development database nameをhoge_developmentと明示
どういう時にコネクションオプションが必要? -> アプリケーションで環境変数とかを利用している場合。
例)Railsのdatabase.ymlでこのように情報を持っている場合はコネクションオプションが必要
development: <<: *default database: <%= ENV["DATABASE_NAME"] %> # The specified database role being used to connect to postgres. # To create additional roles in postgres see `$ createuser --help`. # When left blank, postgres will use the default role. This is # the same name as the operating system user that initialized the database. username: <%= ENV["DATABASE_USERNAME"] %> # The password associated with the postgres role (username). password: <%= ENV["DATABASE_PASSWORD"] %> # Connect on a TCP socket. Omitted by default since the client uses a # domain socket that doesn't need configuration. Windows does not have # domain sockets, so uncomment these lines. host: <%= ENV["DATABASE_HOST"] %> # The TCP port the server listens on. Defaults to 5432. # If your server runs on a different port number, change accordingly. port: <%= ENV["DATABASE_PORT"] %>`
psqlオプション一覧
psql is the PostgreSQL interactive terminal. Usage: psql [OPTION]... [DBNAME [USERNAME]] General options: -c, --command=COMMAND run only single command (SQL or internal) and exit -d, --dbname=DBNAME database name to connect to (default: "inoue_hiroki") -f, --file=FILENAME execute commands from file, then exit -l, --list list available databases, then exit -v, --set=, --variable=NAME=VALUE set psql variable NAME to VALUE (e.g., -v ON_ERROR_STOP=1) -V, --version output version information, then exit -X, --no-psqlrc do not read startup file (~/.psqlrc) -1 ("one"), --single-transaction execute as a single transaction (if non-interactive) -?, --help[=options] show this help, then exit --help=commands list backslash commands, then exit --help=variables list special variables, then exit Input and output options: -a, --echo-all echo all input from script -b, --echo-errors echo failed commands -e, --echo-queries echo commands sent to server -E, --echo-hidden display queries that internal commands generate -L, --log-file=FILENAME send session log to file -n, --no-readline disable enhanced command line editing (readline) -o, --output=FILENAME send query results to file (or |pipe) -q, --quiet run quietly (no messages, only query output) -s, --single-step single-step mode (confirm each query) -S, --single-line single-line mode (end of line terminates SQL command) Output format options: -A, --no-align unaligned table output mode --csv CSV (Comma-Separated Values) table output mode -F, --field-separator=STRING field separator for unaligned output (default: "|") -H, --html HTML table output mode -P, --pset=VAR[=ARG] set printing option VAR to ARG (see \pset command) -R, --record-separator=STRING record separator for unaligned output (default: newline) -t, --tuples-only print rows only -T, --table-attr=TEXT set HTML table tag attributes (e.g., width, border) -x, --expanded turn on expanded table output -z, --field-separator-zero set field separator for unaligned output to zero byte -0, --record-separator-zero set record separator for unaligned output to zero byte Connection options: -h, --host=HOSTNAME database server host or socket directory (default: "local socket") -p, --port=PORT database server port (default: "5432") -U, --username=USERNAME database user name (default: "inoue_hiroki") -w, --no-password never prompt for password -W, --password force password prompt (should happen automatically) For more information, type "\?" (for internal commands) or "\help" (for SQL commands) from within psql, or consult the psql section in the PostgreSQL documentation.
※ 事前にpsqlはインストールしておく。psql --versionと叩いて、versionが表示されたらインストール済み
> psql --version psql (PostgreSQL) 12.3