Обсуждение: FATAL: invalid value for parameter "wal_sync_method": "open_datasync"
O.S.: SuSE SLES-8 (i386) VERSION = 8.1 After some test with the "syncbench" posted on performance mailing-list (http://archives.postgresql.org/pgsql-performance/2004-09/msg00080.php) i have obtained that open() with O_DSYNC was the fastest sync method. I want to test this for parameter "wal_sync_method" on a test workload directly on Postgres and i have configured that on postgresql.conf file: wal_sync_method = open_datasync But at the server start: > pg_ctl -D /db10/postgres/data start postmaster starting > FATAL: invalid value for parameter "wal_sync_method": "open_datasync" What's wrong? Best regards.
On Thu, 2005-06-16 at 09:35, Francesco Dalla Ca' wrote: > O.S.: > SuSE SLES-8 (i386) > VERSION = 8.1 > > After some test with the "syncbench" posted on performance mailing-list > (http://archives.postgresql.org/pgsql-performance/2004-09/msg00080.php) > i have obtained that open() with O_DSYNC was the fastest sync method. > I want to test this for parameter "wal_sync_method" on a test workload > directly on Postgres and i have configured that on postgresql.conf file: > > wal_sync_method = open_datasync > > But at the server start: > > > pg_ctl -D /db10/postgres/data start > postmaster starting > > FATAL: invalid value for parameter "wal_sync_method": "open_datasync" > > What's wrong? Not all methods are supported on all platforms. It appears this one isn't supported on yours. ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend
This mean that method isn't supported by postgres on my platform? Must i give some extra options at build time? (i use postgresql 8.0.2 sources) The test "syncbench" that i run on this server with the "open(O_DSYNC)" method, give me results without problems. Thanks and best regards. Scott Marlowe wrote: >On Thu, 2005-06-16 at 09:35, Francesco Dalla Ca' wrote: > > >>O.S.: >>SuSE SLES-8 (i386) >>VERSION = 8.1 >> >>After some test with the "syncbench" posted on performance mailing-list >>(http://archives.postgresql.org/pgsql-performance/2004-09/msg00080.php) >>i have obtained that open() with O_DSYNC was the fastest sync method. >>I want to test this for parameter "wal_sync_method" on a test workload >>directly on Postgres and i have configured that on postgresql.conf file: >> >>wal_sync_method = open_datasync >> >>But at the server start: >> >> > pg_ctl -D /db10/postgres/data start >>postmaster starting >> > FATAL: invalid value for parameter "wal_sync_method": "open_datasync" >> >>What's wrong? >> >> > >Not all methods are supported on all platforms. It appears this one >isn't supported on yours. > > >
Francesco Dalla Ca' wrote: > This mean that method isn't supported by postgres on my platform? > Must i give some extra options at build time? > (i use postgresql 8.0.2 sources) > > The test "syncbench" that i run on this server with the "open(O_DSYNC)" > method, give me results without problems. Here is our test code for 8.0.2: #if defined(O_SYNC) #define OPEN_SYNC_FLAG O_SYNC #else #if defined(O_FSYNC) #define OPEN_SYNC_FLAG O_FSYNC #endif #endif #if defined(O_DSYNC) #if defined(OPEN_SYNC_FLAG) #if O_DSYNC != OPEN_SYNC_FLAG #define OPEN_DATASYNC_FLAG O_DSYNC #endif #else /* !defined(OPEN_SYNC_FLAG) */ /* Win32 only has O_DSYNC */ #define OPEN_DATASYNC_FLAG O_DSYNC #endif #endif Is your O_DSYNC the same #define value as O_SYNC or if that isn't defined, O_FSYNC? If so, you don't really have O_DSYNC as unique from O_SYNC, and we will not support "open_datasync". --------------------------------------------------------------------------- > > Thanks and best regards. > > > Scott Marlowe wrote: > > >On Thu, 2005-06-16 at 09:35, Francesco Dalla Ca' wrote: > > > > > >>O.S.: > >>SuSE SLES-8 (i386) > >>VERSION = 8.1 > >> > >>After some test with the "syncbench" posted on performance mailing-list > >>(http://archives.postgresql.org/pgsql-performance/2004-09/msg00080.php) > >>i have obtained that open() with O_DSYNC was the fastest sync method. > >>I want to test this for parameter "wal_sync_method" on a test workload > >>directly on Postgres and i have configured that on postgresql.conf file: > >> > >>wal_sync_method = open_datasync > >> > >>But at the server start: > >> > >> > pg_ctl -D /db10/postgres/data start > >>postmaster starting > >> > FATAL: invalid value for parameter "wal_sync_method": "open_datasync" > >> > >>What's wrong? > >> > >> > > > >Not all methods are supported on all platforms. It appears this one > >isn't supported on yours. > > > > > > > > ---------------------------(end of broadcast)--------------------------- > TIP 7: don't forget to increase your free space map settings > -- 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
On Thu, 2005-06-16 at 09:35, Francesco Dalla Ca' wrote: > O.S.: > SuSE SLES-8 (i386) > VERSION = 8.1 > > After some test with the "syncbench" posted on performance mailing-list > (http://archives.postgresql.org/pgsql-performance/2004-09/msg00080.php) > i have obtained that open() with O_DSYNC was the fastest sync method. > I want to test this for parameter "wal_sync_method" on a test workload > directly on Postgres and i have configured that on postgresql.conf file: > > wal_sync_method = open_datasync > > But at the server start: > > > pg_ctl -D /db10/postgres/data start > postmaster starting > > FATAL: invalid value for parameter "wal_sync_method": "open_datasync" > > What's wrong? Not all methods are supported on all platforms. It appears this one isn't supported on yours. ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend