PostgreSQL相關筆記

查看db list

1
psql -U <username> -l

查看db的user list

1
psql -d <db_name> -U <username>

連線其中一個db

1
psql -d <db_name> -U <username>

查看有哪些table

1
select * from pg_tables;

查看schemaname為public的tables

1
SELECT tablename FROM pg_tables WHERE schemaname='public';

or

1
\dt

查看特定表之結構 & 特定表有哪些欄位

1
\d "<tablename>"

請注意,如果tablename有大小寫,前後要加上雙引號。

查看table中的某個欄位內容

1
SELECT <欄位名稱> FROM <tablename>

Backup script on kubernetes:

1
kubectl -n <namespace> exec -it <pg-pod-name> -- bash -c "pg_dump -U [postgres-user] [data-base-name]" > database.dump

Restore script on kubernetes:

1
2
kubectl -n <namespace> cp <proj. name>.dump <pg-pod-name>:/<proj. name>.dump
kubectl -n <namespace> exec -it <pg-pod-name> -- bash -c "psql -d <proj. name> -U <username> -f <proj. name>.dump

dumpall for Backup script on kubernetes:

1
kubectl -n <namespace> exec -it <pg-pod-name> -- bash -c "pg_dumpall -U [postgres-user]" > pg_alldb.sql

dumpall for Restore script on kubernetes:

1
2
kubectl -n <namespace> cp pg_alldb.sql <pg-pod-name>:/pg_alldb.sql
psql -d tpsystem -U <username> < pg_alldb.sql