Re: [HACKERS] For review: dbsize patch

2005-06-28 Thread Dave Page
 

 -Original Message-
 From: Bruce Momjian [mailto:[EMAIL PROTECTED] 
 Sent: 28 June 2005 00:58
 To: Dave Page
 Cc: PostgreSQL-development
 Subject: Re: [HACKERS] For review: dbsize patch
 
 Dave Page wrote:
  The attached patch is an update of the dbsize integration patch
  discussed last week. This version includes the following functions:
  
  pg_relation_size(text)   - Get relation size by name/schema.name
  pg_relation_size(oid)- Get relation size by OID
  pg_tablespace_size(name) - Get tablespace size by name
  pg_tablespace_size(oid)  - Get tablespace size by OID
  pg_database_size(name)   - Get database size by name
  pg_database_size(oid)- Get database size by OID
  pg_size_pretty(int8) - Pretty print (and round) the byte size
  specified (eg, 123456 = 121KB)
  
  The only remaining function that last week's brief 
 discussion indicated
  was required is a replacement for total_relation_size() (or
  pg_table_size() as it might now be called). I didn't 
 realise until a few
  minutes ago that this function (which is actually broken because it
  doesn't handle schemas) was only committed a couple of 
 months ago (v1.5,
  
 http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/dbsiz
 e/dbsize.s
  ql.in) and has therefore never been in a release version.
 
 Uh, do any of these include the index size?  TOAST size?

No, only total_relation_size() does that.

  So should we include this new feature, and if so, how is it 
 best added -
  rewrite in C, or one long line in pg_proc?
 
 I would follow whatever we do in pg_proc now.

There are a couple of SQL functions in there, but they are nowhere near
as long as this one. I'll look at implementing it in C.

Regards, Dave.

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faq


Re: [HACKERS] For review: dbsize patch

2005-06-28 Thread Bruce Momjian
Dave Page wrote:
  Dave Page wrote:
   The attached patch is an update of the dbsize integration patch
   discussed last week. This version includes the following functions:
   
   pg_relation_size(text)   - Get relation size by name/schema.name
   pg_relation_size(oid)- Get relation size by OID
   pg_tablespace_size(name) - Get tablespace size by name
   pg_tablespace_size(oid)  - Get tablespace size by OID
   pg_database_size(name)   - Get database size by name
   pg_database_size(oid)- Get database size by OID
   pg_size_pretty(int8) - Pretty print (and round) the byte size
   specified (eg, 123456 = 121KB)
...
  
  Uh, do any of these include the index size?  TOAST size?
 
 No, only total_relation_size() does that.

And we are dropping total_relation_size() in this patch, right?

I do like the new redesign --- it is very clear and consistent, and it
is clear you are looking at relation/tablespace/database levels in the
API.

Can we rename pg_relation_size to be pg_object_size(), because it
handles indexes and TOAST, and use pg_relation_size to return the total
usage of relations, and error if called with a TOAST or index?

I would like to give some way to report a total without having to query
the system catalogs.

   So should we include this new feature, and if so, how is it 
  best added -
   rewrite in C, or one long line in pg_proc?
  
  I would follow whatever we do in pg_proc now.
 
 There are a couple of SQL functions in there, but they are nowhere near
 as long as this one. I'll look at implementing it in C.
 
 Regards, Dave.
 

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  pgman@candle.pha.pa.us   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faq


Re: [HACKERS] For review: dbsize patch

2005-06-27 Thread Michael Paesold

Dave Page wrote:


The only remaining function that last week's brief discussion indicated
was required is a replacement for total_relation_size() (or
pg_table_size() as it might now be called). I didn't realise until a
few minutes ago that this function (which is actually broken because it
doesn't handle schemas) was only committed a couple of months ago
(v1.5,
http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/dbsize/dbsize.sql.in)  
and has therefore never been in a release version.


So should we include this new feature, and if so, how is it best added  - 
rewrite in C, or one long line in pg_proc?


IIRC the initially submitted patch for this contained a function written in 
C. It was only afterwards converted to SQL because of a comment by someone 
else. I will have a look in the archives.


What I would like to have is a function that returns the table size (+ 
toast) + indexes. If it would be called pg_table_size(), that would be ok. 
We should have one with oid and another with text.


Best Regards,
Michael Paesold 



---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


Re: [HACKERS] For review: dbsize patch

2005-06-27 Thread Bruce Momjian
Dave Page wrote:
 The attached patch is an update of the dbsize integration patch
 discussed last week. This version includes the following functions:
 
 pg_relation_size(text)   - Get relation size by name/schema.name
 pg_relation_size(oid)- Get relation size by OID
 pg_tablespace_size(name) - Get tablespace size by name
 pg_tablespace_size(oid)  - Get tablespace size by OID
 pg_database_size(name)   - Get database size by name
 pg_database_size(oid)- Get database size by OID
 pg_size_pretty(int8) - Pretty print (and round) the byte size
 specified (eg, 123456 = 121KB)
 
 The only remaining function that last week's brief discussion indicated
 was required is a replacement for total_relation_size() (or
 pg_table_size() as it might now be called). I didn't realise until a few
 minutes ago that this function (which is actually broken because it
 doesn't handle schemas) was only committed a couple of months ago (v1.5,
 http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/dbsize/dbsize.s
 ql.in) and has therefore never been in a release version.

Uh, do any of these include the index size?  TOAST size?

 So should we include this new feature, and if so, how is it best added -
 rewrite in C, or one long line in pg_proc?

I would follow whatever we do in pg_proc now.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  pgman@candle.pha.pa.us   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
   subscribe-nomail command to [EMAIL PROTECTED] so that your
   message can get through to the mailing list cleanly