Dans cet article, nous allons vous montrer comment installer PostgreSQL 12 sur Ubuntu 20.04/18.04/16.04. PostgreSQL est un système de base de données Open Source et il est puissant comme les autres systèmes de bases de données relationnelles.
Vous pouvez afficher la page de publication de postgreSQL 12.
Étapes pour installer PostgreSQL 12 sur Ubuntu
Étape 1 :Mettre à jour le système Ubuntu
Il est toujours recommandé de mettre à jour le système avant d'installer PostgreSQL.
mise à jour sudo apt
Étape 2 :Installez le package requis
sudo apt -y install vim bash-completion wget
Si le package est déjà installé, vous obtiendrez la sortie ci-dessous, vous pouvez l'ignorer.
Exemple de sortie :
root@PostgreSQL :~# sudo apt -y install vim bash-completion wgetLecture des listes de packages... DoneBuilding dependency tree Lecture des informations d'état... Donebash-completion est déjà la version la plus récente (1:2.11-2ubuntu1).vim est déjà la version la plus récente (2:8.2.0716-3ubuntu2).wget est déjà la version la plus récente (1.20.3-1ubuntu1).wget défini sur installé manuellement.Le package suivant a été installé automatiquement et n'est plus requis :virtualbox-guest -utilsUtilisez 'sudo apt autoremove' pour le supprimer.0 mis à jour, 0 nouvellement installé, 0 à supprimer et 212 non mis à jour.root@PostgreSQL:~#
Étape 3 :Ajouter un référentiel PostgreSQL 12
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key ajouter -
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.listÉtape 4 :Installez PostgreSQL 12 sur Ubuntu
sudo apt updatesudo apt -y install postgresql-12 postgresql-client-12Exemple de sortie :
root@PostgreSQL :~# sudo apt -y install postgresql-12 postgresql-client-12Lecture des listes de packages... TerminéCréation de l'arborescence des dépendances Lecture des informations d'état... TerminéLe package suivant a été installé automatiquement et n'est plus requis :virtualbox- guest-utilsUtilisez « sudo apt autoremove » pour le supprimer. Les packages supplémentaires suivants seront installés ::postgresql-doc-12 isagLes NOUVEAUX packages suivants seront installés :libcommon-sense-perl libjson-perl libjson-xs-perl libpq5libtypes-serialiser-perl pgdg-keyring postgresql-12 postgresql-client-12postgresql-client-common postgresql-common sysstat0 mis à jour, 11 nouvellement installés, 0 à supprimer et 212 non mis à jour. Besoin d'obtenir 17,5 Mo d'archives. Après cette opération, 59,4 Mo d'espace disque supplémentaire seront utilisés. Obtenez :1 http://apt.postgresql.org/ pub/dépôt/apt groovy-pgdg/main amd64 libpq 5 amd64 13.3-1.pgdg20.10+1 [177 ko]Obtenir :2 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 libcommon-sense-perl amd64 3.75-1build2 [20,5 ko]Obtenir :3 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 libjson-perl all 4.02000-2 [80.9 kB]Get:4 http://apt.postgresql.org/pub/repos/apt groovy-pgdg /main amd64 pgdg-keyring all 2018.2 [10.7 kB]Get:5 http://apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-client-common all 226.pgdg20.10+1 [ 90,6 ko]Obtenez :6 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 libtypes-serialiser-perl all 1.0-1 [12,1 ko]Obtenez :7 http://us.archive.ubuntu.com /ubuntu groovy/main amd64 libjson-xs-perl amd64 4.020-1build1 [83.7 kB]Get:8 http://apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-client-12 amd64 12.7 -1.pgdg20.10+1 [1 429 ko]Obtenir :9 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 sysstat amd64 12.4.0-1 [471 ko]Obtenir :10 http:// apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-common tous 226.pgdg20.10+1 [2 46 kB]Obtenir :11 http://apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-12 amd64 12.7-1.pgdg20.10+1 [14,9 Mo]Récupéré 17,5 Mo en 15 s ( 1 141 Ko/s) Préconfiguration des packages ...Sélection du package précédemment désélectionné libcommon-sense-perl.(Lecture de la base de données ... 192977 fichiers et répertoires actuellement installés.)Préparation de la décompression .../00-libcommon-sense-perl_3.75 -1build2_amd64.deb ...Déballage de libcommon-sense-perl (3.75-1build2) ...Sélection du paquet précédemment désélectionné libjson-perl.Préparation de la décompression .../01-libjson-perl_4.02000-2_all.deb ... Déballage de libjson-perl (4.02000-2) ...Sélection du paquet libtypes-serialiser-perl précédemment désélectionné. perl (1.0-1) ...Sélection du paquet précédemment désélectionné libjson-xs-perl.Preparing to unpack .../03-libjson-xs-perl_4.020-1build1_amd64.deb ...Unpacking libjson-xs-perl (4.020 -1build1) ...Sélection du package précédemment désélectionné libpq5:amd64.P réparation pour décompresser .../04-libpq5_13.3-1.pgdg20.10+1_amd64.deb ...Déballage de libpq5:amd64 (13.3-1.pgdg20.10+1) ...Sélection du paquet précédemment désélectionné pgdg-keyring .Preparing to unpack .../05-pgdg-keyring_2018.2_all.deb ...Unpacking pgdg-keyring (2018.2) ...Sélection du paquet précédemment désélectionné postgresql-client-common.Preparing to unpack .../06-postgresql -client-common_226.pgdg20.10+1_all.deb ...Décompression de postgresql-client-common (226.pgdg20.10+1) ...Sélection du paquet précédemment désélectionné postgresql-client-12.Préparation de la décompression .../ 07-postgresql-client-12_12.7-1.pgdg20.10+1_amd64.deb ...Déballage de postgresql-client-12 (12.7-1.pgdg20.10+1) ...Sélection du paquet précédemment désélectionné postgresql-common. Préparation de la décompression .../08-postgresql-common_226.pgdg20.10+1_all.deb ...Ajout de 'détournement de /usr/bin/pg_config vers /usr/bin/pg_config.libpq-dev par postgresql-common'Décompression postgresql-common (226.pgdg20.10+1) ...Sélection du paquet précédemment désélectionné postgresql-12.Préparer la décompression .../09-postgresql-12_12.7-1.pgdg20.10+1_amd64.deb ...Déballage de postgresql-12 (12.7-1.pgdg20.10+1) ...Sélection du package sysstat précédemment désélectionné.Préparation à unpack .../10-sysstat_12.4.0-1_amd64.deb ...Déballage de sysstat (12.4.0-1) ...Configuration de pgdg-keyring (2018.2) ...Suppression de la clé apt.postgresql.org de confiance. gpg:OKConfiguration de libpq5:amd64 (13.3-1.pgdg20.10+1) ...Configuration de libcommon-sense-perl (3.75-1build2) ...Configuration de libtypes-serialiser-perl (1.0-1) .. .Configuration de libjson-perl (4.02000-2) ...Configuration de sysstat (12.4.0-1) ...Création du fichier de configuration /etc/default/sysstat avec la nouvelle versionupdate-alternatives :en utilisant /usr/bin/sar. sysstat pour fournir /usr/bin/sar (sar) en mode automatiqueCreated symlink /etc/systemd/system/sysstat.service.wants/sysstat-collect.timer→ /lib/systemd/system/sysstat-collect.timer.Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-summary.timer→ /lib/systemd/system/sysstat-summary.timer. Lien symbolique créé /etc/systemd/system/multi-user.target.wants/sys stat.service → /lib/systemd/system/sysstat.service.Setting up postgresql-client-common (226.pgdg20.10+1) ...Setting up libjson-xs-perl (4.020-1build1) ...Setting up postgresql-client-12 (12.7-1.pgdg20.10+1) ...update-alternatives :utiliser /usr/share/postgresql/12/man/man1/psql.1.gz pour fournir /usr/share/ man/man1/psql.1.gz (psql.1.gz) en mode automatiqueConfiguration de postgresql-common (226.pgdg20.10+1) ...Ajout de l'utilisateur postgres au groupe ssl-certCréation du fichier de configuration /etc/postgresql- common/createcluster.conf avec la nouvelle versionCréation de dictionnaires PostgreSQL à partir des packages myspell/hunspell installés...en_usSuppression des fichiers de dictionnaire obsolètes :lien symbolique créé /etc/systemd/system/multi-user.target.wants/postgresql.service → /lib/systemd/ system/postgresql.service.Setting up postgresql-12 (12.7-1.pgdg20.10+1) ...Creating new PostgreSQL cluster 12/main .../usr/lib/postgresql/12/bin/initdb -D / var/lib/postgresql/12/main --auth-local peer --auth-host md5Les fichiers appartenant à ce système de base de données appartiendront à utilisateur "postgres".Cet utilisateur doit également posséder le processus serveur.Le cluster de base de données sera initialisé avec les paramètres régionaux "en_US.UTF-8".Le codage de base de données par défaut a donc été défini sur "UTF8".La configuration de recherche de texte par défaut sera défini sur "anglais". Les sommes de contrôle des pages de données sont désactivées. correction des autorisations sur le répertoire existant /var/lib/postgresql/12/main ... okcréation de sous-répertoires ... oksélection de l'implémentation de la mémoire partagée dynamique ... posixselecting default max_connections ... 100selecting buffers_partagés par défaut ... 128Mosélection du fuseau horaire par défaut ... America/New_Yorkcréation des fichiers de configuration ... okexécution du script d'amorçage ... okexécution de l'initialisation post-amorçage ... oksynchronisation des données sur le disque ... okSuccès. Vous pouvez maintenant démarrer le serveur de base de données en utilisant :pg_ctlcluster 12 main startVer Cluster Port Status Owner Data directory Log file12 main 5432 down postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.logupdate- alternatives :utiliser /usr/share/postgresql/12/man/man1/postmaster.1.gz pour fournir /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) en mode automatiqueTraitement des déclencheurs pour systemd ( 246.6-1ubuntu1) ...Traitement des déclencheurs pour man-db (2.9.3-2) ...Traitement des déclencheurs pour libc-bin (2.32-0ubuntu3) ...root@PostgreSQL:~#Étape 5 :Vérifier l'état du service PostgreSQL
statut systemctl postgresql.service
Exemple de sortie :
root@PostgreSQL :~# systemctl status postgresql.service ● postgresql.service - PostgreSQL RDBMSLoaded :chargé (/lib/systemd/system/postgresql.service ; activé ; fournisseur p> Active :actif (quitté) depuis Sun 2021- 05-16 09:17:56 EDT ; il y a 1 min 56 s PID principal :10932 (code=exited, status=0/SUCCESS) 17:56 PostgreSQL systemd[1] :Démarrage de PostgreSQL RDBMS...16 mai 09:17:56 PostgreSQL systemd[1] :Terminé PostgreSQL RDBMS.root@PostgreSQL :~#Étape 6 :Connectez PostgreSQL
sudo su - postgresÉtape 7 :Réinitialisez le mot de passe PostgreSQL
Il est recommandé de réinitialiser le mot de passe en mot de passe fort
psql -c "modifier l'utilisateur postgres avec le mot de passe 'StrongAdminP@ssw0rd'"Exemple de sortie :
root@PostgreSQL :~# sudo su - postgrespostgres@PostgreSQL :~$ postgres@PostgreSQL :~$ psql -c "modifier l'utilisateur postgres avec le mot de passe 'StrongAdminP@ssw0rd'"ALTER ROLEpostgres@PostgreSQL :~$Étape 8 :Créer une base de données PostgreSQL
$ psql$ CRÉER LA BASE DE DONNÉES firsttestdb ;$ CRÉER L'UTILISATEUR testuser1 AVEC LE MOT DE PASSE CRYPTÉ 'MyDBP@ss0rd' ;$ ACCORDER TOUS LES PRIVILÈGES SUR LA BASE DE DONNÉES firsttestdb à testuser1 ;
Répertoriez la base de données PostgreSQL :
$\l
Comment se connecter à la base de données PostgreSQL :
\c premiertestdbExemple de sortie :
postgres=# \c firsttestdbVous êtes maintenant connecté à la base de données "firsttestdb" en tant qu'utilisateur "postgres".firsttestdb=#Nous allons maintenant voir comment autoriser les connexions distantes à la base de données PostgreSQL.
Étape 9 :Autoriser la connexion à distance à la base de données PostgreSQL
sudo nano /etc/postgresql/12/main/postgresql.confDécommenter la ligne "listen_addresses =‘*’ “
Enregistrez le fichier et redémarrez le service PostgreSQL
sudo systemctl redémarrer postgresqlÉtape 10 :Vérifiez l'adresse d'écoute
netstat -tunelp | grep 5432Exemple de sortie :
root@PostgreSQL :~# netstat -antple | grep 5432tcp 0 0 0.0.0.0:5432 0.0.0.0:* ECOUTEZ 135 253939 13850/postgres tcp6 0 0 :::5432 :::* ECOUTEZ 135 253940 13850/postgres root@PostgreSQL:~#Fin de l'article, nous avons vu comment installer PostgreSQL 12 sur Ubuntu 20.04/18.04/16.04.