Respostas:
Use --table
para dizer pg_dump
qual tabela ele deve fazer 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
. A resposta de Prashant Kumar, que é mais simples, funcionou para mim.
Se você estiver no Ubuntu,
sudo su postgres
pg_dump -d <database_name> -t <table_name> > file.sql
Certifique-se de que você está executando o comando onde o postgres
usuário tem permissões de gravação (Exemplo: /tmp
)
Editar
Se você quiser despejar o .sql em outro computador, considere ignorar as informações do proprietário que serão salvas no arquivo .sql.
Você pode usar 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 minha_tabela> backup.sql
Você pode fazer o backup de uma única tabela, mas eu sugiro que faça o backup de todo o banco de dados e restaure a tabela que você precisar. É sempre bom ter backup de todo o banco de dados.
max(id)
na minha mesa. esta é a resposta que funcionou e estou confiante, olhando o sql gerado, que poderia ter restaurado.
Se você preferir uma interface gráfica do usuário, poderá usar o pgAdmin III (Linux / Windows / OS X). Simplesmente clique com o botão direito do mouse na tabela de sua escolha e depois em "backup". Isso criará um pg_dump
comando para você.
Como complemento à resposta de Frank Heiken, se você deseja usar INSERT
declarações em vez de copy from stdin
, deve especificar a --inserts
bandeira
pg_dump --host localhost --port 5432 --username postgres --format plain --verbose --file "<abstract_file_path>" --table public.tablename --inserts dbname
Observe que eu deixei de fora a --ignore-version
bandeira, porque está obsoleta.
pg_restore --host localhost --port 5432 --username postgres --dbname "anydb" --table public.tablename -Ft --verbose "/path/filename.backup"
mas ele saiu:pg_restore: [tar archiver] corrupt tar header found in --