No hay una funcion en contrib/tablefunc que hace eso?
*-------------------------------------------------------* *-Edwin Quijada *-Developer DataBase *-JQ Microsistemas *-809-849-8087 * " Si deseas lograr cosas excepcionales debes de hacer cosas fuera de lo comun" *-------------------------------------------------------* ________________________________ > Date: Thu, 21 May 2009 15:27:25 -0500 > Subject: [pgsql-es-ayuda] Problema con Funcion que estima tamaño de tabla > From: [email protected] > To: [email protected] > > Hola a todos le pongo este ejemplo para que me comprendan que es lo que quiero > > Esta funcion funciona pero con un parametro duro el de naranja > Pero quiero que sea variable ese parametro intente de la manera comentada el > de verde pero no funciono alguna idea. > > > --esta funcion estima el tamaño de una tabla segun las filas que > supuestamente generemos > > drop FUNCTION sch_desarrollo.fn_estimation_size_table(text,numeric); > CREATE OR REPLACE FUNCTION > sch_desarrollo.fn_estimation_size_table(text,numeric) > > RETURNS text AS > $BODY$ > DECLARE > --select fn_estimation_size_table('table',100000)=======>la tabla y el numero > de registros a estimar > n_size numeric; > v_query text; > v_table alias for $1; > > n_rows alias for $2; > v_row text; > v_sch_table text; > > BEGIN > v_row=v_table||'.*'; > v_sch_table='sch_clinica.'||v_table; > select distinct > round((((n_rows/(8102/(pg_column_size(row(v_row))+4)))*8)::double > precision/1024)::numeric,2) into n_size from sch_clinica.tbl_pais; > > --select distinct > round((((100000/(8102/(pg_column_size(row(tbl_pais.*))+4)))*8)::double > precision/1024)::numeric,2) into n_size from v_sch_table; > > return 'Para '||n_rows::text||' registros se estima '||n_size::text||' MG en > la tabla '||v_table; > END; > $BODY$ > LANGUAGE 'plpgsql' VOLATILE > COST 100; > > Consulta: > > select sch_desarrollo.fn_estimation_size_table('tbl_pais',100000); > > Resultado: > "Para 100000 registros se estima 3.77 MG en la tabla tbl_pais" > > > Saludos > > -- > Luis Zevallos > DBA Administrador de DB & SRVR > Lobo Sistemas S.A.C > tel: +5154958310833 > http://www.lobosistemas.com _________________________________________________________________ Windows Live Hotmail now works up to 70% faster. http://windowslive.com/Explore/Hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_faster_112008-- TIP 5: ¿Has leído nuestro extenso FAQ? http://www.postgresql.org/docs/faqs.FAQ.html
