Existe uma maneira de criar um backup de uma única tabela dentro de um banco de dados usando o postgres? E como? Isso também funciona com o comando pg_dump?
postgresql
backup
pg-dump
Elitmiar
fonte
fonte
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 --
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
fonte
pg_dump -d <database_name> > file.sql
pg_dump -t <table_name> <database_name> > file.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.
9 maneiras de usar o pg_dump
fonte
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ê.fonte
Como complemento à resposta de Frank Heiken, se você deseja usar
INSERT
declarações em vez decopy from stdin
, deve especificar a--inserts
bandeirapg_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.fonte