PostgreSQL - Didacticiels

Comment provisionner un PaaS PostgreSQL ?

Pour commencer, rendez-vous sur ITCare et recherchez votre service global cible où vous créerez votre nouveau PostgreSQL.

Recherchez votre service Global dans la barre de recherche supérieure et cliquez dessus pour afficher sa page d'information.

Une fois dans votre Service Global, cliquez sur le bouton Créer une ressource et sélectionnez PostgreSQL.

Aller sur Bases de données managées, choisir PostgreSQL et sélectionner la version requise.

Remplir le formulaire et cliquer sur Suivant. Définir les personnalisations et cliquer sur Suivant.

Valider la synthèse et soumettre le formulaire.

Le provisionnement peut prendre jusqu'à 2 heures en fonction de la charge actuelle de l'automatisation.

Une fois le déploiement prêt, vous en serez informé par e-mail.

Comment gérer votre PostgreSQL ?

Sur la page de ressources de votre PostgreSQL, vous pouvez effectuer toutes les actions disponibles en utilisant le bouton Gérer dans le coin supérieur droit. Cela inclut le démarrage, l'arrêt, la suppression, le redémarrage, le redimensionnement et bien plus encore.

Comment accéder à votre cluster PostgreSQL ?

Lorsque votre cluster est créé avec ITCare, vous avez obtenu un rôle sql avec des informations d'identification.

Avec ces informations d'identification, vous pouvez vous connecter au cluster avec son nom sur le port tcp 5432. Vous pouvez utiliser la base de données postgres pour vous connecter.

Si votre cluster s'appelle "mycluster" vous pouvez utiliser le code python suivant :

import psycopg2

# Connect to the postgres database
conn = psycopg2.connect(database='postgres', user='myuser', password='mystrongpwd',host='mycluster.pg.cegedim.cloud')
# Open a cursor to perform database operations
cursor = conn.cursor()
# Execute a query
cursor.execute("SELECT datname from pg_database")
# Retrieve query results
records = cursor.fetchall()
# Print all results
for record in records:
  print(record)

Comment accéder à votre cluster PostgreSQL avec TLS/SSL ?

Lorsque votre cluster est créé avec ITCare, vous avez obtenu un rôle sql avec des informations d'identification.

Si vous choisissez d'activer TLS, vous avez reçu le certificat racine auquel vous devez faire confiance et que vous devez donner à la bibliothèque que vous utilisée pour vous connecter, par exemple psycopg2.

Avec ces informations d'identification, vous pouvez vous connecter au cluster avec son nom sur le port tcp 5432. Vous pouvez utiliser la base de données postgres pour vous connecter.

Si votre cluster s'appelle "mycluster" vous pouvez utiliser le code python suivant :

import psycopg2
 
# Connect to the postgres database
conn = psycopg2.connect(database='postgres', user='myuser', password='mystrongpwd', host='mycluster.pg.cegedim.cloud', sslmode='verify-full', sslrootcert='cegedimcloud.pg.crt')
# Open a cursor to perform database operations
cursor = conn.cursor()
# Execute a query
cursor.execute("SELECT datname from pg_database")
# Retrieve query results
records = cursor.fetchall()
# Print all results
for record in records:
  print(record)

Comment créer un rôle ?

Il est plus sûr de ne pas utiliser un rôle d'administrateur pour les applications. Une fois connecté, vous pouvez créer un rôle standard comme suit (remplacez <a_role> et <very_strong_password> par vos propres informations d'identification) :

create role <a_role> login password '<very_strong_password>';

Comment créer une base de données ?

Si vous voulez créer une base de données dont le propriétaire sera le rôle que vous venez de créer, utilisez les requêtes SQL suivantes :

grant <a_role> to admin;
create database <my_database> owner <a_role>;

Comment créer une base de données avec un autre encodage et/ou collation ?

Vous pouvez utiliser les requêtes SQL suivantes avec la base de données template0 comme base de données template :

create database <my_database> owner <a_role> template template0 LC_COLLATE 'fr_FR.utf8';
create database <my_database> owner <a_role> template template0 encoding 'LATIN1' LC_COLLATE 'fr_FR';

Comment restaurer en libre-service ?

Le PaaS PostgreSQL dispose d'une fonctionnalité permettant de restaurer un PaaS PostgreSQL (source) vers un autre PaaS PostgreSQL (destination) à un moment donné (en utilisant le Point-In-Time Recovery) sous les contraintes suivantes :

  • l'utilisateur doit avoir accès au cloud de la ferme source et de la ferme de destination

  • la source doit être sauvegardée (option choisie lors de la création)

  • la source et la destination doivent être actives

  • la source et la destination doivent être différentes

  • la source et la destination doivent être dans la même version de PostgreSQL

  • la source et la destination doivent être en version 12 ou supérieure

  • l'heure cible ne doit pas être dans le futur (délimitée à droite par l'heure actuelle).

  • l'heure cible ne doit pas être inférieure à 7 jours (pour les services de non-production) ou à 14 jours (pour les services de production) avec pour référence l'heure actuelle (délimitée à gauche par la rétention des sauvegardes).

Vous pouvez choisir d'inclure ou d'exclure la cible temporelle dans le processus de restauration.

Dernière mise à jour