Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation des bases de données SQL du serveur à l'aide de l'extension tds_fdw
Vous pouvez utiliser l'SQLtds_fdw
extension Postgre pour accéder aux bases de données qui prennent en charge le protocole tabular data stream (TDS), telles que les bases de données Sybase et Microsoft SQL Server. Ce wrapper de données étrangères vous permet de vous connecter depuis votre cluster de base de données votre instance de SQL base de données Postgre aux bases de données qui utilisent le TDS protocole, y compris Amazon pour RDS Microsoft Server. SQL Pour plus d'informations, consultez la documentation de tds-fdw/tds_fdw sur
L'tds_fdw
extension est prise en charge sur Amazon Aurora Postgre SQL version 13.6 et versions ultérieures.
Configuration de votre SQL base de données Aurora Postgre pour utiliser l'extension tds_fdw
Dans les procédures suivantes, vous trouverez un exemple de configuration et d'utilisation du cluster de base de tds_fdw
données Aurora de base de SQL données Postgre. Avant de pouvoir vous connecter à une base de données SQL Server en utilisanttds_fdw
, vous devez obtenir les informations suivantes pour l'instance :
Nom d'hôte ou point de terminaison. Pour une instance de base de données RDS for SQL Server, vous pouvez trouver le point de terminaison à l'aide de la console. Sélectionnez l'onglet Connectivité et sécurité et regardez dans la section « Point de terminaison et port ».
Numéro de port. Le numéro de port par défaut pour Microsoft SQL Server est 1433.
Nom du moteur de la base de données. L'identifiant de la base de données.
Vous devez également fournir un accès au groupe de sécurité ou à la liste de contrôle d'accès (ACL) pour le port 1433 SQL du serveur. Le cluster de SQL base de données Aurora Postgre RDS de base de données RDS pour le SQL serveur doivent tous deux accéder au port 1433. Si l'accès n'est pas configuré correctement, le message d'erreur suivant s'affiche lorsque vous essayez d'interroger le Microsoft SQL Server :
ERROR: DB-Library error: DB #: 20009, DB Msg: Unable to connect:
Adaptive Server is unavailable or does not exist (mssql2019
.aws-region
.rds.amazonaws.com), OS #: 0, OS Msg: Success, Level: 9
Pour utiliser tds_fdw pour se connecter à une base de données du serveur SQL
Connectez-vous à votre instance de base de données principale du cluster de SQL base de données Aurora Postgre à l'aide d'un compte ayant le
rds_superuser
rôle suivant :psql --host=
your-cluster-name-instance-1
.aws-region
.rds.amazonaws.com --port=5432 --username=test –-passwordInstallez l'extension
tds_fdw
:test=>
CREATE EXTENSION tds_fdw;
CREATE EXTENSION
Une fois l'extension installée sur votre cluster de SQL base de données Aurora Postgre RDS , vous configurez le serveur étranger.
Pour créer le serveur externe
Effectuez ces tâches sur le cluster de SQL base de données Aurora Postgre RDS à l'aide d'un compte doté rds_superuser
de privilèges.
Créez un serveur étranger dans le cluster de SQL base de données Aurora Postgre RDS
test=>
CREATE SERVER
sqlserverdb
FOREIGN DATA WRAPPER tds_fdw OPTIONS (servername 'mssql2019
.aws-region
.rds.amazonaws.com', port '1433', database 'tds_fdw_testing
');CREATE SERVER
Pour accéder à ASCII des données non SQLServer secondaires, créez un lien serveur avec l'option character_set dans le cluster de SQL base de données Aurora Postgre :
test=>
CREATE SERVER
sqlserverdb
FOREIGN DATA WRAPPER tds_fdw OPTIONS (servername 'mssql2019
.aws-region
.rds.amazonaws.com', port '1433', database 'tds_fdw_testing
', character_set'UTF-8'
);CREATE SERVER
Accordez des autorisations à un utilisateur qui n'a pas de privilèges de rôle
rds_superuser
, par exemple,user1
:test=>
GRANT USAGE ON FOREIGN SERVER
sqlserverdb
TOuser1
;Connectez-vous en tant qu'utilisateur1 et créez un mappage vers un utilisateur SQL du serveur :
test=>
CREATE USER MAPPING FOR user1 SERVER
sqlserverdb
OPTIONS (username 'sqlserveruser
', password 'password
');CREATE USER MAPPING
Créez une table étrangère liée à une table SQL de serveur :
test=>
CREATE FOREIGN TABLE mytab (a int) SERVER
sqlserverdb
OPTIONS (table 'MYTABLE
');CREATE FOREIGN TABLE
Interrogez la table externe :
test=>
SELECT * FROM mytab;
a --- 1 (1 row)
Utilisation du chiffrement en transit pour la connexion
La connexion entre Aurora Postgre SQL et le SQL serveur utilise le chiffrement en transit (TLS/SSL) en fonction de la configuration de la base de données du SQL serveur. Si le SQL serveur n'est pas configuré pour le chiffrement, le RDS SQL client Postgre qui fait la demande à la base de données du SQL serveur revient à une version non chiffrée.
Vous pouvez appliquer le chiffrement pour la connexion aux RDS instances de base de données SQL du serveur en définissant le rds.force_ssl
paramètre. Pour savoir comment procéder, consultez Forcer les connexions à votre instance de base de données à utiliser SSL. Pour plus d'informations sur la TLS configurationSSL/pour RDS for SQL Server, consultez la section Utilisation SSL avec une instance de base de données Microsoft SQL Server.