我如何知道我的npgsql / conntion是否用于只读数据库?

时间:2018-10-19 01:31:08

标签: npgsql

我正在连接到postgres数据库。我事先不知道数据库实例是否是只读副本。代码在c#中,我正在使用npgsql建立连接。是否有一些标志显示数据库的读写状态?我正在使用npgsql 4.03

我们有一个数据库的主要读写副本和多​​个只读数据库副本。这就是所有关于aws的postgres。多个只读副本用于可伸缩性。我发现了一个postgres命令“ pg_is_in_recovery”。这确实有效,只读时返回true,可写时返回false。但这是关闭连接时npgsql的问题。从npgsql清除的部分工作是发出“ unlisten *”命令。取消监听实际上尝试插入行,因为数据库是只读的,所以失败。 (AWS文档»Amazon Relational Database Service(RDS)»用户指南»Amazon RDS上的PostgreSQL

Amazon RDS上的PostgreSQL-将此称为只读副本

1 个答案:

答案 0 :(得分:0)

我已经弄清楚了如何修改源(npgsql),以便在建立连接后,PostGres数据库的状态(Read / Write或ReadOnly)保持在npgsql连接中。 @ Shay Rojansky或其他团队成员。如何提交此分支以合并到主分支?