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 membre du rôle prédéfini PostgreSQLpg_monitor, ce qui lui permet d'accéder aux vues et fonctions de surveillance de PostgreSQL. Par défaut, l'utilisateur admin ne dispose pas d'autorisations sur les objets créés par les utilisateurs que vous créez à l'aide de commandes SQL.

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

Pour utiliser psql, installez les outils clients PostgreSQL sur votre système local. Vous pouvez les installer à partir de la page de téléchargement d' PostgreSQL ou à l'aide du gestionnaire de paquets de votre système d'exploitation.

Pour plus d'informations à ce sujet psql, consultez 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 psql sur Red Hat Enterprise Linux

Suivez les instructions d'installation d' PostgreSQL pour les distributions basées sur Red Hat. Sélectionnez votre version d' PostgreSQL, votre plateforme et votre architecture, puis exécutez les commandes permettant de configurer le référentiel. Ensuite, installez uniquement le package client, par exemple sudo dnf install -y postgresql18. Vous n'avez pas besoin d'installer, d'initialiser ou de démarrer un serveur PostgreSQL pour vous connecter à votre déploiement.

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. Accédez au Panneau de configuration > Système et sécurité > Système, puis 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 s'affichent dans le panneau Endpoints (Points de terminaison) de la vue d'ensemble de votre déploiement. Elles peuvent également être récupérées à partir du plug-in CLI Cloud Databases, ainsi que via 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.

informations sur la connexion psql/cli
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 du 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 psql en lui fournissant la chaîne de connexion composée. Il fournit des variables d'environnement PGPASSWORD et PGSSLROOTCERT. Définissez sur PGPASSWORD le mot de passe de l'administrateur et PGSSLROOTCERT sur 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'

Connexion aux déploiements via des points de terminaison privés uniquement

Pour les déploiements utilisant uniquement des points de terminaison privés, précisez le type de point de terminaison lors de la récupération des informations de connexion à l'aide de la CLI IBM Cloud®:

ibmcloud cdb cxn <INSTANCE_NAME_OR_CRN> -s -e private

Cette option -e private renvoie les informations de connexion au point de terminaison privé. Les points de terminaison privés ne sont accessibles qu'à partir de ressources IBM Cloud disposant d'une connectivité réseau privée, telles qu'un VPC, un Cloud VPN ou un Cloud Shell.

Utilisation du certificat de propriété du service

  1. Copiez les informations de certificat à partir du panneau Noeuds finaux ou de la zone Base64 des informations de connexion.
  2. Si besoin, décodez la chaîne Base64 en texte.
  3. Sauvegardez le certificat dans un fichier. (Vous pouvez utiliser le nom qui est fourni ou votre propre nom de fichier.)
  4. 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