利用OGG實(shí)現(xiàn)PostgreSQL實(shí)時(shí)同步的過(guò)程詳解
1.環(huán)境部署
1.1 架構(gòu)規(guī)劃

1.2 網(wǎng)絡(luò)規(guī)劃
| 主機(jī)名 | IP | 操作系統(tǒng) | 內(nèi)存/空間 | 角色 | 說(shuō)明 |
|---|---|---|---|---|---|
| postgresql01 | 172.18.12.50 | centos7.8 | 2c/18G 400G | 源端 | postgresql 14版本 |
| postgresql02 | 172.18.12.51 | centos7.8 | 2c/18G 400G | 目標(biāo)庫(kù) | postgresql 14版本 |
| Ogg21c | 172.18.12.52 | centos7.8 | 2c/18G 400G | OGG | OGG for postgrSQL |
2.OGG for postgrSQL 安裝
2.1 解壓安裝
安裝
mkdir /ogg unzip /opt/213000_ggs_Linux_x64_PostgreSQL_64bit.zip
[root@oggforpg /]# unzip /opt/213000_ggs_Linux_x64_PostgreSQL_64bit.zip Archive: /opt/213000_ggs_Linux_x64_PostgreSQL_64bit.zip inflating: ggs_Linux_x64_PostgreSQL_64bit.tar inflating: OGG-21.3.0.0-README.txt inflating: oracle-goldengate-release-notes_21.3.pdf [root@oggforpg /]# tar -xvf ggs_Linux_x64_PostgreSQL_64bit.tar -C /ogg/
2.2 安裝lib
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm yum install -y postgresql14-libs* Installed: postgresql14-libs.x86_64 0:14.10-1PGDG.rhel7

2.3 環(huán)境變量
cat >> /root/.bashrc <<"EOF" export OGG_HOME=/ogg export LD_LIBRARY_PATH=/ogg/lib:/usr/pgsql-14/lib/:/usr/lib64:/usr/lib:$LD_LIBRARY_PATH export ODBCINI=/ogg/odbc.ini export PATH=$PATH:$OGG_HOME #alias ogg='rlwrap ggsci' alias ggsci='cd $OGG_HOME;ggsci' EOF source /root/.bashrc
2.4 OGG初始化
[root@oggforpg ~]# ogg Oracle GoldenGate Command Interpreter for PostgreSQL Version 21.3.0.0.0 OGGCORE_21.3.0.0.0_PLATFORMS_210728.1047 Oracle Linux 7, x64, 64bit (optimized), PostgreSQL on Aug 4 2021 20:27:55 Operating system character set identified as US-ASCII. Copyright (C) 1995, 2021, Oracle and/or its affiliates. All rights reserved. GGSCI (oggforpg) 1> create subdirs Creating subdirectories under current directory /root Parameter file /ogg/dirprm: created. Report file /ogg/dirrpt: created. Checkpoint file /ogg/dirchk: created. Process status files /ogg/dirpcs: created. SQL script files /ogg/dirsql: created. Database definitions files /ogg/dirdef: created. Extract data files /ogg/dirdat: created. Temporary files /ogg/dirtmp: created. Credential store files /ogg/dircrd: created. Master encryption key wallet files /ogg/dirwlt: created. Dump files /ogg/dirdmp: created. -- mgr cat > /ogg/dirprm/mgr.prm <<"EOF" port 7809 dynamicportlist 2032-2040 purgeoldextracts ./dirdat/*, usecheckpoints,minkeephours 24 AUTORESTART ER *, RETRIES 3, WAITMINUTES 2,RESETMINUTES 10 EOF
2.5 ODBC驅(qū)動(dòng)
cat > /ogg/odbc.ini <<"EOF" [ODBC Data Sources] postgre=DataDirect 14 PostgreSQL Wire Protocol [ODBC] IANAAppCodePage=106 ##106代表的是UTF-8 InstallDir=/ogg [PGDSN1] Driver=/ogg/lib/GGpsql25.so #Driver=/usr/lib64/psqlodbcw.so Description=DataDirect 14 PostgreSQL Wire Protocol Database=jemdb HostName=172.18.12.50 PortNumber=5432 LogonID=ogguser Password=123456 TransactionErrorBehavior=2 [PGDSN2] Driver=/ogg/lib/GGpsql25.so #Driver=/usr/lib64/psqlodbcw.so Description=DataDirect 14 PostgreSQL Wire Protocol Database=jemdb HostName=172.18.12.51 PortNumber=5432 LogonID=ogguser Password=123456 TransactionErrorBehavior=2 EOF ##登錄測(cè)試,密碼123456 psql -U postgres -h 172.18.12.50 -p 5432 psql -U postgres -h 172.18.12.51 -p 5432

3.主從同步
3.1 配置extract
cat > /ogg/dirprm/ext1.prm <<“EOF” extract ext1 SETENV(PGCLIENTENCODING = “UTF8” ) SETENV(ODBCINI=“/ogg/odbc.ini” ) SOURCEDB PGDSN1, userid ogguser, password 123456 exttrail ./dirdat/e1 IGNOREREPLICATES TRANLOGOPTIONS FILTERTABLE ogg.ckpt table public.*; EOF
DBLOGIN SOURCEDB PGDSN1 USERID ogguser PASSWORD 123456 REGISTER EXTRACT ext1 ADD TRANDATA public.* add checkpointtable ogg.ckpt ADD TRANDATA ogg.ckpt
add ext ext1, tranlog, begin now add exttrail ./dirdat/e1, ext ext1

3.2.配置replication
cat > /ogg/dirprm/rep1.prm <<“EOF” replicat rep1 SETENV(PGCLIENTENCODING = “UTF8” ) SETENV(ODBCINI=“/ogg/odbc.ini” ) SETENV(NLS_LANG=“AMERICAN_AMERICA.AL32UTF8”) TARGETDB PGDSN2, userid ogguser, password 123456 map public., target public.; EOF
DBLOGIN SOURCEDB PGDSN2 USERID ogguser PASSWORD 123456 add checkpointtable ogg.ckpt
add rep rep1, exttrail ./dirdat/e1, checkpointtable ogg.ckpt

3.3 進(jìn)程啟動(dòng)
start EXT! start REP1 GGSCI (oggforpg as ogguser@PGDSN2) 4> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING EXTRACT RUNNING EXT1 00:00:00 00:00:07 REPLICAT RUNNING REP1 00:00:00 00:00:02
到此這篇關(guān)于利用OGG實(shí)現(xiàn)PostgreSQL實(shí)時(shí)同步的過(guò)程詳解的文章就介紹到這了,更多相關(guān)OGG實(shí)現(xiàn)PostgreSQL實(shí)時(shí)同步內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PostgreSQL數(shù)據(jù)庫(kù)視圖及子查詢(xún)使用操作
這篇文章主要為大家介紹了PostgreSQL數(shù)據(jù)庫(kù)視圖及子查詢(xún)的使用操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04
PostgreSQL定期驗(yàn)證備份的有效性的完整方案
在 PostgreSQL 的高可用與災(zāi)備體系中, 備份本身不是目標(biāo),可恢復(fù)才是,本文將系統(tǒng)闡述如何設(shè)計(jì)并執(zhí)行一套完整的 PostgreSQL 備份有效性驗(yàn)證方案,涵蓋邏輯備份、物理備份、WAL 歸檔、PITR 恢復(fù)、自動(dòng)化驗(yàn)證及最佳實(shí)踐,需要的朋友可以參考下2026-02-02
PostgreSQL數(shù)據(jù)庫(kù)配置SSL操作的實(shí)現(xiàn)方法
本文主要介紹了PostgreSQL數(shù)據(jù)庫(kù)配置SSL操作,通過(guò)開(kāi)啟SSL證書(shū)認(rèn)證的方式加強(qiáng)防護(hù),配合使用防火墻策略白名單方式、增加密碼復(fù)雜度,感興趣的可以了解一下2025-07-07
從原理到實(shí)戰(zhàn)詳解PostgreSQL如何進(jìn)行性能優(yōu)化
PostgreSQL作為成熟的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù),以其豐富的特性和高擴(kuò)展性受到廣泛青睞,但如果不對(duì)其內(nèi)部原理與配置參數(shù)進(jìn)行深入理解并合理調(diào)優(yōu),往往難以發(fā)揮其最佳性能,本文我們就來(lái)看看PostgreSQL性能優(yōu)化的相關(guān)技巧吧2025-07-07
PostgreSQL ERROR: invalid escape string 解決辦法
這篇文章主要介紹了PostgreSQL ERROR: invalid escape string 解決辦法,本文環(huán)境是JDBC+PostgreSQL,需要的朋友可以參考下2014-07-07
postgresql 實(shí)現(xiàn)更新序列的起始值
這篇文章主要介紹了postgresql 實(shí)現(xiàn)更新序列的起始值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
PostgreSQL誤刪數(shù)據(jù)庫(kù)該怎么辦詳解
這篇文章主要介紹了PostgreSQL中誤刪數(shù)據(jù)庫(kù)的恢復(fù)方法,包括備份恢復(fù)、歸檔日志恢復(fù)和操作系統(tǒng)層面的快照恢復(fù),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-03-03
PostgreSQL 16 搭配 PgVector:Windows 11&nbs
PgVector助力PostgreSQL實(shí)現(xiàn)向量數(shù)據(jù)庫(kù)功能,簡(jiǎn)化AI檢索架構(gòu);支持多種向量類(lèi)型與距離算法,輕松實(shí)現(xiàn)多媒體檢索與個(gè)性化推薦;適合Windows及Linux環(huán)境部署,感興趣的朋友跟隨小編一起看看吧2026-05-05
postgresql 實(shí)現(xiàn)多表關(guān)聯(lián)刪除
這篇文章主要介紹了postgresql 實(shí)現(xiàn)多表關(guān)聯(lián)刪除操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
PostgreSQL如何查詢(xún)表結(jié)構(gòu)和索引信息
文章介紹了在PostgreSQL中查詢(xún)表結(jié)構(gòu)和索引信息的幾種方法,包括使用`\d`元命令、系統(tǒng)數(shù)據(jù)字典查詢(xún)以及使用可視化工具DBeaver2024-12-12

