Risposte:
Utilizzare --tableper dire pg_dumpquale 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 postgrespg_dump -d <database_name> -t <table_name> > file.sqlAssicurarsi che si sta eseguendo il comando in cui l' postgresutente 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_dumpcomando per te.
Come aggiunta alla risposta di Frank Heiken, se si desidera utilizzare INSERTdichiarazioni anziché copy from stdin, è necessario specificare la --insertsbandiera
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-versionbandiera, 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 --