PostGresql Criar banco de dados, se não existir

PostGresql Criar banco de dados, se não existir
Sempre que falamos sobre o PostGresql, sempre pensamos em bancos de dados porque é um sistema de gerenciamento de banco de dados. Você pode criar quantos bancos de dados de sua escolha no seu servidor PostGresql. Depois de criar um banco de dados de sua escolha, você pode criar várias tabelas para armazenar seus dados e, em seguida, pode executar cálculos diferentes nesses dados. No entanto, às vezes, queremos executar uma consulta em um banco de dados existente, mas para isso, a existência desse banco de dados é obrigatória.

O que queremos dizer é que precisamos de um mecanismo para verificar se existe um banco de dados em nosso servidor postgreSQL ou não. Além disso, existem algumas situações em que queremos que um banco de dados seja criado quando executarmos uma consulta, se ele ainda não existir em nosso servidor de banco de dados. Nesse caso, o notação "Criar banco de dados, se não existir", entra em jogo. Este guia tem como objetivo apresentá -lo ao uso dessa notação com uma breve discussão sobre se o PostgreSQL suporta essa notação ou não. Depois disso, compartilharemos com você uma alternativa suportada por PostGresql para esta notação.

Podemos usar o notação "Criar banco de dados, se não existir" no PostGresql no Windows 10?

A notação "Criar banco de dados, se não existir", é suportado por algumas das linguagens de programação. Com a ajuda dessa notação, você pode verificar se existe um banco de dados especificado no seu servidor de banco de dados ou não, e se ele não existe, essa notação simplesmente criará esse banco de dados no seu servidor. No entanto, vamos falar especificamente sobre PostgreSQL. O PostgreSQL não suporta essa notação, ou, em outras palavras, você pode dizer que não podemos usar essa notação diretamente no PostgreSQL no Windows 10.

No entanto, ainda existem algumas maneiras que podem permitir que você alcance a mesma funcionalidade que você pode alcançar com essa notação específica. Para explorar mais sobre essas soluções alternativas, você terá que continuar lendo este artigo.

Caso contrário, então qual solução alternativa podemos usar para atingir o mesmo objetivo?

Como a notação "Criar banco de dados, se não existir", não pode ser usada como está dentro do ambiente PostgreSQL, portanto, decidimos compartilhar com você uma solução alternativa com a qual você pode alcançar a mesma funcionalidade. Para esta solução alternativa, você precisará executar uma variação ligeiramente diferente dessa notação na forma de uma consulta PostGresql no Windows 10. Para entender essa variação, você terá que seguir as etapas explicadas abaixo:

Nota: Não se esqueça de fazer login no seu servidor PostgreSQL antes de seguir estas etapas.

Etapa 1: visualizando os bancos de dados PostGresql existentes no Windows 10:

Todos sabemos que queremos apenas criar um banco de dados específico no PostgreSQL se ele já existir em nosso servidor. O banco de dados que queremos ser criado neste caso em particular é "MyNewDB". Portanto, primeiro tentaremos descobrir os nomes de todos os nossos bancos de dados PostGresql existentes para saber se esse banco de dados já existe em nosso servidor ou não. Para exibir os nomes de todos os bancos de dados PostGresql existentes, você precisa executar a seguinte consulta PostGresql em seu console PSQL:

# Selecione DatName em PG_DATABASE;

Esta consulta extrairá o atributo "DatName" do PG_DATABASE do nosso servidor PostgreSQL. Este atributo contém os nomes de todos os bancos de dados existentes no servidor PostGresql. A instrução "Selecionar" do PostgreSQL exibirá apenas os nomes de banco de dados extraídos no console, como mostrado na imagem abaixo:

Você pode ver na saída mostrada na imagem acima que nenhum banco de dados com o nome "MyNewDB" existe em nosso servidor PostgreSQL; Portanto, podemos tentar criar um banco de dados com esse nome em nosso servidor no Windows 10.

Etapa 2: Criando o banco de dados PostGresql, se não estiver no Windows 10:

Agora, como vimos que o banco de dados que queremos criar ainda não existe em nosso servidor PostGresql, portanto, teremos que executar a seguinte consulta para criar esse banco de dados:

# Selecione 'Criar banco de dados MyNewDB' onde não existe (selecione PG_DATABASE onde DatName = 'MyNewDB') \ Gexec

Com esta consulta, criaremos um banco de dados chamado "MyNewDB" que ainda não estava presente em nosso servidor PostGresql em nosso sistema Windows 10. A instrução "Select" nesta consulta é seguida pela "declaração de banco de dados CREATE". Depois disso, mencionamos o nome do nosso novo banco de dados a ser criado. Você pode nomear o que quiser. Em seguida, escrevemos a declaração "onde não existe" que verificará se o banco de dados especificado existe no servidor PostgreSQL ou não. Todas essas declarações são seguidas por uma sub-quadra na qual temos outra declaração "Selecionar de" que verificará o PG_DATABASE do nosso servidor PostgreSQL para confirmar a inexistência do banco de dados que você está tentando criar.

Finalmente, existe o parâmetro "\ gexec" que completa esta consulta. Este parâmetro é extremamente importante nesta consulta. Este parâmetro envia seu buffer de consulta atual para o servidor PostgreSQL, onde cada componente ou atributo da saída desta consulta é tratado como uma consulta SQL em vez de uma consulta PostgreSQL. Esta é, de fato, a principal razão por trás do funcionamento do notação "Criar banco de dados, se não existir" no PostgreSQL. Caso contrário, mesmo se você omitir acidentalmente este parâmetro, não poderá alcançar essa funcionalidade no PostgreSQL.

Se você seguir toda a sintaxe desta consulta corretamente, um banco de dados PostGresql com o nome especificado será criado com sucesso no servidor PostGresql que você poderá confirmar na resposta de saída mostrada na imagem abaixo:

Etapa 3: Verificando se o novo banco de dados PostGresql foi criado no Windows 10 ou não:

Se você ainda não tem certeza de que sua tentativa de criação do novo banco de dados PostGresql na etapa mencionada acima foi bem-sucedida ou não, você ainda pode verificá-lo dando uma olhada em todos os bancos de dados PostGresql existentes novamente. Desta vez, você também poderá encontrar seu novo banco de dados ali. Você só precisa executar a seguinte consulta para ver isso:

# Selecione DatName em PG_DATABASE;

Um total de nove bancos de dados existem em nosso servidor PostgreSQL no momento, e o mais recente é, de fato, o que acabamos de tentar criar, conforme destacado na imagem mostrada abaixo:

Conclusão:

Este artigo falou sobre a notação "Criar banco de dados, se não existir" e seu uso. Então discutimos se essa notação é suportada pelo PostgreSQL ou não. Depois de descobrir que não podemos usar essa notação diretamente no PostgreSQL, compartilhamos com você um método para alcançar a mesma funcionalidade enquanto permanecemos dentro do ambiente PostgreSQL. Depois de passar por esse método, você entenderá essa alternativa extremamente útil do "Criar banco de dados, se não existir", qual PostgreSQL suporta totalmente.