Création de liens de base de données dans PostgreSQL
Problème :
Contrairement à Oracle, la fonctionnalité dblink de PostgreSQL nécessite une certaine configuration avant utilisation. Les utilisateurs peuvent rencontrer des erreurs telles que « Aucune fonction ne correspond au nom donné et aux types d'arguments » lors de la création de dblinks.
Solution :
PostgreSQL 9.1 et versions ultérieures :
-
Installer le dblink Extension :
Exécuter CREATE EXTENSION dblink ; pour installer l'extension dblink dans le schéma public par défaut. Vous pouvez également utiliser les extensions CREATE EXTENSION dblink SCHEMA ; pour l'installer dans un schéma spécifique.
-
Assurer le chemin de recherche :
Avant d'utiliser dblinks, assurez-vous que le chemin de recherche est correctement défini pour inclure le schéma contenant l'extension dblink.
Base de données distante Configuration :
Pour accéder à une base de données distante à l'aide de dblink, il est essentiel de :
-
Configurer l'accès à l'hôte :
Sur la base de données distante, accordez les autorisations appropriées à l'utilisateur se connectant à partir de la base de données locale.
-
Créez un DBLink :
Créez un dblink sur la base de données locale à l'aide de CREATE DB LINK link_name CONNECT TO 'connection_string';.
-
Connectez-vous à la base de données distante :
Utilisez SELECT * FROM nom_lien.nom_table ; pour accéder à la table distante spécifiée dans le dblink.
Exemple :
Pour créer un dblink se connectant à une base de données distante sur host=dev.toto.com avec le nom d'utilisateur toto, le mot de passe isok et le nom de la base de données totofamily :
CREATE DB LINK toto_dblink CONNECT TO 'host=dev.toto.com user=toto password=isok dbname=totofamily';
SELECT logindate FROM toto_dblink.dbo.loginlog;
Copier après la connexion
Supplémentaire Notes :
- La fonction dblink_connect_u est utilisée pour tester la connexion à la base de données distante.
- Si l'hôte distant se trouve sur une autre machine, assurez-vous que le pare-feu autorise les connexions sur le port nécessaire (généralement 5432).
- Pour plus d'informations sur dblink, reportez-vous au PostgreSQL documentation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!