Postgres è un database relazionale open source. Ha molte funzionalità avanzate come prestazioni di livello aziendale, trigger, atomicità, coerenza, isolamento, durata e molte altre funzionalità che renderanno Postgres una buona scelta per molte applicazioni complesse.
Installazione di PostgreSQL:
In questo tutorial, scarichiamo l'ultima versione di Postgres dal sito Web ufficiale di PostgreSQL https://www.postgresql.org/download/linux/ubuntu/
PostgreSQL è disponibile anche nel repository di Ubuntu per impostazione predefinita. Utilizzando PostgreSQL apt repository dal suo sito ufficiale possiamo installare una versione specifica di nostra scelta.
Per utilizzare il repository apt, segui questi passaggi:
Scegli la tua versione di Ubuntu
La mia versione di Ubuntu è Bionic (18.04)
Crea il file repository PostgreSQL.
nano /etc/apt/sources.list.d/pgdg.list
e aggiungi una riga per il repository in pgdg.list
deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
Se utilizzi una versione di Ubuntu diversa dalla 18.04 (Bionic), sostituisci la parola "bionic" con il nome della versione di Ubuntu utilizzata. Importa la chiave di firma del repository e aggiorna gli elenchi dei pacchetti
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
Ora installa l'ultimo server PostgreSQL nel nostro sistema Ubuntu usando i seguenti comandi.
sudo apt-get install postgresql postgresql-contrib
Dopo l'installazione, il server PostgreSQL si avvierà automaticamente.
Verifica lo stato del servizio PostgreSQL
systemctl status postgresql
Ora verifica la connessione PostgreSQL e la versione del server PostgreSQL.
sudo -u postgres psql -c "SELECT version();"
Questo si connetterà a PostgreSQL utilizzando psql e fornirà la versione del server
version
-----------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 11.4 (Ubuntu 11.4-1.pgdg18.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit
Utilizzo di ruoli PostgreSQL e metodi di autenticazione
PostgreSQL utilizza il concetto del ruolo del permesso di accesso al database. Un ruolo può essere applicato a un utente del database oa un gruppo di utenti del database.
PostgreSQL supporta più metodi di autenticazione.
I seguenti sono i metodi di autenticazione più comunemente usati di PostgreSQL.
1.Fidati
I metodi di autenticazione attendibili possono essere definiti in pg_hba.conf, utilizzando questo metodo, il ruolo può connettersi a un database senza una password.
2.Password
Un ruolo può connettersi al database dimostrando la password.
3.Ident
I metodi di autenticazione dell'identità funzionano solo su connessioni TCP/IP.
4. Pari
Metodi di autenticazione peer utilizzati solo per la connessione locale.
Il file pg_hba.conf definisce i metodi di autenticazione del client. possiamo cambiare i metodi di autenticazione modificando i seguenti file.
nano /etc/postgresql/11/main/pg_hba.conf
In questo file, PostgreSQL utilizza il metodo di autenticazione peer per impostazione predefinita. possiamo modificare i metodi di autenticazione modificando il peer in altri metodi.
Al momento dell'installazione di PostgreSQL, l'utente postgres verrà creato per impostazione predefinita, postgres è il superutente del database PostgreSQL, allo stesso modo l'utente root nel server del database MYSQL. questo utente 'postgres' crea anche in Ubuntu.
Connetti a PostgreSQL
Il seguente comando per connettersi con PostgreSQL.
sudo -i -u postgres
Ora possiamo connetterci a un prompt di Postgres come MySQL digitando il seguente comando.
psql
Otterremo il seguente prompt e siamo pronti per eseguire query PostgreSQL su di esso.
Tieni presente che possiamo connetterci direttamente al server del database semplicemente digitando il seguente comando.
sudo -u postgres psql
Creazione di ruoli e database in PostgreSQL
Abbiamo già il ruolo postgres nel database, ora creiamo un nuovo ruolo usando i seguenti comandi.
[email protected]:/home# sudo -u postgres createuser --interactive
Enter name of role to add: sohan
Shall the new role be a superuser? (y/n) y
Possiamo elencare i ruoli utente esistenti usando il seguente comando.
postgres=# \du
oppure esegui il comando seguente dal prompt di postgres.
SELECT rolname FROM pg_roles;
Possiamo eliminare qualsiasi ruolo utente esistente utilizzando il comando DROP ROLE.
postgres=# DROP ROLE sohan;
DROP ROLE
Creazione di un database PostgreSQL
Qui possiamo accedere come account postgres ed eseguire il comando seguente.
[email protected]:~$ createdb dummu
oppure possiamo semplicemente eseguire i seguenti comandi con i normali utenti di Ubuntu.
sudo -u postgres createdb dummu
Accedi al prompt di postgres utilizzando il nuovo ruolo
esegui direttamente dal tuo terminale di sistema per creare un nuovo utente.
sudo adduser sohan
Dopo aver creato un nuovo utente nel sistema, esegui semplicemente
sudo -u sohan psql
oppure digita il seguente comando
sudo -i -u sohan
psql
Possiamo connetterci a un database diverso semplicemente fornendo il nome del database come
psql -d dummu
Dopo la connessione al database di cui sopra, possiamo ottenere le informazioni sul database con un semplice comando
dummu=> \conninfo
output
You are connected to database "dummu" as user "sohan" via socket in "/var/run/postgresql" at port "5432"UPDATE dummu SET password = 'postgres' where username = 'sohan';
Creazione di tabelle in PostgreSQL
Dopo aver creato ruoli, database e aver creato una connessione con il server database, ora creeremo una tabella.
CREATE TABLE dummu(user_id serial PRIMARY KEY,username VARCHAR (50) UNIQUE NOT NULL, password VARCHAR (50) NOT NULL, email VARCHAR (355) UNIQUE NOT NULL, created_on TIMESTAMP NOT NULL, last_login TIMESTAMP);
Il comando sopra creerà una nuova tabella fittizia proprio come MySQL, possiamo controllare questa nuova tabella digitando
\d
Qui vedremo anche la tabella dummu_user_id_seq, che terrà traccia del numero successivo nella sequenza.
Se vogliamo solo visualizzare il nome della tabella senza la sequenza, eseguire il comando seguente.
\dt
Verrà visualizzata solo la tabella dummu
sohan=> \dt
Output
List of relations
Schema | Na | Type | Owner
--------+------------+-------+-------
public | dummu | table | soha
Aggiunta di dati nella tabella
Ora aggiungeremo i dati nella tabella dummu digitando,
Insert into dummu(user_id,username,password,email,created_on,last_login) values (1,'sohan','123456','[email protected]','2019-06-24 11:11:11','2019-06-24 11:11:11');
Ora recupereremo i dati dalla tabella dummu,
SELECT * FROM dummu;
Elimina colonna dalla tabella
Ora eliminiamo i dati da questa tabella
DELETE FROM dummu WHERE email = '[email protected]';
Modifica tabella PostgreSQL
In modo simile possiamo modificare la tabella usando alter query as
ALTER TABLE dummu DROP email;
Questo rimuoverà il campo email dalla tabella dummu.
verificalo entro
SELECT * FROM dummu;
output:-
user_id | username | password | created_on | last_login
---------+----------+----------+---------------------+---------------------
1 | sohan | 123456 | 2019-06-24 11:11:11 | 2019-06-24 11:11:11
Aggiornamento dei dati in una tabella
Ora vedremo come aggiornare i dati in una tabella
esegui il comando seguente per aggiornare la password nella tabella dummu
UPDATE dummu SET password = 'postgres' where username = 'sohan';
verificare le modifiche semplicemente digitando
SELECT * FROM dummu;
output
user_id | username | password | created_on | last_login
---------+----------+----------+---------------------+---------------------
1 | sohan | postgres | 2019-06-24 11:11:11 | 2019-06-24 11:11:11
In breve, in questo tutorial impariamo come installare PostgreSQL, creando ruolo e database e comando database di base.