-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathinitdb.sql
25 lines (20 loc) · 889 Bytes
/
initdb.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
DROP DATABASE IF EXISTS cdcdb;
DROP ROLE IF EXISTS cdcadmin;
CREATE DATABASE cdcdb WITH TEMPLATE template0 ENCODING UTF8 LC_CTYPE en_US;
\connect cdcdb;
CREATE USER cdcadmin WITH ENCRYPTED PASSWORD 'cdcadmin';
CREATE SCHEMA cdc AUTHORIZATION cdcadmin;
CREATE TABLE cdc.customers (
id BIGSERIAL NOT NULL PRIMARY KEY,
first_name VARCHAR(255) NOT NULL,
last_name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL UNIQUE
);
GRANT ALL PRIVILEGES ON DATABASE cdcdb to cdcadmin;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA cdc TO cdcadmin;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA cdc TO cdcadmin;
--required by debezium
SELECT pg_create_logical_replication_slot('debezium', 'pgoutput');
CREATE PUBLICATION dbz_publication FOR ALL TABLES WITH (publish = 'insert,update,delete');
ALTER ROLE cdcadmin WITH REPLICATION;
ALTER TABLE cdc.customers REPLICA IDENTITY FULL;