catalog is missing 10 attribute(s)錯誤的解決辦法一例
查詢該表報錯:
test=# select count(*) from test;
2021-04-28 11:41:35.783 HKT [36138] ERROR: catalog is missing 10 attribute(s) for relid 30804 at character 22
2021-04-28 11:41:35.783 HKT [36138] STATEMENT: select count(*) from test;
ERROR: XX000: catalog is missing 10 attribute(s) for relid 30804
LINE 1: select count(*) from test;
^
LOCATION: RelationBuildTupleDesc, relcache.c:581
Time: 0.707 ms
一般報這種錯就是表有損壞,可以嘗試從備份中恢復,或者直接刪除,但 刪除該表發現報錯:
test=# drop table if exists test;
2021-04-28 11:39:50.670 HKT [36138] ERROR: cache lookup failed for attribute 9 of relation 30804
2021-04-28 11:39:50.670 HKT [36138] STATEMENT: drop table if exists test;
ERROR: XX000: cache lookup failed for attribute 9 of relation 30804
LOCATION: get_relid_attribute_name, lsyscache.c:808
Time: 0.870 ms
問題解決思路:
找到test表對應的oid值,然後根據oid值在pg_class和pg_depend表裡刪除對應的後設資料資訊。
查test表的oid值:
test=# select oid from pg_class where relname='test';
oid
-------
30804
(1 row)
Time: 0.649 ms
刪除pg_class中對應test的後設資料資訊:
11:41:42 (postgres@127.0.0.1:5432)test=# delete from pg_class where oid =30804;
DELETE 1
Time: 1.189 ms
刪除pg_class中對應test的後設資料資訊:
11:41:55 (postgres@127.0.0.1:5432)test=# delete from pg_depend where objid = 30804;
DELETE 1
test表已正常從資料庫裡刪除:
test=# select count(*) from test;
2021-04-28 11:52:06.483 HKT [36138] ERROR: relation "test" does not exist at character 22
2021-04-28 11:52:06.483 HKT [36138] STATEMENT: select count(*) from test;
ERROR: 42P01: relation "test" does not exist
LINE 1: select count(*) from test;
^
LOCATION: parserOpenTable, parse_relation.c:1180
Time: 0.547 ms
備註:
pg_class後設資料表記錄表和幾乎所有具有列或者像表的東西。這包括索引(但還要參見pg_index)、序列(但還要參見pg_sequence)、檢視、物化檢視、組合型別和TOAST表。
pg_depend
目錄pg_depend後設資料表記錄資料庫物件之間的依賴關係。這些資訊允許DROP命令查詢必須被DROP CASCADE刪除的其他物件,
或者在DROP RESTRICT情況下阻止刪除。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2770255/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RuntimeError: Error(s) in loading state_dict for SSD: Missing key(s) in解決辦法Error
- win10硬體錯誤117怎麼解決?win10硬體錯誤117的解決辦法Win10
- 畢設之錯誤解決辦法
- Idea編譯錯誤解決辦法Idea編譯
- mysqldump error1066 錯誤的解決辦法MySqlError
- iOS路上遇到的錯誤及解決辦法iOS
- ubuntu下import matplotlib錯誤解決辦法UbuntuImport
- 安裝wsl錯誤的一種解決辦法
- Git 錯誤:fatel: loose object ... is corrupt 解決辦法GitObject
- Mysql出現連線錯誤解決辦法MySql
- ORA-39006錯誤原因及解決辦法
- CATIA許可證時間錯誤的解決辦法
- 出現可怕的NoSuchMethodError錯誤的解決辦法 -Gunnar MorlingError
- 【git】Git commit時提示錯誤時 解決辦法GitMIT
- git push出現unpack failed: error Missing tree錯誤的解決方法GitAIError
- 解決jpa查詢時,Unable to locate Attribute with the the given name錯誤
- 【Error】AttributeError: module ‘scipy.misc‘ has no attribute ‘logsumexp‘ 的解決辦法Error
- git add .出現錯誤LF will be replaced by CRLF in 解決辦法Git
- kali更新源數字簽名錯誤解決辦法
- Windows git remote: HTTP Basic: Access denied 錯誤解決辦法WindowsGitREMHTTP
- JPA-style positional param was not an integral ordinal錯誤解決辦法
- command 'gcc' failed with exit status 1錯誤問題的解決辦法GCAI
- 寬頻連線720錯誤是什麼意思?Win10寬頻連線720錯誤的解決辦法Win10
- 錯誤720寬頻連線解決辦法 寬頻連線錯誤程式碼720怎麼解決
- git報錯400的解決辦法Git
- tp5.0.20 分頁跳轉時URL錯誤的解決辦法
- 執行 PHP artisan migrate 時報長度錯誤的解決辦法?PHP
- win10調變解調器錯誤怎麼辦 win10調變解調器錯誤的解決方法Win10
- 解決chkconfig設定開機啟動時出現missing LSB的錯誤
- PHP編譯安裝時常見錯誤解決辦法,php編譯常見錯誤PHP編譯
- Ubuntu 安裝包時提示錯誤E: Unable to locate package mysql-server錯誤 解決辦法UbuntuPackageMySqlServer
- Steam錯誤程式碼138怎麼辦?無法訪問社群提示138錯誤解決方法
- "Got a packet bigger than 'max_allowed_packet' bytes"錯誤解決辦法Go
- Adobe 2022軟體安裝錯誤程式碼107解決辦法
- steam社群101解決辦法win10_win10系統steam社群錯誤101如何處理Win10
- cnpm link 報錯解決辦法NPM
- vscode“檢測到 #include 錯誤,請更新 includepath。”的問題解決辦法VSCode
- docker 容器環境下的 MySQL 拒絕連線錯誤解決辦法DockerMySql