Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

PostgreSQL : bases de données autogérées exécutées sur Amazon EC2

Mode de mise au point
PostgreSQL : bases de données autogérées exécutées sur Amazon EC2 - Amazon Data Firehose

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.

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.

Note

Firehose prend en charge la base de données en tant que source dans toutes les régions sauf en Régions AWSChine et en Asie-Pacifique (Malaisie). AWS GovCloud (US) Regions Cette fonctionnalité est en version préliminaire et est sujette à modification. Ne l'utilisez pas pour vos charges de travail de production.

Créez la procédure SQL suivante dans votre base de données pour créer une table de filigranes, un rôle pour l'accès Firehose à la base de données, fournir les autorisations requises pour le rôle Firehose et créer le rôle de propriétaire du groupe et le rôle Firehose pour le groupe. Vous pouvez utiliser cette procédure pour les bases de données PostgreSQL exécutées sur. EC2

Note

Certaines anciennes versions de base de données peuvent ne pas prendre IF NOT EXISTS en charge la chaîne de la ligne CREATE PROCEDURE. Dans ce cas, IF NOT EXISTS supprimez-le de la PROCÉDURE CREATE et utilisez le reste de la procédure.

CREATE OR REPLACE PROCEDURE setupFirehose( p_schema_name TEXT, p_database_name TEXT, p_watermark_name TEXT, p_role_name TEXT, p_role_password TEXT, p_group_owner_name TEXT ) LANGUAGE plpgsql AS $$ BEGIN -- Use logical decoding EXECUTE 'ALTER SYSTEM SET wal_level = logical'; -- Create watermark table EXECUTE 'CREATE TABLE IF NOT EXISTS ' || quote_ident(p_database_name) || '.' || quote_ident(p_schema_name) || '.' || quote_ident(p_watermark_name) || '(id varchar(64) PRIMARY KEY, type varchar(32), data varchar(2048))'; RAISE NOTICE 'Created watermark table: %', p_watermark_name; -- Create the role with the given password IF EXISTS ( SELECT FROM pg_catalog.pg_roles WHERE rolname = p_role_name) THEN RAISE NOTICE 'Role % already exists. Skipping creation', p_role_name; ELSE EXECUTE 'CREATE ROLE ' || p_role_name || ' WITH LOGIN INHERIT REPLICATION PASSWORD ' || quote_literal(p_role_password); RAISE NOTICE 'Created role: %', p_role_name; END IF; -- Grant required privileges to the role EXECUTE 'GRANT CREATE ON SCHEMA ' || quote_ident(p_schema_name) || ' TO ' || quote_ident(p_role_name); EXECUTE 'GRANT CREATE ON DATABASE ' || quote_ident(p_database_name) || ' TO ' || quote_ident(p_role_name); EXECUTE 'ALTER TABLE ' || quote_ident(p_schema_name) || '.' || quote_ident(p_watermark_name) || ' OWNER TO ' || quote_ident(p_role_name); -- Create shared ownership role IF EXISTS ( SELECT FROM pg_catalog.pg_roles WHERE rolname = p_group_owner_name) THEN RAISE NOTICE 'Role % already exists. Skipping creation', p_group_owner_name; ELSE EXECUTE 'CREATE ROLE ' || quote_ident(p_group_owner_name); RAISE NOTICE 'Created role: %', p_group_owner_name; END IF; EXECUTE 'GRANT ' || quote_ident(p_group_owner_name) || ' TO ' || quote_ident(p_role_name); END; $$;

Utilisation

Appelez cette procédure à l'aide d'un client SQL.

CALL setupFirehose('public', 'test_db', 'watermark', 'new_role', 'Test123', 'group_role');
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.