paul@crc

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