Boas pessoal. Estou a tentar criar uma query de monitorização. Quero juntar vários indicadores numa só tabela.
Por exemplo, usando 1 coluna de 2 tabelas: -- calculates the uptime of the database in seconds SELECT (now() - pg_postmaster_start_time()) as uptime, -- cachehitration round(sum(heap_blks_hit) / (sum(heap_blks_hit) + sum(heap_blks_read)),5)*100 as cachehitratio FROM pg_stat_activity, pg_statio_user_tables; Funciona às 1000 maravilhas: uptime cachehitratio 24 days 03:14:01.094 99.76300 Mas assim que começo a pedir várias colunas da 1ª tabela isto baralha-se. Nos docs diz que quando temos várias tabelas no FROM é feito um cross-join o que me parece bem. Mas pode ser o problema? (http://www.postgresql.org/docs/9.2/static/queries-table-expressions.html) Um exemplo deste problema: -- 1) calculates the uptime of the database in seconds SELECT (now() - pg_postmaster_start_time()) as uptime, -- 2) número de conexões, da mesma tabela que 1) COUNT(pg_stat_activity.*) as conexoes, -- 3) cachehitratio round(sum(heap_blks_hit) / (sum(heap_blks_hit) + sum(heap_blks_read)),5)*100 as cachehitratio FROM pg_stat_activity, pg_statio_user_tables; O resultado não é correcto para a coluna #2, conexões: uptime conexoes cachehitratio 24 days 03:19:22.73 360 99.76300 Só tenho 6 registos na tabela pg_stat_activity, não 360... Outra abordagem que tentei foi usar o UNION, e obter todos os resultados numa só coluna, o que obriga a ter sempre o mesmo tipo de resultado: int, texto, tempo, etc. para ser universal tenho de converter para texto o que elimina a utilidade da monitorização... Por exemplo: SELECT (now() - pg_postmaster_start_time())::text as valor, 'uptime' as nome FROM pg_statio_user_tables UNION select count(*)::text as valor, 'conexões' as nome from pg_stat_activity; O resultado que dá é: valor nome 6 conexoes 24 days 03:24:26.914 uptime O problema aqui é limitar-nos a um só tipo de valores. Agora a pergunta: têm sugestões para isto? Há outra abordagem? Abraços, Duarte -- View this message in context: http://osgeo-org.1560.x6.nabble.com/PostgreSQL-combinar-colunas-de-varias-tabelas-sem-join-tp5174613.html Sent from the OSGeo Portuguese Local Chapter mailing list archive at Nabble.com. _______________________________________________ Portugal mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/portugal
