PostgreSQLName aussi appelé postgres est un système de base de données relationnelle objet puissant et open-source. Il s’agit d’une base de données de niveau entreprise dotée de fonctionnalités telles que la journalisation en écriture anticipée pour la tolérance aux pannes, la réplication asynchrone, le contrôle de la concurrence multi-versions (MVCC), les sauvegardes en ligne/à chaud, la récupération ponctuelle, le planificateur/optimiseur de requêtes, les espaces de table, transactions imbriquées (points de sauvegarde), etc.
La dernière version 15.2 de Postgres a été publiée le 9 février 2023 par le groupe de développement mondial PostgreSQL.
Fonctionnalités PostgreSQL
Les fonctionnalités de la nouvelle version sont les suivantes :
- Réplication logique: cette fonctionnalité permet la réplication d’objets de base de données individuels (qu’il s’agisse de lignes, de tables ou de bases de données sélectives) sur des serveurs de secours. Il offre plus de contrôle sur la réplication des données. Implémenté en utilisant le modèle éditeur-abonné.
- Engagement de quorum pour la réplication synchrone: Dans cette fonctionnalité, dba peut désormais spécifier le nombre de veilles qui reconnaissent que les modifications apportées à la base de données ont été effectuées, afin que les données puissent être considérées comme écrites en toute sécurité.
- Authentification SCRAM-SHA-256: Amélioration de la sécurité par rapport à l’authentification et au stockage des mots de passe existants basés sur MD5.
- Amélioration de l’exécution des requêtes parallèles.
- Partitionnement déclaratif de table.
- Prise en charge de la recherche en texte intégral pour JSON et JSONB.
Dans cet article, nous allons vous expliquer comment installer PostgreSQL 15 en utilisant l’installation du code source dans les systèmes Linux. Ceux qui recherchent une installation facile à partir du gestionnaire de packages de distribution peuvent suivre les guides ci-dessous.
Installer PostgreSQL à partir de la source
Comme postgres est une base de données open-source, elle peut être construite à partir du code source selon ses besoins/exigences. nous pouvons personnaliser le processus de construction et d’installation en fournissant une ou plusieurs options de ligne de commande pour diverses fonctionnalités supplémentaires.
Le principal avantage de l’installation du code source est qu’il peut être hautement personnalisé lors de l’installation.
1. Installez d’abord les prérequis requis tels que gcc, readline-devel, et zlib-devel en utilisant le gestionnaire de paquets comme indiqué.
# yum install gcc zlib-devel readline-devel [On RHEL/CentOS] # apt install gcc zlib1g-dev libreadline6-dev [On Debian/Ubuntu]
2. Téléchargez le fichier tar du code source depuis le site officiel site postgres en utilisant la commande wget suivante directement sur le système.
# wget https://ftp.postgresql.org/pub/source/v15.2/postgresql-15.2.tar.bz2
3. Utilisez la commande tar pour extraire le fichier tarball téléchargé. Un nouveau répertoire nommé postgresql-15.2 sera créé.
# tar -xvf postgresql-15.2.tar.bz2 # cd postgresql-15.2 # ls -l
Exemple de sortie
total 780 -rw-r--r-- 1 1107 1107 397 Feb 6 16:39 aclocal.m4 drwxrwxrwx 2 1107 1107 4096 Feb 6 16:50 config -rwxr-xr-x 1 1107 1107 601519 Feb 6 16:39 configure -rw-r--r-- 1 1107 1107 89258 Feb 6 16:39 configure.ac drwxrwxrwx 61 1107 1107 4096 Feb 6 16:50 contrib -rw-r--r-- 1 1107 1107 1192 Feb 6 16:39 COPYRIGHT drwxrwxrwx 3 1107 1107 87 Feb 6 16:50 doc -rw-r--r-- 1 1107 1107 4264 Feb 6 16:39 GNUmakefile.in -rw-r--r-- 1 1107 1107 277 Feb 6 16:39 HISTORY -rw-r--r-- 1 1107 1107 63842 Feb 6 16:51 INSTALL -rw-r--r-- 1 1107 1107 1875 Feb 6 16:39 Makefile -rw-r--r-- 1 1107 1107 1213 Feb 6 16:39 README drwxrwxrwx 16 1107 1107 4096 Feb 6 16:51 src
4. La prochaine étape de la procédure d’installation consiste à configurer le code source téléchargé en choisissant les options en fonction de vos besoins. Utiliser ./configure --help
pour obtenir de l’aide avec diverses options.
# ./configure --help `configure' configures PostgreSQL 15.2 to adapt to many kinds of systems. Usage: ./configure [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print `checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for `--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or `..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local/pgsql] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] ....
5. Créez maintenant un répertoire dans lequel vous souhaitez installer les fichiers postgres et utilisez l’option de préfixe avec configure.
# mkdir /opt/PostgreSQL # ./configure --prefix=/opt/PostgreSQL
Exemple de sortie
checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking which template to use... linux checking whether NLS is wanted... no checking for default port number... 5432 checking for block size... 8kB checking for segment size... 1GB checking for WAL block size... 8kB checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for gcc option to accept ISO C99... none needed checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking for gawk... gawk checking whether gcc supports -Wdeclaration-after-statement, for CFLAGS... yes checking whether gcc supports -Werror=vla, for CFLAGS... yes checking whether gcc supports -Werror=unguarded-availability-new, for CFLAGS... no ....
Construire PostgreSQL à partir de la source
6. Après la configuration, nous allons ensuite commencer à construire postgreSQL en utilisant ce qui suit faire une commande.
# make
Une fois le processus de construction terminé, installez maintenant postgresql à l’aide de la commande suivante.
# make install
PostgreSQL 15 a été installé dans /opt/PostgreSQL annuaire.
Création d’un utilisateur Postgres
7. Créez maintenant un utilisateur et un répertoire postgres à utiliser comme données répertoire d’initialisation du cluster de bases de données. Le propriétaire de ce répertoire de données doit être un utilisateur postgres et les autorisations doivent être de 700 et également définir un chemin pour les binaires postgresql pour notre facilité.
# useradd postgres # passwd postgres # mkdir -p /pgdatabase/data # chown -R postgres. /pgdatabase/data # echo 'export PATH=$PATH:/opt/PostgreSQL/bin' > /etc/profile.d/postgres.sh # source /etc/profile.d/postgres.sh
Initialisation de la base de données Postgres
8. Initialisez maintenant la base de données en utilisant la commande suivante comme postgres l’utilisateur avant d’utiliser tout postgres commandes.
# su postgres $ initdb -D /pgdatabase/data/ -U postgres -W
Où -D
est l’emplacement de ce cluster de base de données ou nous pouvons dire que c’est le répertoire de données où nous voulons initialiser le cluster de base de données, -U
pour le nom du superutilisateur de la base de données et -W
pour l’invite de mot de passe pour le superutilisateur db.
Pour plus d’informations et d’options, nous pouvons nous référer à initdb --help
.
9. Après avoir initialisé la base de données, démarrez le cluster de bases de données ou, si vous devez modifier le port ou écouter l’adresse du serveur, modifiez le /pgdatabase/data/postgresql.conf fichier dans le répertoire de données du serveur de base de données.
$ pg_ctl -D /pgdatabase/data/ start
dix. Après avoir démarré la base de données, vérifiez l’état du processus du serveur postgres à l’aide des commandes ps et netstat suivantes.
$ ps -ef |grep -i postgres $ netstat -apn |grep -i 51751
Nous pouvons voir que le cluster de bases de données fonctionne correctement et que les journaux de démarrage peuvent être trouvés à l’emplacement spécifié avec -l
option lors du démarrage du cluster de bases de données.
11. Connectez-vous maintenant au cluster de bases de données et créez une base de données à l’aide des commandes suivantes.
$ psql -p 51751 postgres=# create database test; postgres=# \l to list all databases in cluster postgres=# \q to quit form postgres console
C’est ça! Dans nos prochains articles, je couvrirai la configuration, la configuration de la réplication et l’installation de l’outil pgAdmin, jusque-là, restez à l’écoute de Tecmint.
Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer :
TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint ! pour rechercher ou parcourir les milliers d’articles publiés accessibles GRATUITEMENT à tous.
Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en signe d’appréciation.
Nous sommes reconnaissants pour votre soutien sans fin.