import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';
[PGSQL] Basic setup
PostgreSQL Server
初始安裝
init.sh
export PGSQL_HOME="$KYWK_HOME/workspace/docker/postgres"
docker run --name postgres -d \
-v $PGSQL_HOME/data:/var/lib/postgresql/data \
-p 5432:5432 \
-e POSTGRES_DB=sandbox \
-e POSTGRES_USER=admin \
-e POSTGRES_PASSWORD='pw123456' \
postgres:15
使用 docker run
建立 container, 若本機沒有 image, 會自動從 Docker Hub 下載.
—name
: container 名字以方便識別postgres
(若省略, Docker 會自動以亂數建立)-d
:d
etach 建立 container 後就脫離目前 process-v
:v
olume PostgresSQL 的資料放在 container 內的/var/lib/postgresql/data
目錄. 這個設定讓 docker mapping host~/workspace/docker/postgres
到 container 內的/var/lib/postgresql/data
. 如此 container 刪除後, 資料仍然會留在 host.-p
:p
ort mapping host 與 container post 的對應, 格式為host port : container port
. PostgreSQL 預設 port 為5432
- -
e
:e
nvironment 設定 PostgreSQL 所需要的環境變數POSTGRES_DB
: database 名稱POSTGRES_USER
: 帳號POSTGRES_PASSWORD
: 密碼
postgress:15
: image 名稱
啟用 / 停止服務
docker start postgres
docker stop postgres
Docker-compose.yml
version: "3"
services:
postgres:
image: postgres:latest
container_name: MyPostgres
volumes:
- ${HOST_DIR}:/var/lib/postgresql/data
expose:
- 5432
ports:
- ${POSTGRES_PORT}:5432
environment:
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
安裝
brew install postgresql
啟用 / 停止服務
brew service start postgresql
brew service stop postgresql
PostgreSQL Client
CLI client
Install libpq & symlink psql (and other libpq tools) into /usr/local/bin
brew install libpq
brew link --force libpq
psql connection
In order to connect to your PostgreSQL server, we’ll need the following connection params:
- Hostname
- Port
- Username
- Password
- Database name
Option 1, the Unix-like cli arguments
psql -h [HOSTNAME] -p [PORT] -U [USERNAME] -W -d [DATABASENAME]
or, make a connection URI as following:
psql postgres://[USERNAME]:[PASSWORD]@[HOSTNAME]:[PORT]/[DATABASENAME]?sslmode=require