postgresql Tutoriel
Démarrer avec postgresql
Recherche…
Remarques
Cette section fournit une vue d'ensemble de ce que postgresql est et pourquoi un développeur peut vouloir l'utiliser.
Il devrait également mentionner tous les grands sujets dans postgresql, et établir un lien avec les sujets connexes. La documentation de postgresql étant nouvelle, vous devrez peut-être créer des versions initiales de ces rubriques connexes.
Versions
Version | Date de sortie | Date de fin de vie |
---|---|---|
9,6 | 2016-09-29 | 2021-09-01 |
9,5 | 2016-01-07 | 2021-01-01 |
9.4 | 2014-12-18 | 2019-12-01 |
9.3 | 2013-09-09 | 2018-09-01 |
9.2 | 2012-09-10 | 2017-09-01 |
9.1 | 2011-09-12 | 2016-09-01 |
9.0 | 2010-09-20 | 2015-09-01 |
8.4 | 2009-07-01 | 2014-07-01 |
Installation sur GNU + Linux
Sur la plupart des systèmes d'exploitation GNU + Linux, PostgreSQL peut facilement être installé à l'aide du gestionnaire de packages du système d'exploitation.
Famille Red Hat
Vous trouverez des réponses à vos questions ici: https://yum.postgresql.org/repopackages.php
Téléchargez le référentiel sur la machine locale avec la commande
yum -y install https://download.postgresql.org/pub/repos/yum/X.X/redhat/rhel-7-x86_64/pgdg-redhatXX-X.X-X.noarch.rpm
Afficher les packages disponibles:
yum list available | grep postgres*
Les paquets nécessaires sont: postgresqlXX postgresqlXX-server postgresqlXX-libs postgresqlXX-contrib
Ceux-ci sont installés avec la commande suivante: yum -y installe postgresqlXX postgresqlXX-server postgresqlXX-libs postgresqlXX-contrib
Une fois installé, vous devrez démarrer le service de base de données en tant que propriétaire du service (la valeur par défaut est postgres). Ceci est fait avec la commande pg_ctl.
sudo -su postgres
./usr/pgsql-X.X/bin/pg_ctl -D /var/lib/pgsql/X.X/data start
Pour accéder à la base de données en CLI, entrez psql
Famille Debian
Sur Debian et les systèmes d'exploitation dérivés , tapez:
sudo apt-get install postgresql
Cela installera le package du serveur PostgreSQL, à la version par défaut proposée par les référentiels de packages du système d'exploitation.
Si la version installée par défaut n'est pas celle que vous souhaitez, vous pouvez utiliser le gestionnaire de packages pour rechercher des versions spécifiques pouvant être proposées simultanément.
Vous pouvez également utiliser le référentiel Yum fourni par le projet PostgreSQL (appelé PGDG ) pour obtenir une version différente. Cela peut autoriser les versions non encore proposées par les référentiels de packages du système d'exploitation.
Comment installer PostgreSQL via MacPorts sur OSX
Pour installer PostgreSQL sur OSX, vous devez savoir quelles versions sont actuellement prises en charge.
Utilisez cette commande pour voir quelles versions sont disponibles.
sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
Vous devriez obtenir une liste qui ressemble à ce qui suit:
postgresql80 @8.0.26 databases/postgresql80
postgresql81 @8.1.23 databases/postgresql81
postgresql82 @8.2.23 databases/postgresql82
postgresql83 @8.3.23 databases/postgresql83
postgresql84 @8.4.22 databases/postgresql84
postgresql90 @9.0.23 databases/postgresql90
postgresql91 @9.1.22 databases/postgresql91
postgresql92 @9.2.17 databases/postgresql92
postgresql93 @9.3.13 databases/postgresql93
postgresql94 @9.4.8 databases/postgresql94
postgresql95 @9.5.3 databases/postgresql95
postgresql96 @9.6beta2 databases/postgresql96
Dans cet exemple, la version la plus récente de PostgreSQL est prise en charge en 9.6, nous allons donc l'installer.
sudo port install postgresql96-server postgresql96
Vous verrez un journal d'installation comme ceci:
---> Computing dependencies for postgresql96-server
---> Dependencies to be installed: postgresql96
---> Fetching archive for postgresql96
---> Attempting to fetch postgresql96-9.6beta2_0.darwin_15.x86_64.tbz2 from https://packages.macports.org/postgresql96
---> Attempting to fetch postgresql96-9.6beta2_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/postgresql96
---> Installing postgresql96 @9.6beta2_0
---> Activating postgresql96 @9.6beta2_0
To use the postgresql server, install the postgresql96-server port
---> Cleaning postgresql96
---> Fetching archive for postgresql96-server
---> Attempting to fetch postgresql96-server-9.6beta2_0.darwin_15.x86_64.tbz2 from https://packages.macports.org/postgresql96-server
---> Attempting to fetch postgresql96-server-9.6beta2_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/postgresql96-server
---> Installing postgresql96-server @9.6beta2_0
---> Activating postgresql96-server @9.6beta2_0
To create a database instance, after install do
sudo mkdir -p /opt/local/var/db/postgresql96/defaultdb
sudo chown postgres:postgres /opt/local/var/db/postgresql96/defaultdb
sudo su postgres -c '/opt/local/lib/postgresql96/bin/initdb -D /opt/local/var/db/postgresql96/defaultdb'
---> Cleaning postgresql96-server
---> Computing dependencies for postgresql96
---> Cleaning postgresql96
---> Updating database of binaries
---> Scanning binaries for linking errors
---> No broken files found.
Le journal fournit des instructions sur le reste des étapes d'installation, nous le faisons ensuite.
sudo mkdir -p /opt/local/var/db/postgresql96/defaultdb
sudo chown postgres:postgres /opt/local/var/db/postgresql96/defaultdb
sudo su postgres -c '/opt/local/lib/postgresql96/bin/initdb -D /opt/local/var/db/postgresql96/defaultdb'
Maintenant, nous démarrons le serveur:
sudo port load -w postgresql96-server
Vérifiez que nous pouvons nous connecter au serveur:
su postgres -c psql
Vous verrez une invite de postgres:
psql (9.6.1)
Type "help" for help.
postgres=#
Ici, vous pouvez saisir une requête pour vérifier que le serveur est en cours d'exécution.
postgres=#SELECT setting FROM pg_settings WHERE name='data_directory';
Et voir la réponse:
setting
------------------------------------------
/opt/local/var/db/postgresql96/defaultdb
(1 row)
postgres=#
Tapez \ q pour quitter:
postgres=#\q
Et vous serez de retour à votre invite de shell.
Toutes nos félicitations! Vous avez maintenant une instance PostgreSQL en cours d'exécution sur OS / X.
Postgres.app pour Mac OSX
Un outil extrêmement simple pour installer PostgreSQL sur un Mac est disponible en téléchargeant Postgres.app .
Vous pouvez modifier les préférences pour que PostgreSQL fonctionne en arrière-plan ou uniquement lorsque l'application est en cours d'exécution.
Installer PostgreSQL sur Windows
Bien qu'il soit recommandé d'utiliser un système d'exploitation basé sur Unix (par exemple, Linux ou BSD) en tant que serveur de production, vous pouvez facilement installer PostgreSQL sur Windows (uniquement en tant que serveur de développement).
Téléchargez les fichiers binaires d'installation Windows à partir de EnterpriseDB: http://www.enterprisedb.com/products-services-training/pgdownload Il s'agit d'une société tierce créée par les principaux contributeurs au projet PostgreSQL qui ont optimisé les fichiers binaires pour Windows.
Sélectionnez la dernière version stable (non bêta) (9.5.3 au moment de l'écriture). Vous voudrez probablement le package Win x86-64, mais si vous utilisez une version 32 bits de Windows, ce qui est courant sur les anciens ordinateurs, sélectionnez plutôt Win x86-32.
Remarque: le passage entre les versions bêta et stable impliquera des tâches complexes telles que le vidage et la restauration. La mise à niveau au sein de la version bêta ou stable nécessite uniquement un redémarrage du service.
Vous pouvez vérifier si votre version de Windows est 32 ou 64 bits en allant dans Panneau de configuration -> Système et sécurité -> Système -> Type de système, qui indiquera "##-bit Operating System". C'est le chemin pour Windows 7, il peut être légèrement différent sur les autres versions de Windows.
Dans le programme d'installation, sélectionnez les packages que vous souhaitez utiliser. Par exemple:
- pgAdmin ( https://www.pgadmin.org ) est une interface graphique gratuite pour la gestion de votre base de données et je le recommande vivement. En 9.6, ce sera installé par défaut.
- PostGIS ( http://postgis.net ) fournit des fonctionnalités d'analyse géospatiale sur les coordonnées GPS, les distances, etc. très populaires parmi les développeurs SIG.
- Le package linguistique fournit les bibliothèques requises pour le langage procédural officiellement pris en charge PL / Python, PL / Perl et PL / Tcl.
- D'autres packages, tels que pgAgent, pgBouncer et Slony, sont utiles pour les serveurs de production de plus grande taille, uniquement vérifiés en fonction des besoins.
Tous ces packages optionnels peuvent être installés ultérieurement via "Application Stack Builder".
Remarque: Il existe également d'autres langues non officiellement prises en charge telles que PL / V8 , PL / Lua PL / Java disponibles.
Ouvrez pgAdmin et connectez-vous à votre serveur en double-cliquant sur son nom, par ex. "PostgreSQL 9.5 (localhost: 5432).
À partir de là, vous pouvez suivre des guides tels que l'excellent livre PostgreSQL: Up and Running, 2nd Edition ( http://shop.oreilly.com/product/0636920032144.do ).
Facultatif: Type de démarrage du service manuel
PostgreSQL s'exécute en arrière-plan comme un service légèrement différent de la plupart des programmes. Ceci est courant pour les bases de données et les serveurs Web. Son type de démarrage par défaut est Automatique, ce qui signifie qu'il fonctionnera toujours sans aucune intervention de votre part.
Pourquoi voudriez-vous contrôler manuellement le service PostgreSQL? Si vous utilisez votre PC comme serveur de développement de temps en temps et que vous l'utilisez également pour jouer à des jeux vidéo par exemple, PostegreSQL peut ralentir un peu votre système pendant son fonctionnement.
Pourquoi ne voudriez-vous pas un contrôle manuel? Démarrer et arrêter le service peut être un problème si vous le faites souvent.
Si vous ne remarquez aucune différence de vitesse et que vous préférez éviter les problèmes, laissez son type de démarrage sur Automatique et ignorez le reste de ce guide. Autrement...
Allez dans Panneau de configuration -> Système et sécurité -> Outils d'administration.
Sélectionnez "Services" dans la liste, cliquez avec le bouton droit sur son icône, puis sélectionnez Envoyer vers -> Bureau pour créer une icône de bureau pour un accès plus pratique.
Fermez la fenêtre Outils d'administration, puis lancez Services à partir de l'icône du bureau que vous venez de créer.
Faites défiler jusqu'à ce que vous voyiez un service avec un nom comme postgresql-x ## - 9. # (ex. "Postgresql-x64-9.5").
Cliquez avec le bouton droit sur le service postgres, sélectionnez Propriétés -> Type de démarrage -> Manuel -> Appliquer -> OK. Vous pouvez le ramener à l'automatique tout aussi facilement.
Si vous voyez d'autres services liés à PostgreSQL dans la liste tels que "pgbouncer" ou "PostgreSQL Scheduling Agent - pgAgent", vous pouvez également modifier leur type de démarrage en Manuel car ils ne sont pas très utiles si PostgreSQL n'est pas en cours d'exécution. Bien que cela signifie plus de tracas chaque fois que vous commencez et arrêtez, c'est à vous de décider. Ils n'utilisent pas autant de ressources que PostgreSQL ™ lui-même et peuvent ne pas avoir d'impact significatif sur les performances de votre système.
Si le service est en cours d'exécution, son statut indique Commencé, sinon il ne fonctionne pas.
Pour le démarrer, cliquez avec le bouton droit et sélectionnez Démarrer. Une invite de chargement sera affichée et devrait disparaître tout de suite après. Si cela vous donne une erreur, essayez une seconde fois. Si cela ne fonctionne pas, il y a eu un problème avec l'installation, peut-être parce que vous avez modifié certains paramètres de Windows, la plupart des gens ne changent pas.
Pour arrêter les postgres, faites un clic droit sur le service et sélectionnez Arrêter.
Si vous rencontrez un problème lors de la tentative de connexion à votre base de données, vérifiez les services pour vous assurer de leur exécution.
Pour d'autres détails très spécifiques sur l'installation d'EDB PostgreSQL, par exemple la version runtime python dans le pack de langue officiel d'une version PostgreSQL spécifique, reportez-vous toujours au guide d'installation EBD officiel , modifiez la version en lien avec la version majeure de votre installateur.
Installer postgresql avec brew sur Mac
Homebrew s'appelle " le gestionnaire de paquets manquant pour macOS ". Il peut être utilisé pour créer et installer des applications et des bibliothèques. Une fois installé , vous pouvez utiliser la commande brew
pour installer PostgreSQL et ses dépendances comme suit:
brew update
brew install postgresql
Homebrew installe généralement la dernière version stable. Si vous en avez besoin d'un autre, alors la brew search postgresql
les versions disponibles. Si vous avez besoin de PostgreSQL avec des options spécifiques, alors les brew info postgresql
les options supportées. Si vous avez besoin d'une option de génération non prise en charge, vous devrez peut-être effectuer vous-même la construction, mais vous pourrez toujours utiliser Homebrew pour installer les dépendances communes.
Démarrer le serveur:
brew services start postgresql
Ouvrez l'invite PostgreSQL
psql
Si psql se plaint qu'il n'y a pas de base de données correspondante pour votre utilisateur, exécutez createdb
.
Installer PostgreSQL depuis Source sur Linux
Dépendances:
- Version de GNU> 3.80
- un compilateur ISO / ANSI (par exemple gcc)
- un extracteur comme tar ou gzip
- zlib-devel
- readline-deod pour libedit-devel
Sources: Lien vers la dernière source (9.6.3)
Maintenant, vous pouvez extraire les fichiers source:
tar -xzvf postgresql-9.6.3.tar.gz
Il y a un grand nombre d'options différentes pour la configuration de PostgreSQL:
Lien complet vers la procédure d'installation complète
Petite liste d'options disponibles:
-
--prefix=PATH
Chemin--prefix=PATH
pour tous les fichiers -
--exec-prefix=PATH
chemin pour le fichier de type architectural -
--bindir=PATH
Chemin d'accès aux programmes exécutables -
--sysconfdir=PATH
Chemin d'accès aux fichiers de configuration -
--with-pgport=NUMBER
spécifie un port pour votre serveur -
--with-perl
ajoute le support perl -
--with-python
ajoute le support python -
--with-openssl
ajoute le support openssl -
--with-ldap
ajoute le support ldap -
--with-blocksize=BLOCKSIZE
définit la taille de la page en Ko-
BLOCKSIZE
doit avoir une puissance de 2 et entre 1 et 32
-
-
--with-wal-segsize=SEGSIZE
définit la taille de la taille du segment WAL en Mo-
SEGSIZE
doit être une puissance de 2 entre 1 et 64
-
Allez dans le nouveau dossier créé et exécutez le script cofigure avec les options souhaitées:
./configure --exec=/usr/local/pgsql
Exécuter make
pour créer les fichiers object
Exécuter make install
pour installer PostgreSQL à partir des fichiers construits
Exécuter make clean
pour ranger
Pour l'extension, changez le répertoire cd contrib
, exécutez make
et make install