I am configuring a PostgreSQL JDBC connector in SailPoint IdentityIQ 8.3
and getting the following error when clicking Preview on the Schema page:
Error: “Identity attribute [name] was not found.”
Setup Details:
Application Type: JDBC (PostgreSQL)
IIQ Version: 8.3
Schema Identity Attribute: name
Schema Display Attribute: name
SQL Statement:
SELECT r.rolname AS name,
r.rolcanlogin AS can_login,
r.rolvaliduntil AS expiry_date,
role.rolname AS granted_role
FROM pg_roles r
LEFT JOIN pg_auth_members mem ON mem.member = r.oid
LEFT JOIN pg_roles role ON mem.roleid = role.oid
WHERE r.rolcanlogin = true
ORDER BY r.rolname;
The Preview actually shows data correctly (name = q1007,
granted_role = demo_auditor) but still throws the error popup.
I have tried changing the Identity Attribute to uid, uname, and name
but all give the same “Identity attribute was not found” error.
Questions:
What should the Identity Attribute field be set to in the Schema
for a JDBC PostgreSQL connector?
Does this field need to match an existing IIQ Identity attribute,
or is it just the column name from the SQL result?
Is this error blocking aggregation or just a Preview warning?
@Viraj Can you run this query in the SQL tool and see the results. If there are any rows which doesn’t have the rolname column populated, it’ll throw the error. Could you please check and confirm. In case you have null values, please modify your query to exclude null users.
@Viraj Good to know that it is resolved. Whenever you get some time, could you please mark your post as resolved. This’ll help fellow sailor may having the similar issues.