Hi Hackers, Attached you can find a patch that will correct issue #3578
The SQL command used to retrieve the SQL for the Role does not work, because it as a piece of it that is intended for Postgres > 9.0. Thanks Joao
diff --git a/web/pgadmin/browser/server_groups/servers/roles/templates/role/sql/post8_4/sql.sql b/web/pgadmin/browser/server_groups/servers/roles/templates/role/sql/post8_4/sql.sql index 642009e0..d3cb081b 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/templates/role/sql/post8_4/sql.sql +++ b/web/pgadmin/browser/server_groups/servers/roles/templates/role/sql/post8_4/sql.sql @@ -59,35 +59,6 @@ FROM oid=%(rid)s::OID ) r ) a) b) --- PostgreSQL >= 9.0 -UNION ALL -(SELECT - array_to_string(array_agg(sql), E'\n') AS sql -FROM - (SELECT - 'ALTER ROLE ' || pg_catalog.quote_ident(pg_get_userbyid(%(rid)s::OID)) || - ' SET ' || param|| ' TO ' || - CASE - WHEN param IN ('search_path', 'temp_tablespaces') THEN value - ELSE quote_literal(value) - END || ';' AS sql - FROM - (SELECT - datname, split_part(rolconfig, '=', 1) AS param, replace(rolconfig, split_part(rolconfig, '=', 1) || '=', '') AS value - FROM - (SELECT - d.datname, unnest(c.setconfig) AS rolconfig - FROM - (SELECT * - FROM - pg_catalog.pg_db_role_setting dr - WHERE - dr.setrole=%(rid)s::OID AND dr.setdatabase!=0) c - LEFT JOIN pg_catalog.pg_database d ON (d.oid = c.setdatabase) - ) a - ) b - ) d -) UNION ALL (SELECT 'COMMENT ON ROLE ' || pg_catalog.quote_ident(pg_get_userbyid(%(rid)s::OID)) || ' IS ' || pg_catalog.quote_literal(description) || ';' AS sql