簡體   English   中英

選擇查詢不適用於 postgresql 中的特定列條件

[英]Select query doesn't work with specific column condition in postgresql

背景: PostgreSQL 服務在服務器斷電后面臨一些損壞。 我使用 pg_resetwal 命令解決了這個問題。 正如這里建議的那樣

服務成功啟動后,我面臨着這個奇怪的問題。

當我使用 id 列查詢時,即使查詢的數據在那里並且列類型匹配,它也不會產生任何結果

# SELECT id, email FROM users WHERE id=1;
 id | email
----+-------
(0 rows)

但是,如果我使用其他列(在本例中為電子郵件列)進行查詢,則結果

# SELECT id, email FROM users WHERE email='john@gmail.com';
 id |          email
----+--------------------------
 1 | john@gmail.com
(1 row)

有什么建議么?

PostgreSQL 版本:12.7

好的,所以在你設法讓你的 PostgreSQL 實例運行之后,你應該做的是:

  1. 立即備份所有數據庫
  2. 審核他們+檢查是否有任何損壞
  3. 刪除現有的 dbs 並從審核的備份中恢復
  4. 確定導致數據損壞的服務器中的錯誤配置。

我假設你沒有做這些事情並且有一個損壞的索引。

您的硬件在向 PostgreSQL 撒謊,將數據持久化到磁盤 信任現有數據是不安全的 - 任何正在更新的內容(不僅是您直接更新,還包括真空處理)都是可疑的。

暫無
暫無

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

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