2014-04-02 60 views
0

我收到執行在Postgres的查詢時出現以下錯誤:Postgres的找不到枚舉類型

柱「行動」類型schemaname.enum_rights_actions,但表達的類型是enum_rights_actions

是這是一個模式相關的問題?

alter database postgres set search_path=schemaname沒有幫助。

回答

0

解決方法。 表的原始定義是:

CREATE TABLE rights_history(
    ..., 
    action schemaname.enum_rights_actions, 
    ... 
); 

我通過移除預謀架構名改變了表的定義:

CREATE TABLE rights_history(
    ..., 
    action enum_rights_actions, 
    ... 
); 

這幫助。 DDL SQL是使用pgmodeler生成的。

+2

我不確定你是否修復了潛在的問題。我懷疑你有兩個不同模式的枚舉類型的副本。 「其他」一個在你的search_path中(可能是公開的) –

+0

'\ dn'只列出了我的數據庫中的一個模式。我已經放棄了公共架構。 – veidelis