diff --git a/plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreDatabase.java b/plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreDatabase.java index 9594de02a032a75b4c2dd8ea7e77f299b1a6b1b4..6f1ee2421683b4d06bd08a67e38e8a8874783137 100644 --- a/plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreDatabase.java +++ b/plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgreDatabase.java @@ -44,6 +44,7 @@ import org.jkiss.dbeaver.model.struct.rdb.DBSCatalog; import java.sql.SQLException; import java.util.Collection; +import java.util.Collections; /** * PostgreDatabase @@ -399,7 +400,7 @@ public class PostgreDatabase implements DBSInstance, DBSCatalog, DBPRefreshableO throws SQLException { return session.prepareStatement( - "SELECT a.oid,a.* FROM pg_catalog.pg_authid a " + + "SELECT a.oid,a.* FROM pg_catalog.pg_authid1 a " + "\nORDER BY a.oid" ); } @@ -410,6 +411,17 @@ public class PostgreDatabase implements DBSInstance, DBSCatalog, DBPRefreshableO { return new PostgreAuthId(owner, dbResult); } + + @Override + protected boolean handleCacheReadError(DBException error) { + // #271: in some databases (AWS?) pg_authid is not accessible +// if (PostgreConstants.EC_PERMISSION_DENIED.equals(error.getDatabaseState())) { +// log.warn(error); + setCache(Collections.emptyList()); +// return true; +// } + return false; + } } class AccessMethodCache extends JDBCObjectCache { diff --git a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/cache/JDBCObjectCache.java b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/cache/JDBCObjectCache.java index 0ad7496aa36ef3d9de9f195bbc15d5f242edba2a..dda3cd3ed83f7932ba3575b6d3821d668e658097 100644 --- a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/cache/JDBCObjectCache.java +++ b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/impl/jdbc/cache/JDBCObjectCache.java @@ -84,35 +84,40 @@ public abstract class JDBCObjectCache comparator = getListOrderComparator(); @@ -127,5 +132,10 @@ public abstract class JDBCObjectCache