AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-193262

Leonardo Lacerda's questions

Martin Hope
Leonardo Lacerda
Asked: 2020-11-24 08:13:39 +0800 CST

REPMGR - 更改 reconnect_attempts 和 reconnect_interval 不起作用

  • 1

我使用 REPMGR 配置了 PostgreSQL 自动故障转移。但是,在我的模拟中,每次重新连接尝试的睡眠时间为 1 秒: 在此处输入图像描述

如果我查阅官方文档,重新连接间隔的默认值为 10 seconds。

#reconnect_interval=10 # 尝试重新连接到无法访问的主节点(或其他上游节点)之间的间隔

我尝试在repmgr.conf 中更改重新连接尝试和间隔的值并重新启动repmgr 服务并使用“repmgr 备用寄存器--force”但不起作用。

我的 REPMGR.CONF

node_id = 2
node_name = 'PGCluster02'
data_directory='/var/lib/postgresql/12/main'
conninfo = 'host=PGCluster02 port=1010 user=my_repmgr dbname=dbrepmgr connection_timeout=2'
use_replication_slots=1
reconnect_attempts=30
reconnect_interval=10
failover=automatic
promote_command='/usr/bin/repmgr standby promote -f /etc/repmgr.conf --log-to-file'
follow_command='/usr/bin/repmgr standby follow -f /etc/repmgr.conf --log-to-file --upstream-node-id=%n'

环境

PostgreSQL Version: 12.5
REPMGR Version: 5.2
Debian version: 10

我环境中的其他工具是 Barman(另一个 VM)和 PGBouncer(当前 VM)

如何将重新连接间隔更改为 10 或 15 秒?任何人都可以帮助我吗?我想将故障转移时间设置为 5 分钟。

谢谢!!

postgresql failover
  • 1 个回答
  • 206 Views
Martin Hope
Leonardo Lacerda
Asked: 2020-08-20 05:29:49 +0800 CST

配置 Wal log shipping hot standby 后 PostgreSQL CPU 100%

  • 0

我已经为一个节点配置了 Hight Avaliabiliy WAL Log Shipping Hot Standby (SSL)。但是在我配置之后,两个主机(主要和次要)都占用了 100% 的 CPU 使用率。

最奇怪的是因为我只有一个名为“TESTE”的数据库和一个名为“EXAMPLE”的表来检查复制是否正常。复制工作完美,但我不明白为什么我的 CPU 占用 100% 的使用率,因为我的集群上没有任何应用程序连接。

我运行 HTOP 命令并得到以下结果:

图 1 - 主服务器 HTOP 信息

图 1 - 主服务器 HTOP 信息

图 2 - 辅助服务器 HTOP 信息

图 2 - 辅助服务器 HTOP 信息

SO版本:

No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

PostgreSQL 版本:

postgres (PostgreSQL) 12.3 (Debian 12.3-1.pgdg100+1)

主服务器 postgres.conf 文件:

max_connections = 100
SSL = on
shared_buffers = 2GB
work_mem = 10485kb
maintenance_work_mem = 512MB
dynamic_shared_memory_type = posix
effective_io_concurrency = 200
max_worker_processes = 4
max_parallel_maintenance_workers = 2
max_parallel_workers_per_gather = 2
max_parallel_workers = 4
wal_level = replica
wal_buffers = 16MB
max_wal_size = 200MB
min_wal_size = 80MB
checkpoint_completion_target = 0.7
archive_mode = on
max_wal_senders = 3
wal_keep_segments = 8
hot_standby = on
hot_standby_feedback = on
random_page_cost = 1.1
effective_cache_size = 6GB
default_statistics_target = 100

pg_stat_activity 信息:

在此处输入图像描述

pg_stat_archiver 信息:

在此处输入图像描述

pg_stat_replication 信息: 在此处输入图像描述

如果我在两台服务器中停止 postgres 服务,CPU 仍然有 100% 的使用率。

任何人都可以帮助我吗?

postgresql high-availability
  • 1 个回答
  • 474 Views
Martin Hope
Leonardo Lacerda
Asked: 2019-11-14 04:36:10 +0800 CST

SQL Server - 快照在生产环境中有用吗?

  • 4

我正在阅读有关 SQL Server 高可用性解决方案和灾难恢复以及 SQL Server 具有快照功能的可用资源的信息。从理论上讲,一切看起来都很美。

我还读到快照将在某个时间点复制数据库,您可以使用它来恢复数据库。

在这个答案中,有一条评论(Peter Schofield,2013 年)关于 SQL Server 快照没有支持,并且在开发环境中用于快速回滚很有用。

[...] 采用的最大障碍可能是 Management Studio 没有提供支持 [...]

[...] 这听起来像是在开发环境中理想地使用快照,仅用于快速脚本部署和快速回滚。[...]

我想知道快照在生产环境中是否真的有用。有哪些在生产中使用的示例,请包括有关您何时使用快照在生产系统上提供解决方案的个人示例。

主要目标是提供一些实际使用的示例,并通过这些示例为我和所有将阅读这篇文章的人提供一些有用的想法。

就我而言,我在生产环境中使用 SQL Server 2017 Enterprise Edition。

sql-server sql-server-2017
  • 3 个回答
  • 782 Views
Martin Hope
Leonardo Lacerda
Asked: 2019-11-09 10:32:04 +0800 CST

数据库镜像 - 主机无法访问或不存在

  • 1

我尝试使用 GUI 和 T-SQL 镜像数据库,但在这两种情况下我都遇到了问题。

以下是有关基础架构和 SSMS 的一些信息:

基础设施

  • 带有 SQL Server 2017 企业版的主体服务器
  • 带有 SQL Server 2017 企业版的镜像服务器
  • 带有 SQL Server 2017 Express Edition 的见证服务器
  • 所有服务器 SO:Windows Server 2016 Standard
  • 所有禁用防火墙的服务器
  • 公共域中的所有服务器
  • 所有服务器具有相同的用户和权限
  • Telnet 与所有服务器中的端口 5022 完美配合
  • 我使用GRANT CONNECT ON ENDPOINT::Mirroring创建了用户来管理所有服务器中的服务

SQL Server Management Studio 信息 - SSMS:

Microsoft SQL Server Management Studio                      14.0.17289.0
Microsoft Analysis Services Client Tools                    14.0.1016.283
Microsoft Data Access Components (MDAC)                     10.0.14393.0
Microsoft MSXML                                             3.0 6.0 
Microsoft Internet Explorer                                 9.11.14393.0
Microsoft .NET Framework                                    4.0.30319.42000
Operating System                                            6.3.14393

我将使用 GUI 和 T-SQL 解释这两种错误情况。

使用图形用户界面:

所有服务器中的成功配置端点

在此处输入图像描述

但是当我尝试开始镜像时出现此错误

在此处输入图像描述

这很混乱,因为数据库必须在镜像服务器中处于恢复状态。但是我阅读了一些关于此的帖子,建议使用 T-SQL 进行配置,所以

使用 T-SQL:

使用 T-SQL 我遇到了这个问题:

消息 1418,级别 16,状态 1,第 54 行服务器网络地址“TCP://HML-SQLS-01-TST.domain.br:5022”无法访问或不存在。检查网络地址名称以及本地和远程端点的端口是否可操作。

让我逐步解释我遵循的步骤:

主服务器

CREATE DATABASE mirror
GO

ALTER DATABASE mirror
SET RECOVERY FULL
GO

USE mirror
GO

CREATE TABLE TESTE(
    id INT IDENTITY(1,1),
    descricao VARCHAR(255)
);

BACKUP DATABASE mirror
TO DISK = 'F:\Backup\mirror-full.bak'
GO

BACKUP LOG mirror
TO DISK = 'F:\Backup\mirror-log.bak'
GO


CREATE ENDPOINT Mirroring
    STATE = started
    AS TCP (listener_port=5022)
    FOR database_mirroring (role=partner)
GO

USE MASTER
GO
CREATE LOGIN [DOMAIN\svc.witness] FROM WINDOWS
GO
GRANT CONNECT ON ENDPOINT::Mirroring TO [DOMAIN\svc.witness];
GO

镜像服务器

CREATE ENDPOINT Mirroring
    STATE = started
    AS TCP (listener_port=5022)
    FOR database_mirroring (role=partner)
GO

RESTORE DATABASE mirror
FROM DISK = 'F:\Backup\mirror-full.bak'
WITH NORECOVERY
GO

RESTORE DATABASE mirror
FROM DISK = 'F:\Backup\mirror-log.bak'
WITH NORECOVERY
GO

USE MASTER
GO
CREATE LOGIN [DOMAIN\svc.witness] FROM WINDOWS
GO
GRANT CONNECT ON ENDPOINT::Mirroring TO [DOMAIN\svc.witness];
GO

见证服务器

create endpoint Mirroring
state = started
    as tcp (listener_port=5022)
    for database_mirroring (role=WITNESS)
go

USE MASTER
GO
CREATE LOGIN [DOMAIN\svc.witness] FROM WINDOWS
GO
GRANT CONNECT ON ENDPOINT::Mirroring TO [DOMAIN\svc.witness];
GO

镜像服务器

alter database mirror
set partner = 'TCP://HML-SQLS-01.domain.br:5022'
GO

PRINCIPAL SERVER(此执行中弹出错误)

--The error pops in this execution:
alter database mirror
set partner = 'TCP://HML-SQLS-01-TST.domain.br:5022'
GO

消息 1418,级别 16,状态 1,第 54 行服务器网络地址“TCP://HML-SQLS-01-TST.domain.br:5022”无法访问或不存在。检查网络地址名称以及本地和远程端点的端口是否可操作。

但是如果我在 CMD 中尝试这个命令,它的工作就完美了:

telnet hml-sqls-01-tst.domain.br 5022

服务器中的端点:

主体服务器端点 在此处输入图像描述

镜像服务器端点 在此处输入图像描述

见证服务器端点 在此处输入图像描述

有没有人经历过这个或可以提出前进的道路?

sql-server t-sql
  • 3 个回答
  • 1931 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve