Risposte:
Utilizzare --table
per dire pg_dump
quale tabella deve eseguire il backup:
pg_dump --host localhost --port 5432 --username postgres --format plain --verbose --file "<abstract_file_path>" --table public.tablename dbname
psql -U username -d database -1 -f your_dump.sql
--ignore-version
. La risposta di Prashant Kumar, che è più semplice, ha funzionato per me.
Se sei su Ubuntu,
sudo su postgres
pg_dump -d <database_name> -t <table_name> > file.sql
Assicurarsi che si sta eseguendo il comando in cui l' postgres
utente ha i permessi di scrittura (Esempio: /tmp
)
modificare
Se desideri scaricare il file .sql in un altro computer, potresti dover considerare di saltare le informazioni sul proprietario che vengono salvate nel file .sql.
Puoi usare pg_dump --no-owner -d <database_name> -t <table_name> > file.sql
pg_dump -d <database_name> > file.sql
pg_dump -t <table_name> <database_name> > file.sql
pg_dump -h localhost -p 5432 -U postgres -d mydb -t my_table> backup.sql
È possibile eseguire il backup di una singola tabella, ma suggerirei di eseguire il backup dell'intero database e quindi ripristinare qualsiasi tabella sia necessaria. È sempre bene avere il backup dell'intero database.
max(id)
sul mio tavolo. questa è la risposta per cui ha funzionato e sono fiducioso, guardando il sql generato, che avrei potuto ripristinarlo.
Se si preferisce un'interfaccia utente grafica, è possibile utilizzare pgAdmin III (Linux / Windows / OS X). Basta fare clic destro sulla tabella di vostra scelta, quindi "backup". Creerà un pg_dump
comando per te.
Come aggiunta alla risposta di Frank Heiken, se si desidera utilizzare INSERT
dichiarazioni anziché copy from stdin
, è necessario specificare la --inserts
bandiera
pg_dump --host localhost --port 5432 --username postgres --format plain --verbose --file "<abstract_file_path>" --table public.tablename --inserts dbname
Si noti che ho lasciato fuori la --ignore-version
bandiera, perché è obsoleta.
pg_restore --host localhost --port 5432 --username postgres --dbname "anydb" --table public.tablename -Ft --verbose "/path/filename.backup"
ma è uscito:pg_restore: [tar archiver] corrupt tar header found in --