์ ์ ์กฐ๊ฑด
๋ฐ์ดํฐ๋ฅผ ๋๋ฉํ๊ฑฐ๋ ๋ณต์ ํ๋ ค๋ฉด ๋จผ์ ๋ค์ ์ ์ ์กฐ๊ฑด์ ์๋ฃํด์ผ ํฉ๋๋ค.
-
Data Movement gateway ์๋ฒ์ ํ์ํ driver๋ฅผ ์ค์นํฉ๋๋ค.
์ ๋ณด ๋ฉ๋ชจ์ด๋ Data Movement gateway๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ์ ํํ ๊ฒฝ์ฐ์๋ง ํ์ํฉ๋๋ค. Data Movement gateway์ ์ด์ ๊ณผ ํ์ํ ๊ฒฝ์ฐ์ ๋ํ ์์ธํ ๋ด์ฉ์ Qlik Data Gateway - Data Movement๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
Qlik Talend Cloud ์์ ๊ตฌ๋ ์์๋ Data Movement gateway๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
-
๋ฐ์ดํฐ ์์ค์ ํ์ํ ๊ถํ ๋ถ์ฌ
-
๋ฐ์ดํฐ ์์ค ์ปค๋ฅํฐ ๊ตฌ์ฑ
๋๋ผ์ด๋ฒ ์ค์
๋๋ผ์ด๋ฒ ์ค์น ์ ํธ๋ฆฌํฐ(๊ถ์ฅ)๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์๋์ผ๋ก driver๋ฅผ ์ค์นํ ์ ์์ต๋๋ค. ์๋ ์ค์น๋ ๋๋ผ์ด๋ฒ ์ค์น ์ ํธ๋ฆฌํฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๋๋ฌธ ๊ฒฝ์ฐ์๋ง ์๋ํด์ผ ํฉ๋๋ค.
๋๋ผ์ด๋ฒ ์ค์น ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ผ์ด๋ฒ ์ค์น
์ด ์น์ ์์๋ ํ์ driver๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํฉ๋๋ค. ์ด ํ๋ก์ธ์ค์๋ ํ์ driver๋ฅผ ์๋์ผ๋ก ๋ค์ด๋ก๋, ์ค์น ๋ฐ ๊ตฌ์ฑํ๋ ์คํฌ๋ฆฝํธ ์คํ์ด ํฌํจ๋ฉ๋๋ค. ํ์์ ๋ฐ๋ผ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ์ฌ driver๋ฅผ ์ ๋ฐ์ดํธํ๊ณ ์ ๊ฑฐํ ์๋ ์์ต๋๋ค.
์ค์น ์ค๋น
-
Python 3.6 ์ด์์ด Data Movement ๊ฒ์ดํธ์จ์ด ์๋ฒ์ ์ค์น๋์ด ์๋์ง ํ์ธํฉ๋๋ค.
Python์ ๋๋ถ๋ถ์ Linux ๋ฐฐํฌ์ ์ฌ์ ์ค์น๋์ด ์์ต๋๋ค. ๋ค์ ๋ช ๋ น์ ์คํํ์ฌ ์์คํ ์ ์ค์น๋ Python ๋ฒ์ ์ ํ์ธํ ์ ์์ต๋๋ค.
python3 --version
driver ์ค์น
driver๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ์ค์นํ๋ ค๋ฉด:
-
Data Movement ๊ฒ์ดํธ์จ์ด ์ปดํจํฐ์์ ์์ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ค์์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.
opt/qlik/gateway/movement/drivers/bin
-
๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
๊ตฌ๋ฌธ:
./install postgres
driver๋ฅผ ๋ค์ด๋ก๋ํ ์ ์๋ ๊ฒฝ์ฐ(์ก์ธ์ค ์ ํ ๋๋ ๊ธฐ์ ๋ฌธ์ ๋ก ์ธํด) driver๋ฅผ ๋ค์ด๋ก๋ํ ์์น์ Data Movement ๊ฒ์ดํธ์จ์ด ์ปดํจํฐ์์ ๋ณต์ฌํ ์์น๋ฅผ ์๋ ค ์ฃผ๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค. ์๋ฃํ์ผ๋ฉด install postgres ๋ช ๋ น์ ๋ค์ ์คํํฉ๋๋ค.
๊ทธ๋ ์ง ์์ผ๋ฉด driver์ ๋ํ EULA๊ฐ ํ์๋ฉ๋๋ค.
-
๋ค์ ์ค ํ๋๋ฅผ ์ํํฉ๋๋ค.
- [Enter] ํค๋ฅผ ๋ฐ๋ณตํด์ ๋๋ฌ EULA๋ฅผ ์ฒ์ฒํ ์คํฌ๋กคํฉ๋๋ค.
- ์คํ์ด์ค๋ฐ๋ฅผ ๋ฐ๋ณตํด์ ๋๋ฌ EULA๋ฅผ ๋น ๋ฅด๊ฒ ์คํฌ๋กคํฉ๋๋ค.
- q๋ฅผ ๋๋ฌ ๋ผ์ด์ผ์ค ํ ์คํธ๋ฅผ ์ข ๋ฃํ๊ณ EULA ๋์ ์ต์ ์ด ํ์๋ฉ๋๋ค.
-
๋ค์ ์ค ํ๋๋ฅผ ์ํํฉ๋๋ค.
- "y"๋ฅผ ์ ๋ ฅํ๊ณ [Enter]๋ฅผ ๋๋ฌ EULA์ ๋์ํ๊ณ ์ค์น๋ฅผ ์์ํฉ๋๋ค.
- "n"์ ์ ๋ ฅํ๊ณ [Enter] ํค๋ฅผ ๋๋ฌ EULA๋ฅผ ๊ฑฐ๋ถํ๊ณ ์ค์น๋ฅผ ์ข ๋ฃํฉ๋๋ค.
-
"v"๋ฅผ ์ ๋ ฅํ๊ณ [Enter] ํค๋ฅผ ๋๋ฌ EULA๋ฅผ ๋ค์ ๋ด ๋๋ค.
driver๊ฐ ์ค์น๋ฉ๋๋ค.
driver ์ ๋ฐ์ดํธ
์ ๊ณต๋ driver๋ฅผ ์ค์นํ๊ธฐ ์ ์ driver์ ์ด์ ๋ฒ์ ์ ์ ๊ฑฐํ๋ ค๋ฉด ์ ๋ฐ์ดํธ ๋ช ๋ น์ ์คํํฉ๋๋ค.
driver๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ์ ๋ฐ์ดํธํ๋ ค๋ฉด:
-
Data Movement ๊ฒ์ดํธ์จ์ด ์ปดํจํฐ์์ ์์ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ค์์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.
opt/qlik/gateway/movement/drivers/bin
-
๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
๊ตฌ๋ฌธ:
./update postgres
driver๋ฅผ ๋ค์ด๋ก๋ํ ์ ์๋ ๊ฒฝ์ฐ(์ก์ธ์ค ์ ํ ๋๋ ๊ธฐ์ ๋ฌธ์ ๋ก ์ธํด) driver๋ฅผ ๋ค์ด๋ก๋ํ ์์น์ Data Movement ๊ฒ์ดํธ์จ์ด ์ปดํจํฐ์์ ๋ณต์ฌํ ์์น๋ฅผ ์๋ ค ์ฃผ๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค. ์๋ฃํ์ผ๋ฉด update postgres ๋ช ๋ น์ ๋ค์ ์คํํฉ๋๋ค.
๊ทธ๋ ์ง ์์ผ๋ฉด driver์ ๋ํ EULA๊ฐ ํ์๋ฉ๋๋ค.
-
๋ค์ ์ค ํ๋๋ฅผ ์ํํฉ๋๋ค.
- [Enter] ํค๋ฅผ ๋ฐ๋ณตํด์ ๋๋ฌ EULA๋ฅผ ์ฒ์ฒํ ์คํฌ๋กคํฉ๋๋ค.
- ์คํ์ด์ค๋ฐ๋ฅผ ๋ฐ๋ณตํด์ ๋๋ฌ EULA๋ฅผ ๋น ๋ฅด๊ฒ ์คํฌ๋กคํฉ๋๋ค.
- q๋ฅผ ๋๋ฌ ๋ผ์ด์ผ์ค ํ ์คํธ๋ฅผ ์ข ๋ฃํ๊ณ EULA ๋์ ์ต์ ์ด ํ์๋ฉ๋๋ค.
-
๋ค์ ์ค ํ๋๋ฅผ ์ํํฉ๋๋ค.
- "y"๋ฅผ ์ ๋ ฅํ๊ณ [Enter]๋ฅผ ๋๋ฌ EULA์ ๋์ํ๊ณ ์ค์น๋ฅผ ์์ํฉ๋๋ค.
- "n"์ ์ ๋ ฅํ๊ณ [Enter] ํค๋ฅผ ๋๋ฌ EULA๋ฅผ ๊ฑฐ๋ถํ๊ณ ์ค์น๋ฅผ ์ข ๋ฃํฉ๋๋ค.
- "v"๋ฅผ ์ ๋ ฅํ๊ณ [Enter] ํค๋ฅผ ๋๋ฌ EULA๋ฅผ ์ฒ์๋ถํฐ ๊ฒํ ํฉ๋๋ค.
์ด์ driver๊ฐ ์ ๊ฑฐ๋๊ณ ์ driver๊ฐ ์ค์น๋ฉ๋๋ค.
driver ์ ๊ฑฐ
driver๋ฅผ ์ ๊ฑฐํ๋ ค๋ฉด ์ ๊ฑฐ ๋ช ๋ น์ ์คํํฉ๋๋ค.
driver๋ฅผ ์ ๊ฑฐํ๋ ค๋ฉด:
-
์ด ์ปค๋ฅํฐ๋ฅผ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑ๋ ๋ชจ๋ ์์ ์ ์ค์งํฉ๋๋ค.
-
Data Movement ๊ฒ์ดํธ์จ์ด ์ปดํจํฐ์์ ์์ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ค์์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.
opt/qlik/gateway/movement/drivers/bin
-
๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
๊ตฌ๋ฌธ:
./uninstall postgres
driver์ด ์ ๊ฑฐ๋ฉ๋๋ค.
์๋์ผ๋ก ๋๋ผ์ด๋ฒ ์ค์น
์๋ ๋๋ผ์ด๋ฒ ์ค์น๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์ง ์์ ๊ฒฝ์ฐ์๋ง ์๋์ผ๋ก driver ์ค์น๋ฅผ ์๋ํด์ผ ํฉ๋๋ค.
Data Movement gateway๋ฅผ ์ค์นํ ํ ๋ค์ RPM ํ์ผ์ ๋ค์ด๋ก๋ํฉ๋๋ค. /opt/qlik/gateway/movement/drivers/manifests/postgres.yaml์ binary-artifacts์์ ํ์ผ์ ๋ํ ์ง์ ๋ค์ด๋ก๋ ๋งํฌ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. ๋ค์ด๋ก๋๊ฐ ์๋ฃ๋๋ฉด ํ์ผ์ Data Movement gateway ์ปดํจํฐ์ ๋ณต์ฌํฉ๋๋ค.
Red Hat 9.x์ Data Movement gateway๊ฐ ์ค์น๋ ๊ฒฝ์ฐ:
- postgresql<๋ฒ์ >-libs-<๋ฒ์ >PGDG.rhel9.x86_64.rpm
- postgresql<๋ฒ์ >-<๋ฒ์ >PGDG.rhel9.x86_64.rpm
- postgresql<๋ฒ์ >-odbc-<๋ฒ์ >PGDG.rhel9.x86_64.
Red Hat 8.x์ Data Movement gateway๊ฐ ์ค์น๋ ๊ฒฝ์ฐ:
- postgresql<๋ฒ์ >-libs-<๋ฒ์ >PGDG.rhel8.x86_64.rpm
- postgresql<๋ฒ์ >-<๋ฒ์ >PGDG.rhel8.x86_64.rpm
- postgresql<๋ฒ์ >-odbc-<๋ฒ์ >PGDG.rhel8.x86_64.rpm
๋ฐ์ดํฐ ์ด๋ ๊ฒ์ดํธ์จ์ด ์๋ฒ์์ ์ ธ ํ๋กฌํํธ๋ฅผ ์ด๊ณ ๋ค์์ ์ํํฉ๋๋ค.
-
๋ฐ์ดํฐ ์ด๋ ๊ฒ์ดํธ์จ์ด ์๋น์ค ์ค์ง:
sudo systemctl stop repagent
-
์ ํ์ ์ผ๋ก ์๋น์ค๊ฐ ์ค์ง๋์๋์ง ํ์ธํฉ๋๋ค.
sudo systemctl status repagent
์ํ๋ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
Active: inactive (dead) since <timestamp> ago
-
RPM ํ์ผ์ ์ค์นํฉ๋๋ค.
-
์์ ๋๋ ํฐ๋ฆฌ๋ฅผ <๋ฐ์ดํฐ ์ด๋ ๊ฒ์ดํธ์จ์ด ์ค์น ๋๋ ํฐ๋ฆฌ>/bin์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.
-
๋ค์๊ณผ ๊ฐ์ด ๋๋ผ์ด๋ฒ ์์น๋ฅผ site_arep_login.sh ํ์ผ์ ๋ณต์ฌํฉ๋๋ค.
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/pgsql-<version>/lib" >> site_arep_login.sh
๊ทธ๋ฌ๋ฉด "LD_LIBRARY_PATH"์ ๋๋ผ์ด๋ฒ๊ฐ ์ถ๊ฐ๋๊ณ site_arep_login.sh ํ์ผ์์ ๋๋ผ์ด๋ฒ ์์น๊ฐ ์ ๋ฐ์ดํธ๋ฉ๋๋ค.
-
์ ํ์ ์ผ๋ก ๋๋ผ์ด๋ฒ ์์น๊ฐ ๋ณต์ฌ๋์๋์ง ํ์ธํฉ๋๋ค.
cat site_arep_login.sh
-
๋ค์ ์์ ๊ฐ์ด /etc/odbcinst.ini ํ์ผ์ PostgreSQL์ ๋ํ ํญ๋ชฉ์ด ํฌํจ๋์ด ์๋์ง ํ์ธํฉ๋๋ค.
[PostgreSQL]
Description = PostgreSQL ODBC driver
Driver = /usr/pgsql-13/lib/psqlodbc.so
Setup = /usr/pgsql-13/lib/psqlodbcw.so
UsageCount = 1
-
๋ฐ์ดํฐ ์ด๋ ๊ฒ์ดํธ์จ์ด ์๋น์ค ์์:
sudo systemctl start repagent
-
์ ํ์ ์ผ๋ก ์๋น์ค๊ฐ ์์๋์๋์ง ํ์ธํฉ๋๋ค.
sudo systemctl status repagent
์ํ๋ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
Active: active (running) since <timestamp> ago
ํฌํธ
๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ์ดํฐ ์ด๋ ๊ฒ์ดํธ์จ์ด ์๋ฒ์์ ์์๋ฐ์ด๋ ํต์ ์ ์ํด ํฌํธ 5432๋ฅผ ์ด์ด์ผ ํฉ๋๋ค. ์ปค๋ฅํฐ ์ค์ ์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๊ณ ๊ฐ์ด ์ค์นํ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ณ๊ฒฝ ๋ด์ฉ ์บก์ฒ
-
Data Movement gateway ์ปดํจํฐ์ IP ์ฃผ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋์ "replication" ํค์๋์ ํจ๊ป pg_hba.conf ๊ตฌ์ฑ ํ์ผ์ ์ถ๊ฐ๋์ด์ผ ํฉ๋๋ค.
์:
host replication all 176.123.1.212/32 trust
-
test_decoding ์ถ๋ ฅ ํ๋ฌ๊ทธ์ธ(postgresql12-contrib ํจํค์ง์ ์์)์ด ์ค์น๋์ด ์๋์ง ํ์ธํฉ๋๋ค.
-
์ฐ๊ฒฐ ์ค์ ์ ์ง์ ๋ ์ฌ์ฉ์์๊ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ "์ฌ๋กฏ"์ ๋ง๋ค ์ ์๋๋ก ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ฝ๊ธฐ-์ฐ๊ธฐ ๊ถํ์ ๋ถ์ฌํด์ผ ํฉ๋๋ค. ๋ณ๊ฒฝ ๋ด์ฉ์ ์ฝ์ผ๋ ค๋ฉด ์ฌ๋กฏ์ด ํ์ํฉ๋๋ค.
-
postgresql.conf ๊ตฌ์ฑ ํ์ผ์์ ๋ค์ ๋งค๊ฐ ๋ณ์์ ๊ฐ์ ์ค์ ํด์ผ ํฉ๋๋ค.
wal_level = logicalmax_replication_slots = number of replication slots์ฌ๊ธฐ์ number of replication slots๋ 1๋ณด๋ค ์ปค์ผ ํ๋ฉฐ ์คํํ๋ ค๋ ์์ ์์ ๋ฐ๋ผ ์ค์ ํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, 5๊ฐ์ ์์ ์ ์คํํ๋ ค๋ฉด max_replication_slots = 5๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค. ์์ ์ด ์์๋๋ ์ฆ์ ์ฌ๋กฏ์ด ์๋์ผ๋ก ์ด๋ฆฌ๊ณ ์์ ์ด ๋ ์ด์ ์คํ๋์ง ์๋ ๊ฒฝ์ฐ์๋ ์ด๋ฆฐ ์ํ๋ฅผ ์ ์งํฉ๋๋ค. ์ด๋ ค ์๋ ์ฌ๋กฏ์ ์๋์ผ๋ก ์ญ์ ํด์ผ ํฉ๋๋ค.
max_wal_senders = number of concurrent tasks
์ฌ๊ธฐ์ number of concurrent tasks๋ 1๋ณด๋ค ์ปค์ผ ํ๋ฉฐ ๋์์ ์คํ ์ค์ธ ์์ ์์ ๋ฐ๋ผ ์ค์ ํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ธ ๊ฐ์ง ์์ ์ ๋์์ ์คํํ๋ ค๋ฉด max_wal_senders = 3์ ์ค์ ํด์ผ ํฉ๋๋ค.
-
wal_sender_timeout ๋งค๊ฐ ๋ณ์๋ ์ง์ ๋ ์๊ฐ(๋ฐ๋ฆฌ์ด)๋ณด๋ค ์ค๋ ๋นํ์ฑ ์ํ์ธ ์ฐ๊ฒฐ์ ์ข ๋ฃํฉ๋๋ค. ๊ธฐ๋ณธ ์๊ฐ ์ ํ์ 60์ด์ ๋๋ค. ์๊ฐ ์ ํ ๋ฉ์ปค๋์ฆ์ ๋นํ์ฑํํ๋ ค๋ฉด(์ ํ ์ฌํญ) ์ด ๋งค๊ฐ ๋ณ์๋ฅผ 0์ผ๋ก ์ค์ ํฉ๋๋ค.
์ ๋ณด ๋ฉ๋ชจ๊ธฐ๋ณธ์ ์ผ๋ก wal_sender_timeout ๋งค๊ฐ ๋ณ์ ๊ฐ์ ์๋ฒ์์ ๋ฐ๋ฆฌ์ด๋ก ํด์๋ฉ๋๋ค. ์ด๋ฅผ ๋ช ์์ ์ผ๋ก ์ง์ ํ๋ ค๋ฉด ๋ค์ ์์ ๊ฐ์ด ๊ฐ์ "s"๋ฅผ ์ถ๊ฐํฉ๋๋ค.
wal_sender_timeout=60s
๊ตฌ์ฑ ๋งค๊ฐ ๋ณ์์ ๋ํ ์์ธํ ๋ด์ฉ์ PostgreSQL ์จ๋ผ์ธ ๋์๋ง์์ ์๋ฒ ๊ตฌ์ฑ ์๋์ ๋ณต์ ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.
PostgreSQL์ฉ Amazon RDS์์ ๋ณ๊ฒฝ ๋ด์ฉ ์บก์ฒ
PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค์ AWS ๋ง์คํฐ ์ฌ์ฉ์ ๊ณ์ ์ Amazon RDS for PostgreSQL ์์ค ์ข ๋ฃ ์ง์ ์ ์ฌ์ฉ์๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ง์คํฐ ์ฌ์ฉ์ ๊ณ์ ์๋ CDC(๋ณ๊ฒฝ ๋ฐ์ดํฐ ์บก์ฒ)๋ฅผ ์ค์ ํ๋ ๋ฐ ํ์ํ ์ญํ ์ด ์์ต๋๋ค.
๋ง์คํฐ ์ฌ์ฉ์ ๊ณ์ ์ ์ฌ์ฉํ์ง ์์ผ๋ ค๋ฉด ์ฌ์ฉํ๋ ค๋ ๊ณ์ ์ rds_superuser ์ญํ ๊ณผ rds_replication ์ญํ ์ด ์์ด์ผ ํฉ๋๋ค. rds_replication ์ญํ ์ ๋ ผ๋ฆฌ์ ์ฌ๋กฏ์ ๊ด๋ฆฌํ๊ณ ๋ ผ๋ฆฌ์ ์ฌ๋กฏ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์คํธ๋ฆฌ๋ฐํ ์ ์๋ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
Amazon RDS PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค์ ๋ํ ๋ ผ๋ฆฌ์ ๋ณต์ ๋ฅผ ํ์ฑํํ๋ ค๋ฉด:
- ๋ค์ ๊ตฌ์ฑ์ผ๋ก ์ ๋งค๊ฐ ๋ณ์ ๊ทธ๋ฃน์ ๋ง๋ญ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋งค๊ฐ ๋ณ์ ๊ทธ๋ฃน์ rds.logical_replication ๋งค๊ฐ ๋ณ์๋ฅผ 1๋ก ์ค์ ํฉ๋๋ค.
- max_wal_senders โ ๋ณ๋ ฌ๋ก ์คํํ ์ ์๋ ์์ ์ ์์ ๋๋ค.
- max_replication_slots โ ๋ชจ๋ ์ฐ๊ฒฐ(์ฆ, ์์ )์ ์ ์ฌ๋กฏ์ ๋ง๋ญ๋๋ค. ์ด ๋งค๊ฐ ๋ณ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค์ ํ ์ ์๋ ๋์ ์ฐ๊ฒฐ ์๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
-
Amazon RDS ์ธ์คํด์ค๋ฅผ ๋งค๊ฐ ๋ณ์ ๊ทธ๋ฃน์ ์ฐ๊ฒฐํฉ๋๋ค.
PostgreSQL์ฉ Microsoft Azure์์ ๋ณ๊ฒฝ ๋ด์ฉ ์บก์ฒ
Microsoft Azure for PostgreSQL์์ ๋ณ๊ฒฝ ๋ด์ฉ์ ์บก์ฒํ ์ ์์ผ๋ ค๋ฉด ์๋ ๋จ๊ณ์ ์ค๋ช ๋ ๋๋ก "replication" ์์ฑ์ "logical"๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
-
Azure CLI๋ฅผ ์ด๊ณ ๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
์ ๋ณด ๋ฉ๋ชจCLI๋ฅผ ๋ค์ด๋ก๋ํ๊ฑฐ๋ Azure Portal์์ ์ ธ ๋ช ๋ น์ ํตํด ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
๊ตฌ๋ฌธ:
az postgres server configuration set --resource-group resource-group --server-name server-name --name azure.replication_support --value logical
์:
az postgres server configuration set --resource-group azuredb --server-name qlik-azure-pg --name azure.replication_support --value logical
- ๋ช ๋ น์ค์ ์ฌ์ฉํ๊ฑฐ๋ ํฌํธ์ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ค์ ์์ํฉ๋๋ค.
Google Cloud SQL for PostgreSQL์์ ๋ณ๊ฒฝ ๋ด์ฉ ์บก์ฒ
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ณ๊ฒฝ ๋ด์ฉ์ ์บก์ฒํ๋ ค๋ฉด ๋ ผ๋ฆฌ์ ๋ณต์ ๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค.
๋ ผ๋ฆฌ์ ๋ณต์ ๋ฅผ ์ค์ ํ๋ ค๋ฉด:
-
Google ํด๋ผ์ฐ๋ ํ๋ซํผ์ PostgreSQL ์ค์ ์์ ๋ค์ ํ๋๊ทธ๋ฅผ ์ค์ ํฉ๋๋ค.
- cloudsql.logical_decoding=on
- max_replication_slots: ๋ชจ๋ ์ฐ๊ฒฐ(์ฆ, ์์ )์ ์ ์ฌ๋กฏ์ ๋ง๋ญ๋๋ค. ์ด ๋งค๊ฐ ๋ณ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค์ ํ ์ ์๋ ๋์ ์ฐ๊ฒฐ์ ์์ ๊ตฌ์ฑํฉ๋๋ค. ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ด ๊ฐ์ ๋๋ฆฌ๋ฉด ๋์์ด ๋ ์ ์์ต๋๋ค.
- max_wal_senders: ๋ณ๋ ฌ๋ก ์คํํ ์ ์๋ ์์ ์ ์์ ๋๋ค. ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ด ๊ฐ์ ๋๋ฆฌ๋ฉด ๋์์ด ๋ ์ ์์ต๋๋ค.
์ด๋ฌํ ๋งค๊ฐ ๋ณ์์ ๋ํ ์์ธํ ๋ด์ฉ์ https://www.postgresql.org/docs/current/runtime-config-replication.html์ ์ฐธ์กฐํ์ญ์์ค.
-
๋ฐ์ดํฐ๋ฒ ์ด์ค์์, ๋ณต์ ๋ฅผ ์ง์ํ๋๋ก connector ์ค์ (username)์ ์ง์ ๋ ์ฌ์ฉ์๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค.
ALTER USER username WITH REPLICATION;