Re: [HACKERS] Unsupported effective_io_concurrency platforms
Bruce Momjian wrote: Tom Lane wrote: Peter Eisentraut pete...@gmx.net writes: Joshua D. Drake wrote: Do we want to give a more informative error message, like not supported on this platform? The trick will be to fit this into the GUC framework. You could do it by enforcing the limit in an assign hook, but I'm not convinced it's worth the trouble. I have created a patch to at least display a more helpful message, without being specific: test= set effective_io_concurrency = 1; ERROR: parameter effective_io_concurrency cannot be changed from 0 I fixed this an easier way, by making the parameter PGC_INTERNAL on systems that don't have posix_fadvise(). -- Bruce Momjian br...@momjian.ushttp://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. + Index: src/backend/utils/misc/guc.c === RCS file: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v retrieving revision 1.497 diff -c -c -r1.497 guc.c *** src/backend/utils/misc/guc.c 9 Mar 2009 14:34:34 - 1.497 --- src/backend/utils/misc/guc.c 2 Apr 2009 19:52:49 - *** *** 1713,1719 }, { ! {effective_io_concurrency, PGC_USERSET, RESOURCES, gettext_noop(Number of simultaneous requests that can be handled efficiently by the disk subsystem.), gettext_noop(For RAID arrays, this should be approximately the number of drive spindles in the array.) }, --- 1713,1725 }, { ! {effective_io_concurrency, ! #ifdef USE_PREFETCH ! PGC_USERSET, ! #else ! PGC_INTERNAL, ! #endif ! RESOURCES, gettext_noop(Number of simultaneous requests that can be handled efficiently by the disk subsystem.), gettext_noop(For RAID arrays, this should be approximately the number of drive spindles in the array.) }, -- 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] Unsupported effective_io_concurrency platforms
Tom Lane wrote: Peter Eisentraut pete...@gmx.net writes: Joshua D. Drake wrote: Do we want to give a more informative error message, like not supported on this platform? The trick will be to fit this into the GUC framework. You could do it by enforcing the limit in an assign hook, but I'm not convinced it's worth the trouble. I have created a patch to at least display a more helpful message, without being specific: test= set effective_io_concurrency = 1; ERROR: parameter effective_io_concurrency cannot be changed from 0 -- Bruce Momjian br...@momjian.ushttp://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. + Index: src/backend/utils/misc/guc.c === RCS file: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v retrieving revision 1.497 diff -c -c -r1.497 guc.c *** src/backend/utils/misc/guc.c9 Mar 2009 14:34:34 - 1.497 --- src/backend/utils/misc/guc.c28 Mar 2009 23:40:52 - *** *** 4738,4747 } if (newval conf-min || newval conf-max) { ! ereport(elevel, ! (errcode(ERRCODE_INVALID_PARAMETER_VALUE), !errmsg(%d is outside the valid range for parameter \%s\ (%d .. %d), ! newval, name, conf-min, conf-max))); return false; } } --- 4738,4753 } if (newval conf-min || newval conf-max) { ! if (conf-min == conf-max) ! ereport(elevel, ! (errcode(ERRCODE_INVALID_PARAMETER_VALUE), ! errmsg(parameter \%s\ cannot be changed from %d, ! name, conf-min))); ! else ! ereport(elevel, ! (errcode(ERRCODE_INVALID_PARAMETER_VALUE), ! errmsg(%d is outside the valid range for parameter \%s\ (%d .. %d), ! newval, name, conf-min, conf-max))); return false; } } *** *** 4810,4819 } if (newval conf-min || newval conf-max) { ! ereport(elevel, ! (errcode(ERRCODE_INVALID_PARAMETER_VALUE), !errmsg(%g is outside the valid range for parameter \%s\ (%g .. %g), ! newval, name, conf-min, conf-max))); return false; } } --- 4816,4831 } if (newval conf-min || newval conf-max) { ! if (conf-min == conf-max) ! ereport(elevel, ! (errcode(ERRCODE_INVALID_PARAMETER_VALUE), ! errmsg(parameter \%s\ cannot be changed from %g, ! name, conf-min))); ! else ! ereport(elevel, ! (errcode(ERRCODE_INVALID_PARAMETER_VALUE), ! errmsg(%g is outside the valid range
Re: [HACKERS] Unsupported effective_io_concurrency platforms
Joshua D. Drake wrote: On Mon, 2009-03-23 at 16:21 -0400, Bruce Momjian wrote: If a platform doesn't have posix_fadvise(), we don't allow effective_io_concurrency to be set to anything but zero: test= set effective_io_concurrency = 1; ERROR: 1 is outside the valid range for parameter effective_io_concurrency (0 .. 0) test= set effective_io_concurrency = 0; SET Do we want to give a more informative error message, like not supported on this platform? I would say so. The trick will be to fit this into the GUC framework. -- 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] Unsupported effective_io_concurrency platforms
Peter Eisentraut pete...@gmx.net writes: Joshua D. Drake wrote: Do we want to give a more informative error message, like not supported on this platform? The trick will be to fit this into the GUC framework. You could do it by enforcing the limit in an assign hook, but I'm not convinced it's worth the trouble. 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
[HACKERS] Unsupported effective_io_concurrency platforms
If a platform doesn't have posix_fadvise(), we don't allow effective_io_concurrency to be set to anything but zero: test= set effective_io_concurrency = 1; ERROR: 1 is outside the valid range for parameter effective_io_concurrency (0 .. 0) test= set effective_io_concurrency = 0; SET Do we want to give a more informative error message, like not supported on this platform? -- Bruce Momjian br...@momjian.ushttp://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] Unsupported effective_io_concurrency platforms
On Mon, 2009-03-23 at 16:21 -0400, Bruce Momjian wrote: If a platform doesn't have posix_fadvise(), we don't allow effective_io_concurrency to be set to anything but zero: test= set effective_io_concurrency = 1; ERROR: 1 is outside the valid range for parameter effective_io_concurrency (0 .. 0) test= set effective_io_concurrency = 0; SET Do we want to give a more informative error message, like not supported on this platform? I would say so. Joshua D. Drake -- Bruce Momjian br...@momjian.ushttp://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. + -- PostgreSQL - XMPP: jdr...@jabber.postgresql.org Consulting, Development, Support, Training 503-667-4564 - http://www.commandprompt.com/ The PostgreSQL Company, serving since 1997 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers