回答:
バージョン<8.4.0の場合
pg_dump -D -t <table> <database>
最初にCREATE TABLEなどを使用せずにINSERTのみが必要な場合は-a
、その前に追加し-t
ます。
バージョン> = 8.4.0
pg_dump --column-inserts --data-only --table=<table> <database>
-d
、-a
、と-t
短いバージョンでは、しかし、まだ存在しています。PG11で確認。
--inserts
別のオプションです。復元はわずかに速くなりますが、列の順序の変更を許容できません
私はそのようなものをスクリプトに入れます:
#!/bin/bash
set -o xtrace # remove me after debug
TABLE=charge_unit
DB_NAME=prod_sit_entities_db
BASE_DIR=/var/backups/someDir
LOCATION="${BASE_DIR}/myApp_$(date +%Y%m%d_%H%M%S)"
FNAME="${LOCATION}_${DB_NAME}_${TABLE}.sql"
# Create backups directory if not exists
if [[ ! -e $BASE_DIR ]];then
| mkdir $BASE_DIR
| chown -R postgres:postgres $BASE_DIR
fi
sudo -H -u postgres pg_dump --column-inserts --data-only --table=$TABLE $DB_NAME > $FNAME
sudo gzip $FNAME