Como duplicar uma tabela no PostgreSQL?

Como duplicar uma tabela no PostgreSQL?
Muitos usuários pedem a duplicação de uma tabela sem criá -la novamente e adicionar dados no PostgreSQL. Comandos de duplicação podem ser usados ​​aqui. Vamos vê -lo abrindo a GUI do PGADmin no menu Iniciar da área de trabalho do Windows 10. Adicione a senha do seu servidor duas vezes e solicitada. Depois disso, você receberá uma interface de aplicativo de usuário gráfica pgadmin do PostgreSQL. Dentro dos bancos de dados, você pode explorar muitas coisas. Você encontrará um banco de dados PostGres que já foi definido e construído pelo PostgreSQL dentro do processo de instalação e configuração. Então, você não precisa criar um novo banco de dados.

Exemplo 01:

Vamos ter nosso primeiro exemplo para duplicar uma tabela já definida no Postgres. Ao explorar o banco de dados Postgres, você encontrará a opção de tabelas. Crie uma nova tabela "teste" com algumas colunas registradas nela. Você pode encontrar esta tabela sob as opções de uma tabela ao explorá -la, como mostrado na imagem abaixo.

Toque no ícone da ferramenta de consulta para abri -la. Quando for aberto, escreva a consulta selecionada para buscar os registros da tabela recém -criada “Teste”, conforme o comando abaixo. Toque no ícone de "Run" para executar este comando. A saída mostra três colunas de "teste" de tabelas diferentes com seus registros, e.g. Id, fname e lname.

# Selecione * no teste;

Agora, é hora de criar uma tabela duplicada "dup_test" para a tabela "teste". Então, abra a nova guia de uma ferramenta de consulta primeiro e escreva o comando declarado abaixo. Esta consulta tem sua subparte para buscar todos os registros da tabela "teste" usando a instrução SELECT. O comando Create Tabela foi usado para criar uma nova tabela “dup_test” da mesma forma que a tabela “teste”. A instrução SELECT foi buscar todos os dados e copiá -los na tabela "dup_test". Execute a consulta usando o ícone "Run" da barra de tarefas superior. Ao executar esta consulta, o PostgreSQL mostra a mensagem de sucesso na área de saída na seção de mensagens.

# Criar tabela duplicate_table_name como (selecione * de tabela_name);

Quando você explora a lista de tabelas, ela mostra as duas mesas, e.g. dup_test e teste.

Quando verificamos a tabela recém -criada "dup_test" usando a consulta selecionada na área da ferramenta de consulta, descobrimos que ela contém os mesmos dados e estrutura que a tabela "teste" tem. Portanto, o registro e a estrutura da tabela "teste" foram totalmente duplicados na tabela "dup_test".

# Selecione * de tabela_name;

Exemplo 02:

Um usuário também pode criar uma tabela duplicada no PostgreSQL usando outro comando. Esta duplicação será feita sem a duplicação dos dados da tabela. Portanto, usaremos a palavra -chave "sem dados" após a instrução SELECT conforme a consulta abaixo. A consulta está criando uma nova tabela chamada "Duplicate" com a declaração de tabela Create e copiando a estrutura de uma tabela "teste" por meio da instrução SELECT. A declaração "sem dados" será usada para evitar esta consulta para copiar dados de uma tabela "teste" para uma tabela "duplicada". Após a execução, a consulta foi bem -sucedida de acordo com a saída abaixo e a tabela foi duplicada com sucesso.

# Criar tabela tabela_name como (selecione * de tabela_name) sem dados;

Você pode encontrar esta tabela na seção "Tabelas" do PostGresql como abaixo.

Ao verificar os registros de uma tabela recém -duplicada chamada "duplicata" com a consulta selecionada como abaixo, descobrimos que a estrutura de uma tabela é a mesma da tabela "teste". Não há registros nesta tabela devido ao uso da declaração "sem dados" na consulta. Portanto, a consulta foi bem -sucedida.

# Selecione * de tabela_name;

Exemplo 03:

Outra maneira rápida e mais simples de duplicar uma tabela é usar a instrução "AS TABLE" dentro do comando Create Tabela de PostgreSQL. Nesse caso, veremos como essa consulta funciona magicamente. Então, abrimos a ferramenta de consulta por seu ícone. Então temos que escrever a consulta abaixo. Criamos uma tabela chamada "Novo" como uma cópia de uma tabela "teste" por uma cláusula "como tabela" em nossa consulta. Experimente o comando na área de consulta do shell da linha de comando do PostgreSQL para ver os resultados. Clique no ícone Executar na barra de tarefa da interface gráfica do PGADMIN ou pressione a tecla "Enter" no teclado se você estiver trabalhando no shell de comando do SQL para executar esta consulta. Você verá que a consulta funciona corretamente conforme a saída mostrada na área de saída do instantâneo, e.g. Mensagens. Isso significa que uma tabela "teste" foi duplicada com sucesso e uma nova tabela "nova" foi criada no banco de dados Postgres.

# Criar tabela tabela_to_be_dupliced ​​como tabela tabela_to_be_copied_from;

Você pode ver a tabela recém -criada "Novo" na lista de tabelas sob o banco de dados Postgres.

Ao buscar o conteúdo de uma tabela "nova" pela ferramenta de consulta usando um comando select, ela mostra os mesmos dados que a tabela "teste" tem junto com a estrutura, e.g. nomes de colunas.

Exemplo 04:

Vamos ter outro exemplo simples para ilustrar o conceito de duplicação. Desta vez, criamos uma tabela "nova" dentro do banco de dados Postgres da interface do usuário gráfica pgadmin. Esta tabela tem 10 registros em suas quatro colunas, e.g. Id, nome, cidade e idade. Vamos ver os registros da tabela "novo" usando a ferramenta de consulta. Tentamos o comando abaixo na área de consulta para buscar a tabela “nova” ordem por coluna de identificação. A saída para este comando mostra os 10 registros para alguns usuários.

# Selecione * FROM TABLE_NAME ORDER POR “COLUNN_NAME” ASC;

Para criar uma tabela duplicada, abra uma nova guia para a ferramenta de consulta. Usamos o comando abaixo para criar uma nova tabela "duplicata" como a tabela "nova" mostrada acima. Estamos usando a cláusula "sem dados" nesta consulta para não copiar o conteúdo de uma tabela. Em vez disso, esta consulta fará apenas uma cópia de uma estrutura de uma tabela "nova". Então, depois de escrever esta consulta dentro da área de consulta, toque no botão Executar mostrado na barra de tarefas de pgadmin. A consulta será executada e a mensagem de sucesso para a tabela duplicada será mostrada na área de saída da ferramenta de consulta conforme o instantâneo abaixo.

# Criar tabela duplicate_table_name como tabela tabela_name sem dados;

Depois de duplicar e criar uma tabela, vamos ver a tabela duplicada recém -criada, e.g. "duplicado". Por isso, buscamos o conteúdo de uma tabela "duplicata" enquanto usamos a consulta selecionada na área de consulta ordenada pela coluna "ID". Vimos que a estrutura da tabela "duplicata" é a mesma que a tabela "novo". Esta tabela não copiou os registros da tabela "novo" como usando a cláusula "sem dados".

# Selecione * FROM TABLE_NAME ORDEM POR "ID" ASC;

Conclusão:

Discutimos diferentes comandos postgreSQL para duplicar uma tabela. Vimos como duplicar uma estrutura de tabela com e sem seus dados. Todos esses comandos são igualmente eficientes para serem usados ​​no shell da linha de comando do PostgreSQL.