Re: [HACKERS] Adding variables for segment_size, wal_segment_size and block sizes

2008-07-10 Thread Tom Lane
Abhijit Menon-Sen [EMAIL PROTECTED] writes:
 At 2008-07-03 16:36:02 +0200, [EMAIL PROTECTED] wrote:
 Here's a patch for this.

 I reviewed the patch, it basically looks fine. A few quibbles with the
 provided documentation:

Applied, with ams' doc changes and some further wordsmithing.

regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Adding variables for segment_size, wal_segment_size and block sizes

2008-07-08 Thread Simon Riggs

On Thu, 2008-07-03 at 16:36 +0200, Bernd Helmle wrote:
 --On Montag, Juni 30, 2008 18:47:33 -0400 Bruce Momjian [EMAIL PROTECTED] 
 wrote:
 
 
  I'd like to implement them if we agree on them
 
  Bernd, have you made any progress on this?
 
 Here's a patch for this. I'll add it to the commit fest wiki page if it's 
 okay for you.

I'm not sure why you've included access/xlog_internal.h.

All the #defines come from pgconfig.h

Maybe that changed from when you started thinking about this?

Other than that, no other comments. Looks good.

-- 
 Simon Riggs   www.2ndQuadrant.com
 PostgreSQL Training, Services and Support


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Adding variables for segment_size, wal_segment_size and block sizes

2008-07-07 Thread Abhijit Menon-Sen
At 2008-07-03 16:36:02 +0200, [EMAIL PROTECTED] wrote:

 Here's a patch for this.

I reviewed the patch, it basically looks fine. A few quibbles with the
provided documentation:

 + Reports the number of pages which can be stored within a file 
 segment.  
 + The total physical size of a segment file in bytes can be 
 determined by multiplying
 + the varnameblock_size/varname parameter with 
 varnamesegment_size/varname.

I would say:

Reports the number of blocks/pages which can be stored within a file
segment. The total size of a segment file in bytes is equal to the
varnamesegment_size/ multiplied by the varnameblock_size/.

 + Reports the size of a write ahead log disk block.  It is determined 
 by the value
 + of literalXLOG_BLCKSZ/ when building the server. The default
 + value is 8192 bytes. varnamewal_block_size/varname influences 
 the total physical
 + size of a write ahead log segment. See xref
 + linkend=guc-wal-segment-size for more information.
 +/para

I'd change write ahead log disk block to WAL disk block. How about
this:

Reports the size of a WAL disk block, as determined by the value of
literalXLOG_BLCKSZ/ when compiling the server. The default is
8192 bytes. varnamewal_block_size/ influences the total size of
a WAL segment file. See xref linkend=guc-wal-segment-size for
more information.

 + Reports the number of pages within a write ahead log segment file. 
 varnamewal_segment_size/varname multiplied with 
 varnamewal_block_size/varname gives the total physical size of a write 
 ahead
 + log segment file in bytes.

Again, I'd say WAL here instead of write ahead log, because the full
form is clumsy in context. How about this:

Reports the number of pages in a WAL segment file. The total size of
a WAL segment file in bytes is equal to varnamewal_segment_size/
multiplied by varnamewal_block_size/.

What do you think?

-- ams

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Adding variables for segment_size, wal_segment_size and block sizes

2008-07-04 Thread Simon Riggs

On Thu, 2008-07-03 at 16:36 +0200, Bernd Helmle wrote:
 --On Montag, Juni 30, 2008 18:47:33 -0400 Bruce Momjian [EMAIL PROTECTED] 
 wrote:
 
 
  I'd like to implement them if we agree on them
 
  Bernd, have you made any progress on this?
 
 Here's a patch for this. I'll add it to the commit fest wiki page if it's 
 okay for you.

It's small and uncontentious, please add it to the wiki.

-- 
 Simon Riggs   www.2ndQuadrant.com
 PostgreSQL Training, Services and Support


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Adding variables for segment_size, wal_segment_size and block sizes

2008-07-03 Thread Bernd Helmle
--On Montag, Juni 30, 2008 18:47:33 -0400 Bruce Momjian [EMAIL PROTECTED] 
wrote:




I'd like to implement them if we agree on them


Bernd, have you made any progress on this?


Here's a patch for this. I'll add it to the commit fest wiki page if it's 
okay for you.


--
 Thanks

   Bernd*** a/doc/src/sgml/config.sgml
--- b/doc/src/sgml/config.sgml
***
*** 4759,4764  dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
--- 4759,4807 
/listitem
   /varlistentry
  
+  varlistentry id=guc-segment-size xreflabel=segment_size
+   termvarnamesegment_size/varname (typeinteger/type)/term
+   indexterm
+primaryvarnamesegment_size/ configuration parameter/primary
+   /indexterm
+   listitem
+para
+ Reports the number of pages which can be stored within a file segment.  
+ The total physical size of a segment file in bytes can be determined by multiplying
+ the varnameblock_size/varname parameter with varnamesegment_size/varname.
+/para
+   /listitem
+  /varlistentry
+ 
+  varlistentry id=guc-wal-block-size xreflabel=wal_block_size
+   termvarnamewal_block_size/varname (typeinteger/type)/term
+   indexterm
+primaryvarnamewal_block_size/ configuration parameter/primary
+   /indexterm
+   listitem
+para
+ Reports the size of a write ahead log disk block.  It is determined by the value
+ of literalXLOG_BLCKSZ/ when building the server. The default
+ value is 8192 bytes. varnamewal_block_size/varname influences the total physical
+ size of a write ahead log segment. See xref
+ linkend=guc-wal-segment-size for more information.
+/para
+   /listitem
+  /varlistentry
+ 
+  varlistentry id=guc-wal-segment-size xreflabel=wal_segment_size
+   termvarnamewal_segment_size/varname (typeinteger/type)/term
+   indexterm
+primaryvarnamewal_segment_size/ configuration parameter/primary
+   /indexterm
+   listitem
+para
+ Reports the number of pages within a write ahead log segment file. varnamewal_segment_size/varname multiplied with varnamewal_block_size/varname gives the total physical size of a write ahead
+ log segment file in bytes.
+/para
+   /listitem
+  /varlistentry
+ 
   varlistentry id=guc-integer-datetimes xreflabel=integer_datetimes
termvarnameinteger_datetimes/varname (typeboolean/type)/term
indexterm
*** a/src/backend/utils/misc/guc.c
--- b/src/backend/utils/misc/guc.c
***
*** 29,34 
--- 29,35 
  #include access/transam.h
  #include access/twophase.h
  #include access/xact.h
+ #include access/xlog_internal.h
  #include catalog/namespace.h
  #include commands/async.h
  #include commands/prepare.h
***
*** 355,360  static int	max_function_args;
--- 356,364 
  static int	max_index_keys;
  static int	max_identifier_length;
  static int	block_size;
+ static int  segment_size;
+ static int  wal_block_size;
+ static int  wal_segment_size;
  static bool integer_datetimes;
  
  /* should be static, but commands/variable.c needs to get at these */
***
*** 1731,1736  static struct config_int ConfigureNamesInt[] =
--- 1735,1774 
  	},
  
  	{
+ 		{segment_size, PGC_INTERNAL, PRESET_OPTIONS,
+ 		gettext_noop(Shows the number of pages per disk file.),
+ 		NULL,
+ 		GUC_UNIT_BLOCKS | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
+ 		},
+ 		segment_size,
+ 		RELSEG_SIZE,
+ 		RELSEG_SIZE,
+ 		RELSEG_SIZE, NULL, NULL
+ 	},
+ 
+ 	{
+ 		{wal_block_size, PGC_INTERNAL, PRESET_OPTIONS,
+ 			gettext_noop(Shows the write ahead log block size.),
+ 			NULL,
+ 			GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
+ 		},
+ 		wal_block_size,
+ 		XLOG_BLCKSZ, XLOG_BLCKSZ, XLOG_BLCKSZ, NULL, NULL
+ 	},
+ 
+ 	{
+ 		{wal_segment_size, PGC_INTERNAL, PRESET_OPTIONS,
+ 			gettext_noop(Shows the number of pages per write ahead log segment.),
+ 			NULL,
+ 			GUC_UNIT_XBLOCKS | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
+ 		},
+ 		wal_segment_size,
+ 		(XLOG_SEG_SIZE / XLOG_BLCKSZ), 
+ 		(XLOG_SEG_SIZE / XLOG_BLCKSZ), 
+ 		(XLOG_SEG_SIZE / XLOG_BLCKSZ), NULL, NULL
+ 	},
+ 
+ 	{
  		{autovacuum_naptime, PGC_SIGHUP, AUTOVACUUM,
  			gettext_noop(Time to sleep between autovacuum runs.),
  			NULL,

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Adding variables for segment_size, wal_segment_size and block sizes

2008-06-30 Thread Bruce Momjian
Bernd Helmle wrote:
 Now that we have customizable segment sizes for heap and WAL at compilation 
 time i would like to have some runtime variables to query that information 
 (besides pg_controldata). I can imagine to have the following names:
 
 segment_size: Reports heap segment size
 wal_segment_size: Reports wal segment size
 block_size: Available yet
 wal_block_size: wal block size
 
 I'd like to implement them if we agree on them

Bernd, have you made any progress on this?

-- 
  Bruce Momjian  [EMAIL PROTECTED]http://momjian.us
  EnterpriseDB http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Adding variables for segment_size, wal_segment_size and block sizes

2008-05-17 Thread Euler Taveira de Oliveira

Bernd Helmle wrote:


segment_size: Reports heap segment size
wal_segment_size: Reports wal segment size
block_size: Available yet
wal_block_size: wal block size


+1. We already have block_size in GUC.


--
  Euler Taveira de Oliveira
  http://www.timbira.com/

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] Adding variables for segment_size, wal_segment_size and block sizes

2008-05-15 Thread Bernd Helmle
Now that we have customizable segment sizes for heap and WAL at compilation 
time i would like to have some runtime variables to query that information 
(besides pg_controldata). I can imagine to have the following names:


segment_size: Reports heap segment size
wal_segment_size: Reports wal segment size
block_size: Available yet
wal_block_size: wal block size

I'd like to implement them if we agree on them

--
 Thanks

   Bernd

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers