Exemple de Postgres dblink

Exemple de Postgres dblink

Nous envisagerons d'utiliser l'extension «DBLink» de PostgreSQL dans cet article. Le «DBLINK» est utilisé lorsque nous devons accéder aux tables et aux vues à partir d'autres bases de données dans une session de base de données. Donc, si nous avons deux bases de données auxquelles nous voulons être liées, une base de données doit être ajoutée à l'extension DBLINK et appelée dans l'autre. Nous allons chercher à configurer l'extension DBLINK dans nos bases de données et à lier deux bases de données en utilisant cette extension dans l'environnement PostgreSQL. Après cela, nous testerons le lien en exécutant certaines requêtes dans la base de données.

La syntaxe pour Dblink dans PostgreSQL:

La syntaxe pour l'utilisation de DBLINK dans PostgreSQL est mentionnée ci-dessous:

# DBLINK («Nom de la connexion», «SQL Query»);

La requête DBLINK prend deux paramètres; Dans le premier paramètre, nous devons indiquer le nom de la connexion sur laquelle le DBLINK est créé. Dans le deuxième paramètre, nous devons écrire n'importe quelle requête pour exécuter les données présentes à ce lien. L'extension DBLINK est souvent utilisée avec la requête «Sélectionner», bien que d'autres requêtes puissent être utilisées pour récupérer ou modifier les données sur la connexion DBLINK.

Maintenant que nous connaissons le fonctionnement de l'extension DBLINK dans Postgres, nous pouvons nous réjouir de mettre en œuvre ce concept dans l'environnement PostgreSQL.

Création de la connexion «DBLINK» entre deux bases de données dans PostgreSQL:

Comme nous le savons, PostgreSQL permet à deux bases de données d'être connectées à distance via l'extension «DBLINK», mais il existe plusieurs protocoles qui doivent être suivis pour que cela soit exécuté avec succès. Nous allons maintenant discuter de ces protocoles et fournir un guide détaillé pour exécuter ce concept.

Tout d'abord, nous devons être connectés en tant que superutilisateur dans l'environnement PostgreSQL. Pour faire un superutilisateur, nous pouvons utiliser la requête suivante:

# Créer un superutilisateur «insérer le nom de l'utilisateur»;

Et si vous voulez un superutilisateur avec un mot de passe, vous pouvez utiliser cette requête:

# Créer un superutilisateur «insérer le nom de l'utilisateur» avec mot de passe «Password_string»;

Ensuite, nous créerons deux bases de données dans l'environnement PostgreSQL que nous utiliserons pour l'accès par l'extension «DBLINK».

# Créer une base de données DB1;

La requête ci-dessus créera une base de données nommée «DB1» dans notre environnement.

# Créer une base de données DB2;

La requête ci-dessus créera une deuxième base de données nommée «DB2» dans notre environnement.

Nous pouvons également afficher et accéder à ces bases de données en examinant le menu de gauche de la fenêtre Pgadmin. Lorsque nous aurons créé avec succès deux bases de données, nous créerons un tableau dans notre base de données «DB1» et le remplirons de valeurs que nous utiliserons dans la deuxième base de données.

Créer un employé de table
(
Emp_id int,
Emp_name varchar
));
Insérer dans les employés
VALEURS
(1, «Harry»),
(2, 'James'),
(3, «John»),
(4, «Alex»);

La syntaxe ci-dessus aidera à créer une table et à insérer des valeurs dans les tableaux de notre base de données «DB1».

Application de l'extension «DBLINK» à la base de données:

Nous avons créé une table et des valeurs insérées dedans. Nous allons maintenant passer à notre deuxième base de données, «DB2» dans laquelle nous appellerons ce tableau. Ici, nous pouvons nous attendre à appliquer une extension «DBLINK» à notre base de données. Nous utiliserons la requête suivante pour le faire:

# Créer une extension dblink;

Cela permettra à la base de données d'utiliser l'extension PostgreSQL «DBLINK» pour accéder aux capacités de la base de données. Avant d'aller de l'avant, nous devons vérifier la connexion entre nos bases de données; Pour cela, nous rédigerons la requête suivante:

# Select dblink_connect ('host = localhost user = aqsayasin mot de passe = 12345 dbname = db1');

Dans la requête ci-dessus, le nom de l'utilisateur et du mot de passe changera en conséquence vers le nom et le mot de passe du superutilisateur que vous avez configurés plus tôt, ainsi que le nom de la base de données avec laquelle vous souhaitez vérifier la connexion avec. Une fois cela trié, exécutez la requête, et si la connexion réussit, elle donnera cette sortie:

Dans le cas où il échoue ou lance une exception, vous devez revérifier la requête pour le nom d'utilisateur et le mot de passe corrects.

Dblink avec des emballages de données étrangers:

Les emballages de données étrangers peuvent définir distinctement un serveur étranger distant pour accéder à d'autres données. Après cela, nous pouvons nous déplacer vers la création d'un emballage de données étrangères dans notre base de données. Nous pouvons créer un emballage de données étrangères par deux méthodes et accéder à la base de données avec DBLINK en utilisant des emballages de données étrangers dans PostgreSQL:

Créer des emballages de données étrangers à l'aide de la requête:

Le wrapper des données étrangères sera créée à l'aide de la commande ci-dessous annexée de cette manière.

Créer des emballages de données étrangers à l'aide de l'option de menu du navigateur:

Sur le côté gauche de la fenêtre Pgadmin, nous pouvons trouver le menu du navigateur affichant chaque entité, y compris les serveurs, les bases de données et les utilisateurs. Dans ce menu, nous devons localiser notre base de données dans laquelle nous devons créer l'emballage des données étrangères.

Après avoir sélectionné la base de données, nous devons localiser l'option intitulée «Emballages de données étrangères» et cliquez avec le bouton droit sur celui-ci.

Sélectionnez les options «Create» et «Foreign Data Wrapper…», respectivement.

Cela ouvrira une fenêtre avec le titre «Créer - Emballage de données étrangères».

Remplissez le nom de l'emballage de données étrangères et choisissez l'utilisateur approprié. Vous pouvez maintenant stocker les informations et créer un emballage de données étrangères.

Après avoir créé un emballage de données étranger, nous devons créer un serveur pour celui-ci. Pour cela, nous pouvons utiliser une requête «Créer un serveur» comme indiqué ci-dessous:

# Create Server Server1 Options FD1 de Data Wrapper FD1 (hostaddr 'ip_address', dbname 'db1');

Ou nous pouvons simplement localiser notre emballage de données étrangères sur le menu du navigateur sur le côté gauche de la fenêtre et cliquez avec le bouton droit dessus, sélectionnez l'option «Créer» et accédez à l'option «Server étranger…».

Cela vous amènera à la fenêtre «Créer - Server étranger».

Nommez le serveur, sélectionnez l'utilisateur dans la liste dans les champs d'entrée et enregistrez-les pour ajouter un serveur étranger à votre emballage de données étranger. Comme nous avons réussi à créer un serveur étranger, nous devons créer une carte pour le super utilisateur que nous avons créé plus tôt. Pour cette tâche, nous utiliserons la requête indiquée:

# Créer un mappage utilisateur pour les options AQSayasin Server Server1 (utilisateur «aqsayasin», mot de passe «12345»);

Le nom d'utilisateur doit être précis pour que ce soit l'exécution et l'autre utilisateur que nous mappons peut changer en fonction de la situation. Si cela est géré correctement, la sortie sera la suivante:

Le résultat ci-dessus confirme que nous avons créé un mappage utilisateur.

Accédez aux bases de données avec DBLINK à l'aide de l'emballage de données étrangères dans PostgreSQL:

Comme vous avez réussi à former une cartographie des utilisateurs. Nous pouvons maintenant utiliser le DBLINK de ce serveur pour accéder à notre première base de données. Nous afficherons le «EMP_ID» et le «EMP_NAME» de la table que nous avons créée dans notre première base de données en utilisant cette requête:

# SELECT * FROM DBLINK ('Server1', 'SELECT EMP_ID, EMP_NAME FROM EMPLESYE')
Comme données (emp_id int, emp_name varchar);

Cette requête après exécution affichera le contenu indiqué de la table comme indiqué ci-dessous:

Comme vous pouvez le voir, nous avons accédé à une base de données avec succès à partir d'une autre base de données et affiché le contenu d'une table en utilisant l'extension DBLINK dans PostgreSQL.

Conclusion:

Dans ce tutoriel, nous avons délibéré la syntaxe et l'utilisation de l'extension DBLINK dans PostgreSQL. Après cela, nous avons envisagé de mettre en œuvre l'extension DBLINK dans l'environnement PostgreSQL. Nous avons créé une connexion entre deux bases de données dans notre environnement, puis nous avons utilisé cette connexion pour afficher les données de l'autre base de données dans cet article.