我想测试在查询超时的情况下对 PostgreSQL 服务器执行查询的程序的行为。
我怎样才能模拟呢?
答案1
如果您只是想模拟超时应用一边你可以只使用一个虚拟查询,例如:
SELECT pg_sleep(seconds);
哪里seconds
有一些整数值可以模拟查询,但不会在合理的时间范围内返回。
如果您不想从查询中返回,只需运行上面的命令并终止数据库即可。
pgrep posgres | xargs kill -15 $1
我相信这也会模拟查询超时。
答案2
您如何模拟成功的查询?您应该能够使用相同的机制,但PGRES_FATAL_ERROR
在返回值中返回(和适当的消息字符串)PGresult
。