PostgreSQL Crea database se non esiste

PostgreSQL Crea database se non esiste
Ogni volta che parliamo di PostgreSQL, pensiamo sempre ai database perché si tratta di un sistema di gestione del database. Puoi creare tanti database a tua scelta sul tuo server PostgreSQL. Dopo aver creato un database a tua scelta, è possibile creare più tabelle al suo interno per archiviare i tuoi dati, quindi è possibile eseguire calcoli diversi su tali dati. Tuttavia, a volte, vogliamo eseguire una query su un database esistente, ma per questo, l'esistenza di tale database è obbligatoria.

Quello che intendiamo dire è che abbiamo bisogno di un meccanismo per verificare se esiste un database sul nostro server PostgreSQL o no. Inoltre, ci sono alcune situazioni in cui vogliamo creare un database una volta eseguita una query se non esiste già sul nostro server di database. In tal caso, entra in gioco la notazione "Crea database se non esiste". Questa guida mira a presentarti l'uso di questa notazione con una breve discussione sul fatto che PostgreSQL supporti questa notazione o no. Dopodiché, condivideremo con te un'alternativa supportata da PostgreSQL per questa notazione.

Possiamo utilizzare la notazione "Crea database se non esiste" in PostgreSQL in Windows 10?

La notazione "Crea database se non esiste" è supportata da alcuni dei linguaggi di programmazione. Con l'aiuto di questa notazione, è possibile verificare se esiste un database specificato sul server del database o meno, e se non esiste, questa notazione creerà semplicemente quel database sul server. Tuttavia, parliamo specificamente di PostgreSQL. PostgreSQL non supporta questa notazione, o in altre parole, puoi dire che non possiamo usare questa notazione direttamente in PostgreSQL in Windows 10.

Tuttavia, ci sono ancora alcuni modi che possono permetterti di ottenere la stessa funzionalità che puoi ottenere con questa particolare notazione. Per esplorare di più su queste soluzioni alternative, dovrai continuare a leggere questo articolo.

In caso contrario, allora quale soluzione alternativa possiamo usare per raggiungere lo stesso obiettivo?

Poiché la notazione "Crea database se non esiste" non può essere utilizzata come all'interno dell'ambiente PostgreSQL, quindi abbiamo deciso di condividere con te una soluzione alternativa con cui è possibile ottenere la stessa funzionalità. Per questa soluzione alternativa, dovrai eseguire una variazione leggermente diversa di questa notazione sotto forma di una query PostgreSQL in Windows 10. Per comprendere questa variazione, dovrai seguire i passaggi spiegati di seguito:

Nota: non dimenticare di accedere al server PostgreSQL prima di seguire questi passaggi.

Passaggio n. 1: visualizzare i database PostgreSQL esistenti in Windows 10:

Sappiamo tutti che desideriamo creare un database specifico in PostgreSQL se esiste già sul nostro server. Il database che vogliamo essere creati in questo caso particolare è "MyNewdb". Pertanto, cercheremo di scoprire prima i nomi di tutti i nostri esistenti database PostgreSQL per sapere se tale database esiste già sul nostro server o no. Per visualizzare i nomi di tutti i database PostgreSQL esistenti, è necessario eseguire la seguente query PostgreSQL nella console PSQL:

# Seleziona DATName da pg_database;

Questa query estraggerà l'attributo "DatName" dal pg_database del nostro server PostgreSQL. Questo attributo contiene i nomi di tutti i database esistenti sul server PostgreSQL. L'istruzione "Seleziona" di PostgreSQL visualizzerà semplicemente i nomi del database estratti sulla console come mostrato nell'immagine seguente:

Puoi vedere dall'output mostrato nell'immagine sopra che nessun database con il nome "MyNewDB" esiste sul nostro server PostgreSQL; Pertanto, possiamo tentare di creare un database con questo nome sul nostro server in Windows 10.

Passaggio n. 2: creazione del database PostgreSQL se non esiste in Windows 10:

Ora, dal momento che abbiamo visto che il database che vogliamo creare non esiste già sul nostro server PostgreSQL, pertanto, dovremo eseguire la seguente query per creare quel database:

# Seleziona 'Crea database myNewdb' dove non esiste (seleziona da pg_database dove DatName = 'myNewdb') \ gexec

Con questa query, creeremo un database chiamato "MyNewDB" che non era già presente sul nostro server PostgreSQL sul nostro sistema Windows 10. L'istruzione "Seleziona" in questa query è seguita da "Crea istruzione database". Successivamente, abbiamo menzionato il nome del nostro nuovo database da creare. Puoi nominarlo come vuoi. Quindi, abbiamo scritto l'istruzione "non esiste" che verificherà se il database specificato esiste sul server PostgreSQL. Tutte queste dichiarazioni sono seguite da una sottocarma in cui abbiamo un'altra istruzione "seleziona da" che controllerà il pg_database del nostro server PostgreSQL per confermare la non esistenza del database che stai cercando di creare.

Infine, c'è il parametro "\ gexec" che completa questa query. Questo parametro è estremamente importante in questa query. Questo parametro invia il tuo buffer di query corrente al server PostgreSQL, in cui ogni componente o attributo dell'output di questa query è trattato come una query SQL anziché una query PostgreSQL. Questo è, infatti, il motivo principale alla base del funzionamento della notazione "Crea database se non esiste" all'interno di PostgreSQL. Altrimenti, anche se ometterai accidentalmente questo parametro, non sarai in grado di ottenere questa funzionalità in PostgreSQL.

Se si seguono correttamente l'intera sintassi di questa query, un database PostgreSQL con il nome specificato verrà creato correttamente sul server PostgreSQL che è possibile confermare dalla risposta di output mostrata nell'immagine seguente:

Passaggio n. 3: verifica se il nuovo database PostgreSQL è stato creato in Windows 10 o no:

Se non sei ancora sicuro che il tuo tentativo di creazione del nuovo database PostgreSQL nella fase sopra menzionata abbia avuto successo o no, allora puoi comunque verificarlo dando un'occhiata a tutti i database PostgreSQL esistenti. Questa volta, sarai anche in grado di trovare il tuo nuovo database laggiù. Devi solo eseguire la seguente query per vedere questo:

# Seleziona DATName da pg_database;

Al momento esistono nove database sul nostro server PostgreSQL, e il più recente è, in effetti, quello che abbiamo appena tentato di creare, come evidenziato nell'immagine mostrata di seguito:

Conclusione:

Questo articolo ha parlato della notazione "Crea database se non esiste". Quindi abbiamo discusso se questa notazione è supportata da PostgreSQL o no. Dopo aver scoperto che non possiamo usare questa notazione direttamente in PostgreSQL, abbiamo condiviso con te un metodo per ottenere la stessa funzionalità rimanendo all'interno dell'ambiente PostgreSQL. Una volta attraversato questo metodo, capirai questa alternativa estremamente utile della notazione "Crea database se non esiste" che PostgreSQL supporta pienamente.