Tabelas temporárias PostgreSQL

Tabelas temporárias PostgreSQL

PostgreSQL possui recursos confiáveis ​​de banco de dados para lidar com diferentes transações. Por exemplo, sua tabela temporária salva dados por determinada sessão. Existe uma tabela temporária para uma determinada sessão e fechando a sessão especificada ou tentando consultar a mesma tabela temporária em outra sessão retornará um erro.

Este post o guiará para entender como as tabelas temporárias funcionam. Criaremos uma tabela temporária e tentaremos acessá -la de outra sessão.

Trabalhando com tabelas temporárias no PostgreSQL

Antes de trabalhar com uma tabela temporária no PostgreSQL, vamos entender alguns fatos.

  1. A tabela temporária é visível apenas em uma determinada sessão. Outras transações ou bancos de dados não podem acessar uma determinada transação.
  2. Você pode ter uma tabela temporária com o mesmo nome que uma tabela permanente no mesmo banco de dados.
  3. Quando uma tabela temporária compartilha o mesmo nome que uma tabela permanente, a tabela permanente não pode ser acessada até que a tabela temporária seja descartada do banco de dados ou sessão.

Aqui está a sintaxe para criar uma tabela temporária no PostgreSQL. Você pode usar o TEMPORÁRIO ou Temp palavra -chave para criá -lo.

# Crie tabela temporária tabela_name (column_name, datatype);


ou

# Criar tabela temp tabela_name (column_name, datatype);


Neste tutorial, criaremos um banco de dados, criaremos uma tabela temporária e uma tabela permanente. Em seguida, tente acessar a mesma tabela temporária de outra sessão para entender como uma tabela temporária funciona.

Acesse seu console PostGresql e crie um banco de dados. Vamos nomear o nosso Linuxhint.

# Criar banco de dados Linuxhint1;



Você terá confirmação de que seu banco de dados foi criado com sucesso. Em seguida, conecte -se ao banco de dados criado.

# \ c linuxhint1;



Criar uma tabela permanente. Vamos nomear nomes.

# Criar nomes de tabela (fname varchar (100), idade int);



Com a nossa tabela permanente criada, vamos criar uma tabela temporária com o mesmo nome, mas colunas diferentes.

# Crie nomes de tabela temporária (sobrenome varchar (100));



Podemos verificar se nosso banco de dados contém as duas tabelas criadas usando o \ dt comando.


Você notará que apenas uma tabela está listada como a tabela temporária não está listada. No entanto, se listarmos o conteúdo da tabela em particular, ele exibe o conteúdo da tabela temporária. A tabela permanente é "silenciada" até que a mesa temporária caia.


Suponha que você abra outra sessão PostGresql e se conecte ao banco de dados criado. Se você tentar acessar a tabela temporária, ela não existirá. Em vez disso, a tabela permanente será recuperada, pois a tabela temporária existe apenas na sessão em que foi criada.


Na saída, obtemos o conteúdo da tabela permanente contrária ao que obtivemos quando executamos o mesmo comando na sessão que contém a tabela temporária.

Ainda assim, se você deixar a sessão atual, volte mais tarde, a tabela temporária não existirá.

Tente parar de executar o \ q comando e tente acessar a tabela temporária. Vai retornar um erro.

Inserindo valores em uma tabela temporária

Você pode inserir valores em uma tabela temporária da mesma maneira que os insere em uma tabela permanente.


Uma vez inserido, você pode confirmar a tabela temporária contém os valores inseridos conforme o esperado.

Abandonando uma mesa temporária

Você pode usar o derrubar comando se você deseja excluir a tabela temporária sem esperar que ela seja excluída automaticamente quando a sessão expirar.

Conclusão

Tabelas temporárias são tabelas criadas no PostgreSQL com uma vida útil curta. As tabelas só são visíveis na sessão atual. Depois de sair da sessão, a tabela é excluída automaticamente. Ainda assim, se você abrir outra sessão e tentar acessar a tabela temporária, ele retornará um erro. Quando você tem uma tabela temporária e permanente compartilhando o mesmo nome, não pode acessar a tabela permanente até soltar a tabela temporária.