Description of problem: There seems to be a bad query in the Postgresql agent. SELECT ts.*, pg_relation_size(ts.relname) as table_size, pg_total_relation_size(ts.relname) as total_size, ios.heap_blks_read, ios.heap_blks_hit, ios.idx_blks_read, ios.idx_blks_hit, ios.toast_blks_read, ios.toast_blks_hit, ios.tidx_blks_read, ios.tidx_blks_hit FROM pg_stat_user_tables ts left join pg_statio_user_tables ios on ts.relid=ios.relid WHERE ts.relname=${} ERROR: function pg_relation_size(name) does not exist at character 15 Version-Release number of selected component (if applicable): I'm using Postgresql 8.4 How reproducible: Everytime Steps to Reproduce: 1.run rhq with postgesql database (ver 8.4 in my case) 2. install the postgres agent 3. look at the log files Actual results: query fails Expected results: query should work Additional info: http://git.fedorahosted.org/git/rhq/rhq.git?p=rhq/rhq.git;a=blob;f=modules/plugins/postgres/src/main/java/org/rhq/plugins/postgres/PostgresTableComponent.java;hb=master
Mark, what rights does the agent user have ? (or better: what are role name/password in the postgres servers connection properties ? ) When you log into postgres as this user(role) and issue (via psql) select pg_relation_size('rhq_agent') ; does this work?
The query does seem to work: # /opt/PostgreSQL/8.4/bin/psql -U rhqadmin -w -d rhq psql (8.4.1) Type "help" for help. rhq=> select pg_relation_size('rhq_agent') ; pg_relation_size ------------------ 974848 (1 row) for permissions: rhq=# select * from pg_authid; rolname | rolsuper | rolinherit | rolcreaterole | rolcreatedb | rolcatupdate | rolcanlogin | rolconnlimit | rolpassword | rolvaliduntil | rolconfig ----------+----------+------------+---------------+-------------+--------------+-------------+--------------+-------------------------------------+---------------+----------- postgres | t | t | t | t | t | t | -1 | md53175bce1d3201d16594cebf9d7eb3f9d | | rhqadmin | f | t | f | f | f | t | -1 | md595e13780358466b08514bca98d7f1386 | | If it matters, there are also permission errors in the log that I believe are coming from the hourly analyze.
Temporarily adding the keyword "SubBug" so we can be sure we have accounted for all the bugs. keyword: new = Tracking + FutureFeature + SubBug
making sure we're not missing any bugs in rhq_triage
n 8.4, pg_relation_size was changed to use the regclass type, which means that pg_relation_size(data_type_name) no longer works. For whatever reason, pg_relation_size('table') still works, but pg_relation_size(relation) not. Switching to OID works in 8.1+ databases. QE: please also test against 8.3 Fix is in 7bb4095
Verified on jon build#160 (Revision: 10620) on postgres versions 8.2.4, 8.3.8 and 8.4.2 Postgres plugin is able to get metrics for postgres tables and no exception is observed in agent.log file.
Mass-closure of verified bugs against JON.