Introduzione
PostgreSQL è un sistema avanzato di gestione di database open source che supporta relazionale (SQL) e non relazionali (JSON) interrogazione.
In PostgreSQL, l'enfasi è principalmente sull'estensibilità e sulla conformità SQL pur mantenendo ACID proprietà (Atomicità, Consistenza, Isolamento, Durabilità) nelle transazioni.
In questo tutorial imparerai come creare un database in PostgreSQL usando tre diversi metodi.
Prerequisiti
- PostgreSQL installato e configurato
- Privilegi di amministratore
Crea un database in PostgreSQL tramite pgAdmin
Per creare un database utilizzando pgAdmin, segui questi passaggi:
Passaggio 1 :Apri pgAdmin e inserisci la tua password per connetterti al server del database.
Passaggio 2 :nella sezione del browser, espandi i Server e poi PostgreSQL Oggetti. Fai clic con il pulsante destro del mouse su Database elemento. Fai clic su Crea e Banca dati...
Passaggio 3 :Viene visualizzata una nuova finestra in cui è necessario specificare il nome del database, aggiungere un commento se necessario e fare clic su Salva .
Il database viene visualizzato nei Database albero degli oggetti.
La sezione destra della finestra di pgAdmin contiene schede che visualizzano le statistiche del database, i comandi SQL utilizzati per creare il database, eventuali dipendenze, ecc.
Crea un database in PostgreSQL tramite CREATE DATABASE
Un altro metodo per creare un database PostrgreSQL è utilizzare CREATE DATABASE comando.
Segui questi passaggi per creare un database:
Passaggio 1 :apri la Shell SQL (psql) app.
Passaggio 2 :Collegarsi al server DB premendo INVIO quattro volte. Digita la tua password principale se richiesta. Se non hai impostato una password, premi INVIO di nuovo per connettersi.
Passaggio 3 :utilizza la seguente sintassi per creare un nuovo database:
CREATE DATABASE [database_name]
Al posto di [database_name]
, inserisci un nome per il tuo database. Assicurati di inserire un nome univoco perché l'utilizzo di un nome di database esistente genera un errore.
Ad esempio:
La creazione di un database senza specificare alcun parametro prende i parametri dal database del modello predefinito. Vedi i parametri disponibili nella prossima sezione.
Passaggio 4 :Usa il seguente comando per elencare tutti i database in PostgreSQL:
\l
L'output mostra un elenco di database disponibili e le loro caratteristiche.
CREA parametri DATABASE
I parametri disponibili per la creazione di un database sono:
[OWNER = role_name]
Il OWNER
parametro assegna il ruolo di proprietario del database. Omissione del OWNER
parametro significa che il proprietario del database è il ruolo utilizzato per eseguire il CREATE DATABASE
dichiarazione.
[TEMPLATE = template]
Il TEMPLATE
parametro consente di specificare il database del modello da cui creare il nuovo database. Omissione del TEMPLATE
set di parametri template1 come database di modelli predefinito.
[ENCODING = encoding]
Il ENCODING
parametro determina la codifica del set di caratteri nel nuovo database.
[LC_COLLATE = collate]
Il LC_COLLATE
il parametro specifica l'ordine di confronto del nuovo database. Questo parametro controlla l'ordinamento delle stringhe in ORDER BY
clausola. L'effetto è visibile quando si utilizza una lingua che contiene caratteri speciali .
Omissione del LC_COLLATE
parametro prende le impostazioni dal database dei modelli.
[LC_CTYPE = ctype]
Il LC_CTYPE
il parametro specifica la classificazione dei caratteri utilizzata nel nuovo database. La classificazione dei caratteri include lettere minuscole, maiuscole e cifre. Omissione del LC_CTYPE
il parametro prende le impostazioni predefinite dal database dei modelli.
[TABLESPACE = tablespace_name]
Usa il TABLESPACE
parametro per specificare il nome del tablespace per il nuovo database. Omettendo il TABLESPACE
il parametro prende il nome tablespace del database del modello.
[ALLOW_CONNECTIONS = true | false]
Il ALLOW_CONNECTIONS
il parametro può essere TRUE
o FALSE
. Specificando il valore come FALSE
ti impedisce di connetterti al database.
[CONNECTION LIMIT = max_concurrent_connections]
Il CONNECTION LIMIT
consente di impostare il numero massimo di connessioni simultanee a un database PostgreSQL. Il valore predefinito è -1
, il che significa connessioni illimitate.
[IS_TEMPLATE = true | false ]
Imposta il IS_TEMPLATE
parametro su TRUE
o FALSE
. Impostazione di IS_TEMPLATE
a TRUE
consente a qualsiasi utente con il CREATEDB
privilegio di clonare il database. In caso contrario, solo i superutenti o il proprietario del database possono clonare il database.
Per creare un database con parametri, aggiungi la parola chiave WITH
dopo il CREATE DATABASE
dichiarazione e quindi elencare i parametri desiderati.
Ad esempio:
Questo esempio mostra come impostare un nuovo database per utilizzare la codifica dei caratteri UTF-8 e supportare un massimo di 200 connessioni simultanee.
Crea un database in PostgreSQL tramite il comando createb
Il createdb
command è il terzo metodo per creare un database in PostgreSQL. L'unica differenza tra il createdb
e CREATE DATABASE
il comando è che gli utenti eseguano createdb
direttamente dalla riga di comando e aggiungi un commento nel database, tutto in una volta.
Per creare un database utilizzando il createdb
comando, utilizzare la seguente sintassi:
createdb [argument] [database_name [comment]]
I parametri sono discussi nella sezione seguente.
Parametri creatib
Il createdb
i parametri di sintassi sono:
Parametro | Descrizione |
---|---|
[argument] | Argomenti della riga di comando createdb accetta. Discusso nella prossima sezione. |
[database_name] | Imposta il nome del database al posto del database_name parametro. |
[comment] | Commento facoltativo da associare al nuovo database. |
Createdb argomenti della riga di comando
Il createdb
disponibile gli argomenti sono:
Argomento | Descrizione |
---|---|
-D | Specifica il nome tablespace per il nuovo database. |
-e | Mostra i comandi createdb invia al server. |
-E | Specifica quale codifica dei caratteri utilizzare nel database. |
-l | Specifica quale locale utilizzare nel database. |
-T | Specifica quale database utilizzare come modello per il nuovo database. |
--help | Mostra la pagina della guida su createdb argomenti della riga di comando. |
-h | Visualizza il nome host della macchina che esegue il server. |
-p | Imposta la porta TCP o l'estensione del file socket del dominio Unix locale che il server utilizza per ascoltare le connessioni. |
-U | Specifica quale nome utente utilizzare per la connessione. |
-w | Istruisce createdb non emettere mai una richiesta di password. |
-W | Istruisce createdb per emettere una richiesta di password prima di connettersi a un database. |
Ad esempio:
Qui abbiamo creato un database chiamato mydatabase utilizzando l'utente amministratore predefinito postgres . Abbiamo usato phoenixnap database come modello e ha chiesto al programma di non richiedere una password.
createdb Errori comuni del comando
Ci sono alcuni errori comuni che gli utenti possono incontrare durante l'utilizzo di createdb comando.
Vedi il createdb
elenco errori di seguito:
Errore | Descrizione |
---|---|
createdb comando non trovato. | Si verifica quando PostgreSQL non è stato installato correttamente. Esegui createdb dal percorso di installazione di PostgreSQL o aggiungi psql.exe percorso alla sezione delle variabili di sistema nelle impostazioni avanzate del PC. |
Nessun file o directory di questo tipo Il server è in esecuzione localmente e accetta connessioni su socket di dominio Unix ...? | Succede quando il server PostgreSQL non è stato avviato correttamente o non è attualmente in esecuzione. |
Fatale:il ruolo "username" non esiste. | Si verifica quando gli utenti eseguono initdb con un ruolo senza privilegi di superutente. Per correggere l'errore, crea un nuovo utente Postgres con il --superuser opzione o accedi al ruolo di amministratore predefinito, postgres . |
Creazione database fallita:ERRORE:permesso negato per creare database. | Appare quando si tenta di creare un database con un account che non dispone delle autorizzazioni necessarie. Per correggere l'errore, concedi le autorizzazioni di superutente al ruolo in questione. |