更新时间:2026-01-15 GMT+08:00

使用Hint语法实现TaurusDB for PostgreSQL读写分离

在读写分离权重分配体系之外,Hint可以作为另外一种SQL补充语法来指定相关SQL到主节点或只读实例执行。

本章节介绍如何使用Hint语法将读写请求路由到主节点或只读实例。

注意事项

Hint注释仅作为路由建议,非只读SQL、事务中的场景不能强制路由到只读节点。

使用方法

可以在SQL开头添加hint注释进行强制路由。

/*FORCE_MASTER*/强制路由到主节点;

/*FORCE_SLAVE*/强制路由到只读节点;

例如:select * from table1默认会路由到只读节点,如果改为/*FORCE_MASTER*/ select * from table1就会路由到主节点。

/*FORCE_MASTER*/只能在可读可写的地址上生效,对于只读地址即使使用/*FORCE_MASTER*/也不会路由到主节点。

HINT 语法不区分大小写,例如 /*FORCE_MASTER*/ 与 /*force_master*/ 效果一致。

HINT 内容不允许包含空格,需紧凑书写,错误示例:/* FORCE_MASTER */,正确示例:/*FORCE_MASTER*/。

在使用时必须将HINT语法放在SQL语句的句首。