diff --git a/zabbix-server/files/commentcounts.sql b/zabbix-server/files/commentcounts.sql
new file mode 100644
index 0000000000000000000000000000000000000000..88b6071a472358ad2db6430032beb0e9ac07ea97
--- /dev/null
+++ b/zabbix-server/files/commentcounts.sql
@@ -0,0 +1,20 @@
+CREATE OR REPLACE FUNCTION zbx_update_partition_table_comments(schema_arg TEXT DEFAULT 'partitions') RETURNS INT AS $$
+DECLARE
+	r RECORD;
+	c BIGINT;
+	t TEXT;
+BEGIN
+	RAISE NOTICE 'Updating table comments in schema %', schema_arg;
+	FOR r IN SELECT tablename FROM pg_tables WHERE schemaname = schema_arg -- AND tablename like 'history_str%'
+	LOOP
+		RAISE NOTICE '. updating comment for %.%', schema_arg, r.tablename;
+		EXECUTE 'SELECT count(1) FROM ' || quote_ident(schema_arg) || '.' || quote_ident(r.tablename) || '' INTO c;
+		t := quote_literal(date_trunc('second',CURRENT_TIMESTAMP)::TEXT || ' => ' || to_char(c, '999G999G999G999') || ' Rows');
+		RAISE NOTICE '.. got count % for %.%', t, schema_arg, r.tablename;
+		EXECUTE 'COMMENT ON TABLE ' || quote_ident(schema_arg) || '.' || quote_ident(r.tablename) ||' IS ' || t || '';
+	END LOOP;
+
+	RETURN 1;
+END
+$$ LANGUAGE plpgsql;
+
diff --git a/zabbix-server/tasks/main.yml b/zabbix-server/tasks/main.yml
index b03bda26d93f09ea9114818a2251d2b166c2951f..d362eba3674d561f562d2cec5e81bae1bd41d0ba 100644
--- a/zabbix-server/tasks/main.yml
+++ b/zabbix-server/tasks/main.yml
@@ -36,6 +36,12 @@
     - database
     - zabbix
 
+- name: ensure there is the commentcounts sql file
+  copy: src=commentcounts.sql dest=/usr/share/doc/zabbix-server-pgsql/commentcounts.sql
+  tags:
+    - database
+    - zabbix
+
 - name: ensure we have a user on the database server
   postgresql_user: name="{{ zabbix_db_user }}" password="{{ zabbix_db_password }}" state=present role_attr_flags=NOSUPERUSER,NOCREATEDB
   become: yes
@@ -98,7 +104,19 @@
 - name: apply database schema optimization
   shell: psql -h {{ zabbix_db_host }} -U {{ zabbix_db_user }} -w -d {{ zabbix_db_name }} -f /usr/share/doc/zabbix-server-pgsql/zabbix-partition.sql && touch /var/lib/zabbix/.db_schema_optimized
   args:
-    creates: /var/lib/zabbix/.db_schema_created
+    creates: /var/lib/zabbix/.db_schema_optimized
+  become: yes
+  become_user: zabbix
+  notify:
+    - restart zabbix server
+  tags:
+    - database
+    - zabbix
+
+- name: apply database commentcounts function
+  shell: psql -h {{ zabbix_db_host }} -U {{ zabbix_db_user }} -w -d {{ zabbix_db_name }} -f /usr/share/doc/zabbix-server-pgsql/commentcounts.sql && touch /var/lib/zabbix/.db_schema_countfunc
+  args:
+    creates: /var/lib/zabbix/.db_schema_countfunc
   become: yes
   become_user: zabbix
   notify: