Re: Sizes for all databases
От | Robert Treat |
---|---|
Тема | Re: Sizes for all databases |
Дата | |
Msg-id | 1049479433.8126.151.camel@camel обсуждение исходный текст |
Ответ на | Sizes for all databases (Daniel Rubio <drubior@tinet.org>) |
Список | pgsql-admin |
This looks pretty neat. Perhaps you can add it to the PostgreSQL Cookbook as well? http://www.brasileiro.net:8080/postgres/cookbook/ Robert Treat On Mon, 2003-03-31 at 10:32, Daniel Rubio wrote: > Hi! > > Not long time ago, I asked the list how to obtain the sizes of all the > databases on my postgres, to have a control on how growths the client's > applications. > > Now I've found a solution and I thinked that it could be useful for > people working on ISP's offering postgres services or simply as an other > control utility then I'll put here for those who are interesed. > > 1-The function uses the database_size function that you can find in the > contrib directory (dbsize) > > 2-Create a table in one of your databases (with plpgsql active and the > addient permissions) with this structure > > CREATE TABLE "mides" ( > "nom" name NOT NULL, > "mida" int4 NOT NULL > ); > > 3-This is the function you must add > > CREATE FUNCTION mides_bds() RETURNS setof mides AS ' > DECLARE > actual mides%ROWTYPE; > treball RECORD; > mida int4; > BEGIN > FOR treball IN SELECT datname FROM pg_database LOOP > SELECT INTO mida database_size(treball.datname); > mida:=mida/1024; > SELECT INTO actual a.datname,mida FROM pg_database a WHERE > a.datname=treball.datname; > RETURN NEXT actual; > END LOOP; > RETURN actual; > END; > 'LANGUAGE 'plpgsql'; > > 4-Now, if you execute SELECT * FROM mides_bds() you'll obtain the sizes > in Kb for all your databases > > I hope it's useful for someone else, and once more, sorry for my english > -- > ******************************************************** > Daniel Rubio Rodríguez > OASI (Organisme Autònom Per la Societat de la Informació) > c/ Assalt, 12 > 43003 - Tarragona > Tef.: 977.244.007 - Fax: 977.224.517 > e-mail: drubio@oasi.org > ******************************************************** > > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly
В списке pgsql-admin по дате отправления: