簡體   English   中英

使用JPA查詢Postgres復制狀態

[英]Using JPA to query postgres replication status

我正在嘗試使用查詢查詢基礎數據庫的復制狀態:

em.createNativeQuery("SELECT application_name, backend_start, state, cast(write_lag as text) FROM pg_stat_replication;").getResultList();

不幸的是,除application_name之外的所有列均返回null。 即使我只跑

 em.createNativeQuery("SELECT backend_start FROM pg_stat_replication;").getResultList();

我得到空結果。 如果我在postgres命令行客戶端中運行相同的查詢,則會得到有意義的結果:

dbname=# select backend_start from pg_stat_replication;
         backend_start         
-------------------------------
 2018-10-16 09:01:58.262578+02
(1 row)

我正在將spring-boot 1.2.6與hibernate和postgresql 10.5一起使用。

我該怎么辦才能獲得此查詢的結果?

發布后,我意識到我在CLI和Java中使用了不同的用戶。 顯然,用戶需要是超級用戶或具有pg_read_all_stats默認角色。 像這樣:

GRANT pg_read_all_stats TO user;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM