REPLICATION_SLOT_NAME: 복제 슬롯 이름입니다. Datastream 스트림 만들기 마법사에서 스트림을 만들 때 이 이름을 제공해야 합니다.
Datastream 사용자 만들기
Datastream 사용자를 만들려면 다음 SQL 명령어를 입력합니다.
CREATE USER USER_NAME WITH ENCRYPTED PASSWORD 'USER_PASSWORD';
다음을 바꿉니다.
USER_NAME: 만들려는 Datastream 사용자의 이름입니다.
USER_PASSWORD: 만들려는 Datastream 사용자의 로그인 비밀번호입니다.
자신이 만든 사용자에게 다음 권한을 부여합니다.
ALTER ROLE USER_NAME WITH REPLICATION;
GRANT SELECT ON ALL TABLES IN SCHEMA SCHEMA_NAME TO USER_NAME;
GRANT USAGE ON SCHEMA SCHEMA_NAME TO USER_NAME;
ALTER DEFAULT PRIVILEGES IN SCHEMA SCHEMA_NAME
GRANT SELECT ON TABLES TO USER_NAME;
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[[["\u003cp\u003eThis guide explains the process of configuring a self-managed PostgreSQL database, which also applies to AlloyDB Omni, for use with Datastream.\u003c/p\u003e\n"],["\u003cp\u003eEnabling logical replication requires setting the \u003ccode\u003ewal_level\u003c/code\u003e parameter to \u003ccode\u003elogical\u003c/code\u003e in the \u003ccode\u003epostgresql.conf\u003c/code\u003e file and restarting the server.\u003c/p\u003e\n"],["\u003cp\u003eCreating a publication allows you to specify which tables or schemas will be replicated, and you can also create a publication for all tables in the database.\u003c/p\u003e\n"],["\u003cp\u003eA replication slot is created using the \u003ccode\u003ePG_CREATE_LOGICAL_REPLICATION_SLOT\u003c/code\u003e function, and its name must be unique for each Datastream stream.\u003c/p\u003e\n"],["\u003cp\u003eA Datastream user must be created with a secure password, and it should be granted replication privileges and select permissions on the desired tables and schemas.\u003c/p\u003e\n"]]],[],null,["# Configure a self-managed PostgreSQL database\n\nThe following sections cover how to configure a self-managed PostgreSQL database.\n| **Note:** These instructions also work for a source AlloyDB Omni database.\n\nEnable logical replication on the database\n------------------------------------------\n\n1. Set the `wal_level` parameter in your database by adding `wal_level=logical` to the `postgresql.conf` file.\n\n2. Restart the server.\n\nCreate a publication and a replication slot\n-------------------------------------------\n\n1. Sign in to a PostgreSQL console as a superuser.\n\n2. Create a publication. We recommend that you create a publication only for the\n tables that you want to replicate. This allows Datastream to read-only\n the relevant data, and lowers the load on the database and Datastream:\n\n ```\n CREATE PUBLICATION PUBLICATION_NAME\n FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2;\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003ePUBLICATION_NAME\u003c/var\u003e: The name of your publication. You'll need to provide this name when you create a stream in the Datastream stream creation wizard.\n - \u003cvar translate=\"no\"\u003eSCHEMA\u003c/var\u003e: The name of the schema that contains the table.\n - \u003cvar translate=\"no\"\u003eTABLE\u003c/var\u003e: The name of the table that you want to replicate.\n\n You can create a publication for all tables in a schema. This approach lets\n you replicate changes for tables in the specified list of schemas, including\n tables that you create in the future: \n\n ```\n CREATE PUBLICATION PUBLICATION_NAME\n FOR TABLES IN SCHEMA SCHEMA1, SCHEMA2;\n ```\n\n You can also create a publication for all tables in your database. Note that\n this approach increases the load on both the source database and Datastream: \n\n ```\n CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES;\n ```\n3. Create a replication slot by entering the following SQL command:\n\n ```\n SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput');\n ```\n\n \u003cbr /\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eREPLICATION_SLOT_NAME\u003c/var\u003e: The name of your replication slot. You will need to provide this name when you create a stream in the Datastream stream creation wizard.\n\n | The replication slot name must be unique for each stream that's replicating from this database.\n\n### Create a Datastream user\n\n1. To create a Datastream user, enter the following SQL commands:\n\n ```\n CREATE USER USER_NAME WITH ENCRYPTED PASSWORD 'USER_PASSWORD';\n ```\n\n \u003cbr /\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eUSER_NAME\u003c/var\u003e: The name of the Datastream user that you want to create.\n - \u003cvar translate=\"no\"\u003eUSER_PASSWORD\u003c/var\u003e: The login password for the Datastream user that you want to create.\n2. Grant the following privileges to the user you created:\n\n ```\n ALTER ROLE USER_NAME WITH REPLICATION;\n GRANT SELECT ON ALL TABLES IN SCHEMA SCHEMA_NAME TO USER_NAME;\n GRANT USAGE ON SCHEMA SCHEMA_NAME TO USER_NAME;\n ALTER DEFAULT PRIVILEGES IN SCHEMA SCHEMA_NAME\n GRANT SELECT ON TABLES TO USER_NAME;\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eUSER_NAME\u003c/var\u003e: The user to whom you want to grant the privileges.\n - \u003cvar translate=\"no\"\u003eSCHEMA_NAME\u003c/var\u003e: The name of the schema to which you want to grant the privileges.\n\nWhat's next\n-----------\n\n- Learn more about how Datastream works with [PostgreSQL sources](/datastream/docs/sources-postgresql)."]]