Q: Profile Manager crashing
So I had to restore my Profile Manager DB after a system crash and I am getting some errors. If I leave the Profile Manager web interface alone for a few minutes, or click groups, I get a server error message and this entry in the PostgreSQL log:
******************************************************************************** ****************************************************************
2016-08-29 15:21:02.512 PDT ERROR: column "u.short_name" must appear in the GROUP BY clause or be used in an aggregate function at character 39
2016-08-29 15:21:02.512 PDT QUERY: WITH distinct_users AS (
SELECT u.id,
u.short_name,
u.vpp_status_updated_at,
CASE WHEN u.vpp_status_ext = 'Associated' THEN 1 ELSE 0 END AS is_enrolled,
CASE WHEN u.vpp_status_ext IS DISTINCT FROM 'Associated' AND u.vpp_email_address IS NOT NULL THEN 1 ELSE 0 END AS is_email_invited,
CASE WHEN LENGTH(COALESCE(u.email, u.vpp_email_address,'')) > 0 THEN 1 ELSE 0 END AS has_email,
CASE WHEN FIRST(t.device_id) IS NOT NULL THEN 1 ELSE 0 END AS has_vpp_device,
MIN(GREATEST(t.vpp_last_invite_requested, t.vpp_last_invite_delivered)) AS dev_min_invite,
MAX(GREATEST(t.vpp_last_invite_requested, t.vpp_last_invite_delivered)) AS dev_max_invite,
MAX(GREATEST(g.xmin::text::bigint, u.xmin::text::bigint, t.xmin::text::bigint)) AS xmin
FROM user_groups AS g
JOIN view_user_groups_users_flat AS j ON (g.id = j.user_group_id)
JOIN users AS u ON (u.id = j.user_id)
LEFT JOIN view_vpp_enabled_mdm_targets AS t ON (t.user_id = u.id)
WHERE g.id = ug_id
GROUP BY u.id
)
SELECT SUM(is_enrolled) AS users_enrolled,
SUM(CASE WHEN is_enrolled = 1 THEN has_vpp_device ELSE 0 END) AS users_enrolled_with_vpp_device,
MIN(CASE WHEN is_enrolled = 1 THEN vpp_status_updated_at ELSE NULL END) AS enrolled_at_min,
MAX(CASE WHEN is_enrolled = 1 THEN vpp_status_updated_at ELSE NULL END) AS enrolled_at_max,
SUM(CASE WHEN is_enrolled = 0 THEN is_email_invited ELSE 0 END) AS users_email_invited,
SUM(CASE WHEN is_enrolled = 0 THEN has_email ELSE 0 END) AS users_with_email,
MIN(CASE WHEN is_email_invited = 1 THEN vpp_status_updated_at ELSE NULL END) AS email_invited_at_min,
MAX(CASE WHEN is_email_invited = 1 THEN vpp_status_updated_at ELSE NULL END) AS email_invited_at_max,
SUM(CASE WHEN is_enrolled = 0 THEN has_vpp_device ELSE 0 END) AS users_with_vpp_device,
SUM(CASE WHEN is_enrolled = 0 AND dev_min_invite IS NOT NULL THEN 1 ELSE 0 END) AS users_device_invited,
MIN(dev_min_invite) AS device_invited_at_min,
MAX(dev_max_invite) AS device_invited_at_max,
MAX(xmin) AS xmin
FROM distinct_users
2016-08-29 15:21:02.512 PDT CONTEXT: PL/pgSQL function dm_vpp_get_enrollment_data_for_user_group(integer) line 9 at SQL statement
2016-08-29 15:21:02.512 PDT STATEMENT: SELECT dm_vpp_get_enrollment_data_for_user_group(2)
******************************************************************************** ***********************************************************
I am running MacOS 10.11.6 and Server 5.1.7
Any ideas?
Thank you
Mac mini, OS X El Capitan (10.11.6), Server 5.1.7
Posted on Aug 29, 2016 3:29 PM