如果您在使用RDS PostgreSQL数据库代理过程中存在疑问或遇到问题,可以参考本文查看解决方案。什么是数据库代理?数据库代理是位于数据库服务端和应用服务端之间的网络代理服务,用于转发应用服务端访问数据库时的所有请求,提供读写分离、事务拆分等高级功能,具有高可用、高性能、可运维、简单易用等特点。更多信息,请参见什么是数据库代理。通用型代理和独享型代理有什么区别?通用型:共享CPU物理资源,代理规格最高为16核(代理个数8),不收取任何费用,更经济。独享型:独占CPU物理资源,代理规格最高为32核(代理个数16),按量计费,具有更好的性能稳定性。更多信息,请参见数据库代理类型介绍、数据库代理费用说明。代理个数和代理规格是什么关系?代理规格 = 单位代理规格 × 代理个数说明 单位代理规格固定为2核CPU。例如,代理实例的代理个数为3 ,则对应的代理规格为2核 x 3 = 6核。代理个数用于计算最终数据库代理的性能规格,不代表实际代理个数。开通的数量越多,数据库代理可承担的数据库负载越高。代理个数和代理连接地址个数有关系吗?没有。每个RDS PostgreSQL实例在开通数据库代理后,都可以申请1~7个代理连接地址(原代理终端),每个代理连接地址都可以申请1个内网地址和1个外网地址,更多信息,请参见新建数据库代理连接地址。数据库代理是否会占用主实例的QPS或者TPS?不会数据库代理地址和常规地址是否是一个地址?不是。常规地址:正常的业务读写地址,通过该地址发送的所有请求只会路由到该实例。数据库代理地址:可根据用户的SQL请求,自动判断读请求或写请求,并分发到主实例或只读实例,实现读写分离,减轻主实例的压力。开通数据库代理后,实例原来的地址是否会被收回?不会收回。数据库代理是什么架构,有故障切换机制吗?数据库代理采用双主节点的高可用架构,流量连接按照1:1比例分发到两个节点当中,如果其中一个节点发生故障,将由另一个节点承担全部流量,并会自动触发故障节点重搭恢复任务,以确保数据库服务的高可用性。数据库代理的性能会随着代理连接地址个数(原代理终端)的增多而提升吗?不会。数据库代理的性能与只读实例个数、代理个数(代理规格)相关:增加只读实例,可以提升数据库代理的读请求处理能力。根据只读实例个数,增加代理个数(代理规格),可提升数据库代理的性能。说明 推荐代理规格计算方式:推荐代理规格 = 推荐代理个数*单位代理规格。其中,单位代理规格固定为2核。通用型代理规格最高为16核,独享型代理规格最高为32核。推荐代理个数计算方式如下:代理类型高可用系列实例通用型推荐代理个数(主实例CPU核数+该主实例下所有只读实例CPU核数)/4(向上取整)。独享型推荐代理个数(主实例CPU核数+该主实例下所有只读实例CPU核数)/8(向上取整)。例如,RDS高可用系列实例:主实例为8核CPU,该实例下有1个4核CPU的只读实例,则通用型代理推荐代理个数为(8+4)/8=2个,即推荐代理规格=2 *2 核=4核。数据库代理地址的前缀可以修改吗?可以。数据库代理地址的前缀和端口都可以修改,具体操作,请参见设置数据库代理连接地址。数据库代理对用户的连接数有限制吗?支持多少并发连接?数据库代理本身并没有最大连接数的限制,连接数的限制是由数据库中计算节点的规格决定。当前数据库代理支持的连接数为min{主实例最大连接数, 只读实例最大连接数}。例如:主实例规格的最大连接数为1600,只读实例规格的最大连接数为800,则数据库代理支持的连接数为800。说明 RDS PostgreSQL数据库代理暂不支持连接池。主实例和只读实例的最大连接数,请参见RDS PostgreSQL主实例规格列表和RDS PostgreSQL只读实例规格列表。如何使SQL读请求转发到主实例,不被数据库代理转发到只读实例?您可以在读请求的SQL中加入/*FORCE_MASTER*/,指定该请求被转发到主实例。如果需要转发到只读实例,则使用/*FORCE_SLAVE*/。示例:/*FORCE_MASTER*/ SELECT * FROM table_name;为什么修改后的读权重没有生效?修改读权重后,新建的连接才会根据新权重进行分配,已存在的连接不会断开重连。当故障实例恢复后,数据库代理需要多长时间可以正常提供服务?数据库代理会实时监控实例健康状态,当实例故障时,将会在2秒内识别到故障实例,当实例恢复时,数据库代理即可正常提供服务。如何查看专有网络类型的内网代理地址的vpc Id和vswitch Id?在数据库代理页面,连接信息区域,找到目标内网地址,点击图标,即可查看。