Portanto, quando você deseja acessar uma tabela em outro banco de dados, a melhor opção é copiá -lo e todos os seus dados no banco de dados atual. Somos usados principalmente para copiar tabelas no mesmo banco de dados. No entanto, nosso foco hoje é como copiar uma tabela de um banco de dados para outro no PostgreSQL. Vamos cavar!
Guia passo a passo para copiar uma tabela de um banco de dados para outro no PostGresql
O PostgreSQL conta com a ferramenta "PG_DUMP" para copiar as tabelas em diferentes bancos de dados. A tabela copiada terá todos os seus dados movidos para o novo banco de dados. Dessa forma, você terá uma maneira rápida de duplicar a tabela ao trabalhar com diferentes bancos de dados.
Diferentes etapas estão envolvidas na cópia de uma tabela de um banco de dados para outro no PostgreSQL. Para este exemplo, temos o PostgreSQL instalado no Ubuntu e o acessamos a partir de seu shell. As etapas são semelhantes ao trabalhar com outro ambiente, como Windows, com apenas uma pequena diferença.
Abra seu shell postgreSql
Você deve primeiro acessar o shell postgreSQL para acessar a tabela que deseja copiar de um banco de dados para outro. Os seguintes comandos trazem o banco de dados PostGresql. Você pode inserir sua senha para acessar o banco de dados com a conta de usuário especificada:
$ sudo -iu postgres
$ psql
Liste os bancos de dados disponíveis
Você deve verificar o banco de dados disponível para determinar o banco de dados de origem e destino da tabela que deseja copiar.
# \eu
Você pode criar rapidamente um se não tiver um banco de dados de destino.
Para o nosso exemplo, usamos "Postgres" como nosso banco de dados de origem e temos o "LinuxDemo" como o banco de dados de destino, onde copiamos a tabela no banco de dados "PostGres".
Encontre a tabela de destino
A partir do shell do terminal, já podemos observar que estamos conectados ao banco de dados "PostGres". Nesse caso, podemos listar as tabelas disponíveis usando o \ dt comando para localizar a tabela que desejamos copiar para nosso novo banco de dados.
# \ dt
Aqui, temos apenas uma tabela chamada "FloatDemo". Podemos abri -lo para verificar seu conteúdo antes de copiá -lo.
Verifique se a tabela não existe no banco de dados de destino
Antes de copiar sua tabela, você deve garantir que o banco de dados de destino não tenha tabela que compartilha o mesmo nome da que você deseja copiar. Da mesma forma, não crie uma tabela que levasse um erro ao copiar a tabela de destino.
Substitua o seguinte comando pelo seu banco de dados de destino:
# \ c linuxDemo;
Em seguida, liste as tabelas no banco de dados para verificar se há alguma correspondência com a que você deseja copiar.
# \ dt
Executar o comando de cópia
O comando para copiar a tabela depende de você usar o Windows ou o Ubuntu. No caso do Windows, você deve encontrar o caminho para os arquivos PostGresql em seu sistema. Por exemplo, se você estiver executando o PostgreSQL v14, seu caminho provavelmente será C: \ Arquivos de Programas \ Postgresql \ 14 \ Bin. Depois de conseguir o caminho, abra a CMD e navegue para esse diretório. Você então executa o comando de cópia em seu CMD.
No nosso caso, estamos usando o Ubuntu e como executamos o comando é diferente. Aqui, abra o shell postgreSQL no seu terminal. A partir daí, use a seguinte sintaxe para copiar a tabela do banco de dados de origem para o banco de dados de destino. Observe que o comando é o mesmo para Windows e Ubuntu.
PG_DUMP -U PostGres -t Target -Table -Database | PSQL -U PostGres -Database
No exemplo a seguir, "FloatDemo" é a tabela de destino e o "PostGres" seguindo o nosso banco de dados de origem. O "LinuxDemo" é o banco de dados de destino. Então, substitua o mesmo no seu caso. Então, execute o comando.
Digite sua senha PostGresql para o usuário conectado para autenticar a ação. Você receberá uma mensagem de saída confirmando que a ação de cópia é concluída com sucesso.
Verifique a mesa copiada
Depois de executar o comando de cópia, a última etapa é verificar se a ação é concluída como esperado. Abra o seu shell postgreSQL e conecte -se ao banco de dados de destino. Depois de conectado, liste as tabelas disponíveis para verificar se uma nova entrada é criada para a tabela copiada. Nesse caso, verifique seu conteúdo usando o comando select *.
Confirmamos que nossa tabela duplicada é copiada com sucesso do banco de dados de origem para o banco de dados de destino no PostgreSQL.
Conclusão
O PostgreSQL permite copiar rapidamente uma tabela de um banco de dados para outro usando o comando "pg_dump". Explicamos o processo passo a passo enquanto fornecemos um exemplo prático. Agora você entende como copiar tabelas nos bancos de dados PostGresql.