我正在阅读文档,它特别提到一个 Galera 数据库集群必须至少有三个节点才能达到法定人数,尽管我们当前的设置是使用两个。
我的任务是重建集群。我的 Galera 用例是一个简单的主-主集群。它实际上是一个主从,第二个主坐在那里以防第一台服务器出现故障(然后我们可以将 PHP 配置指向它)。选择 Galera 是因为它是同步的。
我的问题是:
两节点配置是否安全/受支持?
在 3 节点设置中,如果第三个节点死亡,则它现在变为双节点设置。这现在不安全意味着我真的应该有一个 4 节点设置吗?
Galera“仲裁者”究竟是什么?
我们在主数据库和从数据库之间有 PostgreSQL 9.3.9 流式复制。在复制时,Master 上是否会发生可能导致持久性问题或 Master 和 Slave DB 完全失败的问题?在复制时,我是否总是会保持持久性并准备好工作或恢复从属数据库?
我们在 SQL Server 2014 中使用事务复制,有一个主(发布者)、1 个分发者(专用服务器)和 3 个从(订阅者)。
所有的写入都是对 master 进行的,而读取是从 3 个订阅者之一完成的。
我的问题是,如果您进行了插入/更新/删除操作,并且页面正在刷新,则更新尚不存在。在订阅者更新之前有 1-4 秒的延迟,这会使用户感到困惑,因为该行已插入/删除/更新,但尚未反映在订阅者上...
我们正在考虑进行点对点复制,但这似乎是 IDENTITY 的开销,它可以返回写入一个,但复制也需要太多时间......
我们可以/应该做什么?
我有一个表,它有一个聚集唯一索引和一个与索引结构相同的非聚集主键。
IF OBJECT_ID('[dbo].[tblBAccountHolder]') IS NOT NULL
DROP TABLE [dbo].[tblBAccountHolder]
GO
CREATE TABLE [dbo].[tblBAccountHolder] (
[lngParticipantID] INT NOT NULL,
[sdtmCreated] SMALLDATETIME NOT NULL,
[strUsername] VARCHAR(20) NULL,
[strPassword] VARCHAR(20) NULL,
[tsRowVersion] TIMESTAMP NOT NULL,
CONSTRAINT [PK_tblAccountHolder]
PRIMARY KEY NONCLUSTERED ([lngParticipantID] asc),
CONSTRAINT [IX_tblBAccountHolder__lngParticipantID]
UNIQUE CLUSTERED ([lngParticipantID] asc)
WITH FILLFACTOR = 100)
Run Code Online (Sandbox Code Playgroud)
正如您在定义中看到的那样,只有一列:
CREATE UNIQUE CLUSTERED INDEX IX_tblBAccountHolder__lngParticipantID
ON [dbo].[tblBAccountHolder] ( [lngParticipantID] ASC )
Run Code Online (Sandbox Code Playgroud)
我想删除唯一索引,并更改主键以使其成为集群。我将保留相同的主键,只需将其从非集群更改为集群。
该表是事务复制的一部分,我只会在订阅者数据库上完成此操作。不在发布者中。
这是一个包含超过 9,293,193 行的表格。
我会搞砸复制吗?
问题是我必须删除主键约束并将其重新创建为集群。
这是我想在订阅者数据库中完成的操作:
drop INDEX IX_tblBAccountHolder__lngParticipantID
ON [dbo].[tblBAccountHolder]
GO
ALTER TABLE [dbo].[tblBAccountHolder]
drop CONSTRAINT …Run Code Online (Sandbox Code Playgroud) replication sql-server transactional-replication sql-server-2014 automation
简单的问题:我想将 Postgres 服务器的所有数据、模式、角色以及所有内容从 Windows 迁移到 Linux。
%PGDATA%我可以只复制Windows 中服务器指向 Linux 的目录内容,然后启动服务器,将 PGDATA 参数/变量指向该目录吗?换句话说,数据文件平台是否独立,使得从一个操作系统移植到另一个操作系统只需复制?
我还开发了一个用于克隆 PG 数据库、架构+数据的脚本,但由于多种原因,我更愿意将数据文件放在 USB 驱动器上并完成它。
我在一台服务器上有数据库和表 collection_city 。它有 21 行。我在第二台服务器上有数据库和表 collection_city 。它也有 21 行。
他们都有这一行:
tinker=# table collection_city;
id | name | alias | postal_code | region_id
----+---------------+--------------+-------------+-----------
2 | Obrenovac | obrenovac | | 1
Run Code Online (Sandbox Code Playgroud)
id 列是主键。
我在第一台服务器上创建了发布:
CREATE PUBLICATION tinkerpub FOR ALL TABLES;
tinker=# \dRp[+]
Publication tinkerpub
Owner | All tables | Inserts | Updates | Deletes | Truncates
----------+------------+---------+---------+---------+-----------
postgres | t | t | t | t | t
(1 row)
Run Code Online (Sandbox Code Playgroud)
我在第二台服务器上创建了订阅:
CREATE SUBSCRIPTION tinkersub CONNECTION 'dbname=tinker host=192.168.150.5 user=postgres password=test port=5432' …Run Code Online (Sandbox Code Playgroud) postgresql replication master-slave-replication postgresql-11
有人可以让我知道我们如何识别 SQL 服务器中是否安装了复制组件。
试过如下:
1.我们之前更改了服务器名称,因此在检查配置分发服务器和发布时给出以下警告。
SQL Server 无法连接到服务器“xxxxxxxx”。
附加信息:
SQL Server 复制需要实际的服务器名称才能连接到服务器。指定实际的服务器名称“zzzzzzzzz”。(复制。实用程序)
我将重命名服务器。
Microsoft SQL Server Management Studio 无法访问复制组件,因为此 SQL Server 实例上未安装复制。有关安装复制的信息,请参阅 SQL Server 联机丛书中的安装复制主题。
附加信息:
此服务器上未安装复制组件。再次运行 SQL Server 安装程序并选择安装复制的选项。(Microsoft SQL Server,错误:21028)
现在,请建议 SQL 实例中是否安装了 Replication 组件
如何通过查看 lsn 来监控 Postgresql 12 中的逻辑复制?
我所做的:检查发布者和订阅者上的一些列。
出版方:
select * from pg_stat_replication; -- 查看 REPLAY_LSN
select * from pg_replication_slots; -- 参见 CONFIRMED_FLUSH_LSN
订阅方:
select * from pg_catalog.pg_stat_subscription; -- 查看 RECEIVED_LSN 和 LATEST_END_LSN
我确保这些列中的所有值都相同。
我对么 ?或者是否有其他方法可以通过检查某些参数来查看复制工作?
我发现一些与 SQL Server 复制相关的作业没有显示在 SSMS 的作业文件夹下。谁能解释一下这是为什么?
谢谢。
我想知道是否有办法用 SQL Server 2012 企业版实现以下功能?
我有Table A:Server 1说 10 列。
Table A:
| col1 | col2 | col3 | coln | col10 |
Run Code Online (Sandbox Code Playgroud)
对Server 2,我需要的实时副本Table A中Table B上Server 2。但是我实际上只需要复制 3 列,因为这就是我使用的全部。
Table B:
| col1 | col3 | col10 |
Run Code Online (Sandbox Code Playgroud)
我在上面提到了“实时”,我的意思是当我插入一个新值或更新一个新值时,Table A该更改将尽快传播到Table B.
Table B是只读表。并将Table A数据写入其中。所以 A 将是发布者,B 将是订阅者。
我怎样才能实现这种设置?换句话说,我需要使用某种复制吗?或者我可以通过 Always ON High Availability 实现这一点。
replication sql-server sql-server-2012 transactional-replication
我从一篇关于比较 MySQL 和 PostgreSQL 的帖子中读到,有人说:
PG 对我来说最大的缺点是缺乏复制,但它最近获得了异步和同步复制。
来源:https : //www.quora.com/What-are-pros-and-cons-of-PostgreSQL-and-MySQL
所以我的问题是:“PostgreSQL 缺乏复制”是什么意思?
我有一个 PostgreSQL 设置,有一个主站和三个从站。它被配置为流式复制。
现在,我只想使用pglogical将几个表从主服务器复制到分析服务器。为此,我们需要启用逻辑wal_level. 那么如何在不破坏现有复制的情况下启用它呢?
replication ×12
postgresql ×6
sql-server ×5
automation ×1
datafile ×1
galera ×1
mariadb ×1
mysql ×1