hi,

I need to know how many records are in a specific schema of a database.

I've tried with a function but there are still problems

Can you give me some hints :

-- Function: count_records(myschema varchar)

-- DROP FUNCTION count_records("varchar");

CREATE OR REPLACE FUNCTION count_records("varchar")
  RETURNS int8 AS
$BODY$DECLARE
 anzahl bigint := 0;
 summe bigint := 0;
 ds RECORD;
 tabellenname varchar(100);
BEGIN
 FOR ds IN select * from pg_tables where schemaname = myschema LOOP

  tabellenname := quote_ident(ds.schemaname) || '.' || quote_ident(ds.tablename);
  EXECUTE 'SELECT count(*) FROM ' || tabellenname INTO quote_ident(anzahl);
  summe := summe + anzahl;
 END LOOP;
 return summe;
END;$BODY$
  LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION count_records("varchar") OWNER TO postgres;

best regards

tom

Reply via email to