icon [Mac]PostgreSQL起動 (2019/08/20)

インストール

$ docker pull postgres

確認

$ docker images postgres
REPOSITORY TAG IMAGE ID CREATED SIZE
postgres latest c3fe76fef0a6 6 days ago 313MB

$ docker inspect postgres
[
{
"Id": "sha256:c3fe76fef0a611a53dfc8d3ca21fa51bf8ba03cf84c593e50dfe6cc830c69de6",
"RepoTags": [
"postgres:latest"
],
....

起動

初回起動

$ docker run -d --name postgres -p 5432:5432 postgres

2回目以降

$ docker start postgres

起動確認

$ docker ps
もしくは
$docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f44a3f9f944a postgres "docker-entrypoint.s…" 13 minutes ago Up 5 seconds 0.0.0.0:5432->5432/tcp postgres
Macからホスト:0.0.0.0 で接続可能となる

Mac の psql コマンドを利用

psqlコマンドを直接利用するために、HomeBrewでPostgreSQLをインストール
$ brew install postgresql
確認
$ psql --host 0.0.0.0 -l --user postgres
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+------------+------------+-----------------------
postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
....

Docker の psql コマンドを利用

Dockerにログイン

$ docker exec -ti postgres bash

Docker上で操作

# su -u postgres
$ psql --version
psql (PostgreSQL) 11.5 (Debian 11.5-1.pgdg90+1)
postgres@f44a3f9f944a:/$ psql -l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+------------+------------+-----------------------
postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
...