Connexion avec psql
Utilisez psql
pour l'interaction directe et la surveillance des structures de données créées dans la base de données. psql
est également utile pour tester et surveiller les requêtes et les performances, installer et modifier
des scripts et d'autres activités de gestion.
L'utilisateur admin
est doté du rôle par défaut PostgreSQL pg_monitor
qui permet d'accéder aux vues et fonctions de surveillance
de PostgreSQL. Par défaut, l'utilisateur admin
n'a pas de droits sur les objets créés par d'autres utilisateurs.
Vous devez définir le mot de passe admin
avant de l'utiliser pour vous connecter à la base de données. Pour plus d'informations, voir la page Définition du mot de passe d'administrateur.
Installation de psql
L'utilisation de psql
nécessite que les outils client PostgreSQL soient installés sur le système local. Ils peuvent être installés avec le paquetage complet de PostgreSQL fourni par postgresql.org ou en tant que paquet à partir du gestionnaire de paquets de votre système d'exploitation.
Pour plus d'informations sur psql
, voir la documentation PostgreSQL.
La plupart des instructions d'installation des outils PostgreSQL supposent que vous souhaitez que la base de données soit également installée. Il s'agit d'une hypothèse raisonnable si vous traitez avec des utilisateurs qui n'ont pas accès à PostgreSQL dans le cloud ou sur un serveur distant.
Voici les étapes à suivre pour installer psql
en tant qu'outil autonome sur macOS, Linux, et Windows.
Installation de psql
sous macOS avec Homebrew
Nous recommandons Homebrew comme gestionnaire de paquets pour macOS. Avec Homebrew, vous pouvez installer de nombreuses applications, généralement avec les programmes disponibles
dans /usr/local/bin
. Le package Homebrew pour les outils client PostgreSQL est le package libpq
. Brew facilite l'installation:
brew install libpq
Il y a cependant une petite interception: libpq
ne s'installera pas dans le répertoire /usr/local/bin
. Pour que cela se produise, vous devez exécuter:
brew link --force libpq
Ce qui va lier symlink (un fichier qui pointe vers un autre fichier ou dossier) tous les outils, et pas seulement libpq
, dans le répertoire /usr/local/bin
.
Installation de postgresql-client
sur Ubuntu
Les systèmes Linux, contrairement aux systèmes macOS,, disposent d'un gestionnaire de paquets intégré. Pour les distributions basées sur Ubuntu (et Debian), il s'agit de la commande apt
. Le client PostgreSQL est distribué dans
le logiciel nommé postgresql-client
. Pour l'installer, exécutez une commande telle que :
sudo apt-get install postgresql-client
Ceci installera le client PostgreSQL.
Installation de postgresql-client
sur Red Hat Enterprise Linux
Pour Red Hat Enterprise Linux (ou RHEL comme on l'écrit habituellement), il y a un peu plus de configuration qu'avec Ubuntu. Pour RHEL, le gestionnaire de paquets est Yum
.
Tout d'abord, vous devez faire pointer Yum
vers le référentiel PostgreSQL, comme ceci :
sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-2.noarch.rpm
Yum
se rend sur le site URL et se configure pour utiliser ce dépôt de paquets. Ceci fait, vous pouvez ajouter des paquets par nom :
sudo yum install postgresql15
Cette commande n'installe que les paquets clients. Si vous vous demandez où trouver ce référentiel URL, rendez-vous sur Linux Downloads ( Red Hat Family) où vous trouverez un formulaire qui vous permettra de sélectionner la version PostgreSQL, la plate-forme et l'architecture et qui vous donnera les instructions appropriées pour cette variante Red Hat- qui comprend CentOS, Scientific Linux, et Oracle Enterprise Linux. Il comprend également Fedora. Les dépôts par défaut de Fedora disposent déjà d'un client PostgreSQL. Pour Fedora 27 et 28 et plus, installez le client PostgreSQL à partir du terminal avec :
sudo dnf install postgresql.x86_64
Installation d'psql
sous Windows
Pour Windows, utilisez le programme d'installation PostgreSQL d'Enterprise DB. Il s'agit d'un paquet d'installation complet
pour PostgreSQL sur Windows, mais vous pouvez le configurer pour n'installer que les outils de ligne de commande comme psql
. Sélectionnez votre PostgreSQL et les versions Windows. Une fois le fichier exécutable téléchargé, exécutez-le.
Sélectionnez uniquement l'option Outils de ligne de commande, si vous n'avez pas besoin d'installer le serveur.
Après l'installation, vous configurez vos variables d'environnement Windows afin de pouvoir utiliser le client psql
dans l'invite de commande. Allez dans le Panneau de configuration > Système et sécurité > Système et sélectionnez* Paramètres système avancés*. De là, vous voyez une boîte appelée Propriétés du système. Sélectionnez Variables d'environnement. Une fenêtre apparaît avec les
deux ensembles de variables d'environnement. Dans l'ensemble supérieur, marqué "Variables utilisateur pour...", sélectionnez l'entrée PATH
et cliquez sur le bouton Editer. Une fenêtre d'édition apparaît.
Cliquez sur Nouveau et ajoutez le chemin d'accès au client psql
. Votre chemin d'accès dépendra de l'endroit où PostgreSQL a été installé, mais il s'agit généralement du chemin suivant :
C:\Program Files\PostgreSQL\<POSTGRES_VERSION>\bin
Ensuite, cliquez plusieurs fois sur OK pour revenir au bureau. Démarrez une nouvelle invite de commande et vous devriez être en mesure d'exécuter psql
.
psql
Chaînes de connexion
Les chaînes de connexion sont affichées dans le panneau Endpoints de la vue d'ensemble de votre déploiement et peuvent également être récupérées à partir du plug-in CLI Cloud Databases et de l'API.
Les informations dont vous avez besoin pour établir une connexion avec psql
se trouve dans la section "cli" de vos chaînes de connexion. Le tableau ci-après est fourni à titre de référence.
Nom de zone | Index | Description |
---|---|---|
Bin |
Le binaire recommandé pour créer une connexion ; dans ce cas, il s'agit de psql . |
|
Composed |
Commande formatée pour établir une connexion à votre déploiement. La commande combine l'exécutable Bin , les paramètres de la variable Environment et utilise Arguments comme paramètres de ligne de
commande. |
|
Environment |
Liste de clés/valeurs que vous définissez en tant que variables d'environnement. | |
Arguments |
0... | Informations qui sont transmises en tant qu'arguments à la commande affichée dans la zone Bin. |
Certificate |
Base64 | Certificat propriétaire de service utilisé pour confirmer qu'une application se connecte au serveur approprié. Il est encodé en base64. |
Certificate |
Nom | Nom attribué au certificat propriétaire du service. |
Type |
Type de package qui utilise ces informations de connexion ; en l'occurrence, cli . |
0...
indique qu'il peut y avoir une ou plusieurs de ces entrées dans un tableau.
Création d'une connexion client de ligne de commande
Avant de créer une connexion client de ligne de commande, vérifiez que vous avez défini le mot de passe d'administrateur pour votre déploiement.
La commande ibmcloud cdb deployment-connections
gère tout ce qui est impliqué dans la création d'une connexion client de ligne de commande. Par exemple, pour établir une connexion à un déploiement nommé "example-postgres",
utilisez la commande suivante :
ibmcloud cdb deployment-connections <INSTANCE_NAME_OR_CRN> --start
ou
ibmcloud cdb cxn <INSTANCE_NAME_OR_CRN> -s
La commande vous invite à entrer le mot de passe administrateur, puis à exécuter le client de ligne de commande psql
pour vous connecter à la base de données.
Si vous n'avez pas installé le plug-in CLI Cloud Databases, connectez-vous à vos bases de données PostgreSQL à l'aide de psql
en lui donnant la chaîne de connexion "composed". Il fournit des variables d'environnement PGPASSWORD
et PGSSLROOTCERT
. Définissez PGPASSWORD
comme le mot de passe de l'administrateur et PGSSLROOTCERT
comme le chemin d'accès ou le nom de fichier du certificat propriétaire du service.
PGPASSWORD=$PASSWORD PGSSLROOTCERT=0b22f14b-7ba2-11e8-b8e9-568642342d40 psql 'host=4a8148fa-3806-4f9c-b3fc-6467f11b13bd.8f7bfd7f3faa4218aec56e069eb46187.databases.appdomain.cloud port=32325 dbname=ibmclouddb user=admin sslmode=verify-full'
Utilisation du certificat de propriété du service
- Copiez les informations de certificat à partir du panneau Noeuds finaux ou de la zone Base64 des informations de connexion.
- Si besoin, décodez la chaîne Base64 en texte.
- Sauvegardez le certificat dans un fichier. (Vous pouvez utiliser le nom qui est fourni ou votre propre nom de fichier.)
- Indiquez le chemin d'accès au certificat à la variable d'environnement
ROOTCERT
.
Vous pouvez afficher le certificat décodé pour votre déploiement avec le plug-in d'interface de ligne de commande à l'aide de la commande suivante :
ibmcloud cdb deployment-cacert <INSTANCE_NAME_OR_CRN>
La commande décode le base64 en texte. Copiez et sauvegardez le résultat de la commande dans un fichier et indiquez le chemin du fichier à la variable d'environnement ROOTCERT
.
Une autre option consiste à ajouter &sslrootcert=/path/to/cert
à votre chaîne de connexion, par exemple :
postgres://$USERNAME:$PASSWORD@6eb96148-90bc-49a0-a5a4-dc2b53334653.btdl8mld0r95fevivv30.databases.appdomain.cloud:32109/ibmclouddb?sslmode=verify-full&sslrootcert=/path/to/cert