我正在使用 AWS RDS Postgres 和 RDS 的逻辑复制支持
(编辑:注意,这与 PostgreSQL 10 中的逻辑复制功能不同。它是基于相同底层逻辑解码功能的 AWS RDS 功能。)
我正在复制 Postgres -> Postgres 。基本上将许多数据库合并为一个数据库。
我遇到的问题是,在一段时间内数据库中没有活动磁盘被填满时。我想控制 WAL 可以使用多少存储空间。我调整了 wal_segments 以保留。仍然磁盘正在填满。我可以设置任何参数来控制磁盘使用,而不是对表进行一些虚拟更新。当前参数是
wal_keep_segments =4
wal_max_size =128
wal_min_size 16
Run Code Online (Sandbox Code Playgroud)
穆拉利
我在同一台服务器上有发布者和订阅者。我需要将订阅者的数据库移动到另一台服务器但不创建新快照。我试过这个步骤:
然后我启动了代理并收到错误 20053(服务器未注册)。我通过将链接服务器添加到新服务器来修复它
之后,我收到错误 20044(订阅已过时或不存在),但订阅存在。
我做错了什么或者我错过了任何步骤?
我不能使用备份初始化,因为订阅者有一些额外的表、视图、例程。谢谢
replication sql-server transactional-replication sql-server-2016
我在两个不同的托管公司的两个不同的服务器上配置它。
这是我遵循的设置教程:https : //www.digitalocean.com/community/tutorials/how-to-set-up-master-slave-replication-in-mysql
高手my.cnf设置如下:
bind-address = 00.000.000.00
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = mydatabase
Run Code Online (Sandbox Code Playgroud)
在奴隶上:
server-id = 2
relay-log = /var/log/mysql/mysql-relay-bin.log
expire_logs_days = 10
max_binlog_size = 100M
binlog_do_db = mydatabase
Run Code Online (Sandbox Code Playgroud)
一切看起来都不错,直到我尝试检查 mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
Slave_IO_State: Connecting to master
Master_Host: 000.000.000.00
Master_User: slave_user
Master_Port: 3306
Connect_Retry: 60
Master_Log_File:
Read_Master_Log_Pos: 4
Relay_Log_File: mysql-relay-bin.000001
Relay_Log_Pos: 4
Relay_Master_Log_File:
Slave_IO_Running: Connecting
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 0 …Run Code Online (Sandbox Code Playgroud) 除了这几个表之外,我需要在具有不同目的和模式的数据库之间保持更新几个表。
我当前的解决方案是一个 cron 作业,它每分钟左右从一个数据库中进行选择并插入到另一个数据库中,但我想知道 PostgreSQL 版本 10 是否有更强大的解决方案。
我正在尝试使用 AWS Database Migration Service 将数据从 RDS Postgres 实例迁移到 Aurora MySQL 实例。
数据库迁移服务要求将wal_level设置为源 Postgres DB 中的逻辑值。但是完成后,Postgres 开始消耗大量磁盘空间,以至于实例变得无法使用。
WAL 日志保留多长时间?是否可以启用其他设置来限制磁盘空间的使用?
replication migration postgresql-9.4 write-ahead-logging amazon-rds
我经营一个非营利组织,致力于分享类似于维基百科的数据。
我们最近有一个客户想要我们的数据库的副本,我们意识到通过使用 PostgreSQL 的新逻辑复制,我们可以将我们的数据库表复制到他们控制的服务器上。
这对于完成我们共享数据的使命非常有用。它比提供慢速 API 好 100 倍。
我们为他们创建了一个这样的角色:
CREATE ROLE some_client WITH REPLICATION LOGIN PASSWORD 'long-password';
GRANT SELECT ON TABLE some_table TO some_client;
Run Code Online (Sandbox Code Playgroud)
我们为他们创建了一个 PUBLICATION,如下所示:
CREATE PUBLICATION testpublication FOR TABLE ONLY some_table;
Run Code Online (Sandbox Code Playgroud)
这样做有风险吗?我的分析是,这使他们可以选择访问他们正在复制到他们自己的服务器的表,但仅此而已。还有其他顾虑吗?如果有顾虑,是否有办法使这项工作发挥作用?我们有不想共享的表,但我们的大多数表只有公共数据。
试图想办法在不停机的情况下加速从属创建。
正常的做法是:
由于 2 在网络上可能需要很长时间,因此:
?
我创建了一个逻辑复制 PUBLICATION 使用FOR ALL TABLES. 现在我意识到我不想复制所有的表。我尝试从出版物中删除其中一个表格,但是:
mydb=# alter publication replicapublication drop table only migrations;
ERROR: publication "replicapublication" is defined as FOR ALL TABLES
DETAIL: Tables cannot be added to or dropped from FOR ALL TABLES publications.
Run Code Online (Sandbox Code Playgroud)
我已经完成了数百 GB 的巨大同步,而且我不想从新出版物开始。
问题: 1、本刊有赎回的希望吗?2. 如果没有,有没有办法创建一个完全同步的新发布,而不用完全同步重新开始?
谢谢。
我有一个来自分发数据库的 .mdf 文件,该文件正在增长。我知道缩小数据库/文件的优缺点。将 .mdf 文件缩小到更小的尺寸是否可以。在此期间是否有任何数据丢失,这是否会影响复制。?
每次我需要恢复数据库或重新初始化复制发布时,我首先(在恢复的数据库或订阅数据库上)我编写所有权限、触发器、索引、同义词,有时还编写统计信息
然后我执行还原或(应用快照),然后在还原的数据库上重新应用我保存的脚本。
我有一些 LIVE 服务器,其中db_denydatawriter已被大量使用,尽管我拥有以前的所有权限,但由于db_denydatawriter还原附带(因为它处于活动状态),新还原的数据库现在拥有它。
它会导致问题。
以至于现在我有了这个脚本(使用sp_foreachdb)只是为了在测试中删除它:
declare @db_list NVARCHAR(MAX)
SELECT @db_list = STUFF((
SELECT ', ' + name FROM sys.databases
WHERE name NOT IN ('DBA','TABLEBACKUPS','MASTER','MSDB','MODEL','TEMPDB','distribution')
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, '')
SELECT [@db_list] =@db_list
exec sp_foreachdb @database_list = @db_list
,@exclude_list = 'dba,tablebackups,master,msdb,model,tempdb'
,@command='use ?;begin try EXEC sp_droprolemember @rolename = [db_denydatawriter], @membername = [mycompany\Developers] end try begin catch end …Run Code Online (Sandbox Code Playgroud) replication ×10
postgresql ×4
sql-server ×3
amazon-rds ×2
aws ×1
migration ×1
mysql ×1
permissions ×1
restore ×1
scripting ×1
security ×1
shrink ×1