postgresql - 创建自定义的postgresql slave

标签 postgresql business-intelligence database-replication

我需要为 BI 创建一个从站,我需要修改一些表(例如,删除所有密码或敏感数据)。我的数据库是 PostgreSQL。我想知道我是否可以在数据库层执行此操作,或者我应该通过编写代码来进行复制来以编程方式执行此操作。

最佳答案

您可以使用逻辑复制并启用副本触发器(仅在复制时触发)在应用数据时修改数据:

ALTER TABLE mytab DISABLE TRIGGER mytrig;
ALTER TABLE mytab ENABLE REPLICA TRIGGER mytrig;

您必须确保这些修改不会引起复制冲突。例如,永远不要修改键列。

复制冲突会停止复制并破坏您的系统。

解决这个问题的传统方法是使用 ETL 过程。这样,您就可以在目标数据库上拥有不同的数据模型,例如预先聚合数据,这样数据仓库就不会变得太大,并且拥有针对分析查询优化的数据模型。

关于postgresql - 创建自定义的postgresql slave,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56963389/

相关文章:

node.js - 使用数据库进行自动化测试

mysql - 无法隔离 Scala 批量数据加载应用程序中的 JDBC 内存泄漏

python - 在 Python Pandas 数据框中计算 MRR

database - 使用 CouchDB 的一种复制方式

从第一个 binlog 位置开始的 MySQL 主从复制

postgresql - 为 Postgresql 上的 Select Only 创建一个用户。限制 "ALTER TABLE"

sql - 获取 GROUP BY 后的行数

java - 从简单但大的数据(人口普查)创建许多表格和图表的策略

data-warehouse - 在数据仓库设计中识别事实表

mysql - 关于 MariaDB 的 JDBC 故障转移/高可用性的说明