首页 > 数据库 > > SQL语法-EXECUTE DIRECT
在指定的节点上执行SQL语句。一般情况下,SQL语句的执行是由集群负载自动分配到合适的节点上,execute direct主要用于数据库维护和测试。
EXECUTE DIRECT ON ( nodename [, ... ] ) query ;参数说明
节点名称。
取值范围:已存在的节点。
要执行查询语句。
--查询当前集群的节点分布状态。
SELECT * FROM pgxc_node;
node_name | node_type | node_port | node_host | node_port1 | node_host1 | hostis_primary | nodeis_primary | nodeis_preferred | node_id | sctp_port | control_port | sctp_port1 | control_port1
--------------+-----------+-----------+----------------+------------+----------------+----------------+----------------+------------------+-------------+-----------+--------------+------------+---------------
cn_5001 | C | 8050 | 10.180.155.74 | 8050 | 10.180.155.74 | t | f | f | 1120683504 | 0 | | 0 |
cn_5003 | C | 8050 | 10.180.157.130 | 8050 | 10.180.157.130 | t | f | f | -125853378 | | 0 | | 0
dn_6001_6002 | D | 40050 | 10.180.155.74 | 45050 | 10.146.187.231 | t | f | f | 1644780306 | 40052 | 40052 | 45052 | 45052
dn_6003_6004 | D | 40050 | 10.146.187.231 | 45050 | 10.180.157.130 | t | f | f | -966646068 | 40052 | 40052 | 45052 | 45052
dn_6005_6006 | D | 40050 | 10.180.157.130 | 45050 | 10.180.155.74 | t | f | f | 868850011 | 40052 | 40052 | 45052 | 45052
cn_5002 | C | 8050 | localhost | 8050 | localhost | t | f | f | -1736975100 | | 0 | | 0
(6 rows)
--查询dn_6001_6002上tpcds.customer_address记录。
EXECUTE DIRECT ON(dn_6001_6002) 'select count(*) from tpcds.customer_address';
count
-------
16922
(1 row)
--查询tpcds.customer_address所有记录。
SELECT count(*) FROM tpcds.customer_address;
count
-------
50000
(1 row)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3146898/ ,如需转载,请注明出处,否则将追究法律责任。