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.
Intégration compatible avec Aurora PostgreSQL avec des bases de données hétérogènes
Pour intégrer la compatibilité Aurora PostgreSQL aux bases de données SQL Server distantes, utilisez l'extension Tabular Data Stream foreign data wrapper (). tds_fdw
En utilisant cette tds_fdw
extension, vous pouvez implémenter une fonctionnalité de requête fédérée pour interagir avec n'importe quelle base de données distante basée sur SQL Server, à la fois sur site et gérée ou autogérée sur Amazon. EC2 L'tds_fdw
extension est disponible dans toutes les versions actuellement prises en charge d'Amazon RDS pour PostgreSQL et compatible avec Aurora PostgreSQL.
Cas d'utilisation de tds_fdw et étapes de haut niveau
L'intégration de la compatibilité Aurora PostgreSQL à des bases de données hétérogènes telles que SQL Server prend en charge les cas d'utilisation suivants :
-
Architectures hybrides ‒ Votre organisation possède peut-être des bases de données SQL Server existantes qui doivent coexister et s'intégrer avec Aurora PostgreSQL compatible. Dans de tels cas, la compatibilité avec Aurora PostgreSQL peut faire partie d'une architecture hybride, dans laquelle elle interagit avec les bases de données hétérogènes pour échanger des données ou effectuer des opérations spécifiques. Grâce à cette intégration, votre organisation peut tirer parti des points forts des différentes plateformes de base de données tout en conservant ses investissements existants.
-
Rapports et analyses ‒ Vous pouvez utiliser la version compatible avec Aurora PostgreSQL comme base de données de rapports ou d'analyses. Vous pouvez consolider les données provenant de plusieurs sources, notamment les bases de données Oracle et SQL Server. Ce cas d'utilisation est courant dans les scénarios où les entreprises souhaitent créer des bases de données de reporting spécialisées ou des data marts adaptés à des unités commerciales ou à des cas d'utilisation spécifiques.
Pour configurer l'tds_fwd
extension de manière compatible avec Aurora PostgreSQL, suivez les étapes de haut niveau suivantes :
-
Connectez-vous à votre cluster compatible Aurora PostgreSQL à l'aide d'un client PostgreSQL et créez l'extension :
tds_fdw
CREATE EXTENSION tds_fdw;
Cette extension fournit les fonctionnalités permettant d'accéder aux données des bases de données SQL Server distantes et de les interroger comme s'il s'agissait de tables locales.
-
Créez un objet serveur qui représente la base de données distante compatible avec SQL Server ou TDS à laquelle vous souhaitez vous connecter.
-
Assurez-vous que les groupes de sécurité et les configurations réseau nécessaires sont en place pour permettre à Aurora PostgreSQL compatible de se connecter à la base de données SQL Server distante.
Si la base de données distante est hébergée sur site, vous devrez peut-être configurer un VPN ou une AWS Direct Connect connexion.
Exécutez la commande suivante :
CREATE SERVER my_remote_sql_server FOREIGN DATA WRAPPER tds_fdw OPTIONS ( servername 'your_server_name', port '1433', instance 'your_instance_name' );
-
Définissez un mappage utilisateur qui mappe un utilisateur compatible Aurora PostgreSQL à un utilisateur de la base de données distante compatible avec SQL Server ou TDS :
CREATE USER MAPPING FOR postgres SERVER my_remote_sql_server OPTIONS ( username 'your_sql_server_username', password 'your_sql_server_password' );
-
Créez une table étrangère qui représente une table ou une vue dans la base de données distante compatible avec SQL Server ou TDS :
CREATE FOREIGN TABLE sql_server_table ( column1 INTEGER, column2 VARCHAR(50) ) SERVER my_remote_sql_server OPTIONS ( schema_name 'your_schema_name', table_name 'your_table_name' );
-
Créez une table étrangère en fonction de la requête SQL :
CREATE FOREIGN TABLE mssql_people ( empno INT NOT NULL , ename VARCHAR(10) NULL, dept INT) SERVER my_remote_sql_server OPTIONS ( query 'SELECT empno, ename, dept FROM dbo.emp');
-
Interrogez la table étrangère comme vous le feriez pour n'importe quelle autre table compatible avec Aurora PostgreSQL :
SELECT * FROM sql_server_table; SELECT * FROM mssql_people; -- Query based on table
-
Importez la table de SQL Server vers PostgreSQL :
IMPORT FOREIGN SCHEMA dbo LIMIT TO (emp) FROM SERVER my_remote_sql_server INTO public_fdw;
-
Pour valider le plan de requête, exécutez
EXPLAIN SELECT
:EXPLAIN SELECT * FROM mssql_people;
Note
Les opérations du langage DML (Data Manipulation Language) ne sont pas disponibles via l'tds_fdw
extension. Le système ne prend pas en charge les opérations DML sur différents moteurs de base de données. INSERT
, DELETE
UPDATE
, et TRUNCATE TABLE
échouera sur le serveur SQL distant.