[Portugal] PostgreSQL - combinar colunas de várias tabelas, sem join

Giovanni Manghi giovanni.manghi faunalia.pt
Segunda-Feira, 24 de Novembro de 2014 - 13:34:05 PST


> 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...


eu não sei se percebi bem o problema, mas parece-me que sem um (exemplo)

WHERE
id.pg_stat_activity = id.pg_statio_user_tables

vai dar problemas porque se os records nas 2 tabelas não são
relacionados ele faz (exemplo com 2 registos em cada tabela):

tabela1_registro1 tabela2_registro1
tabela1_registro2 tabela2_registro1
tabela1_registro1 tabela2_registro2
tabela1_registro2 tabela2_registro2


More information about the Portugal mailing list