Hello.

 

In spite of the fact that as it was outlined in the "change log" to PostgreSQL 
8.2.2, the bug of the periodical "permission denied" error occurrence was fixed:

 

  "Fix bogus "permission denied" failures occurring on Windows due to attempts 
to fsync already-deleted files (Magnus, Tom)"

 

I still can observe such erroneous behavior in the latest release of PostgreSQL:

 

  select version();

  "PostgreSQL 8.2.3 on i686-pc-mingw32, compiled by GCC gcc.exe (GCC) 3.4.2 
(mingw-special)"

 

Typical error message is the following:

  2007-03-16 22:21:08 ERROR:  could not open relation 16405/16406/2609: 
Permission denied

 

It seems that it occurs when DDL operator is performed.

This error occurs irrespective of option "fsync" value, though it seems that if 
"fsync=off" than the frequency error occurrence is less a little bit comparing 
to "fsync=on" case.

 

All other parameters in file postgresql.conf were not changed.

I have made a "clean" install of the latest release of PostgreSQL.

OS: Windows XP Pro SP2

 

As I can suppose, the problem which was discussed in the "[HACKERS] Idea for 
fixing the Windows fsync problem" has not been fixed yet.

 

Here are some typical error messages in files pg_log/*:

 

-------------------------------------------------------------------------------------------------------------

2007-03-19 18:57:22 LOG:  could not open temporary statistics file

"global/pgstat.tmp": Permission denied

2007-03-19 18:58:28 NOTICE:  Table does not exist:

part_MsgRoot_(2000-01-01 01:00)

2007-03-19 18:58:28 CONTEXT:  SQL statement "SELECT "andbDoPrepareView_sp"(  $1 
,  $2 ,  $3  )"

 

-------------------------------------------------------------------------------------------------------------

2007-03-19 19:08:39 ERROR:  could not open relation 16405/16406/21745:

Permission denied

2007-03-19 19:08:39 CONTEXT:  SQL statement "

    CREATE UNIQUE  INDEX "part_MsgPos2_(2007-01-01 02:00)_UTC_UID" ON

"part_MsgPos2_(2007-01-01 02:00)"

    (

        "UTC",

        "UID"

    );

    "

    PL/pgSQL function "andbCreatePartitionsForGroup_sp" line 32 at execute 
statement

 

-------------------------------------------------------------------------------------------------------------

2007-03-19 19:25:54 ERROR:  could not open relation 16405/16406/22479:

Permission denied

2007-03-19 19:25:54 CONTEXT:  SQL statement "ALTER TABLE

"part_MsgRoot_(2007-01-01 03:00)" ADD CHECK( "UTC" >= '2007-01-01 03:00:00' and 
"UTC" < '2007-01-01 04:00:00' )"

 

-------------------------------------------------------------------------------------------------------------

2007-03-19 19:25:56 ERROR:  could not open relation 16405/16406/22603:

Permission denied

2007-03-19 19:25:56 CONTEXT:  SQL statement "

    CREATE UNIQUE  INDEX "part_MsgOther2_(2007-01-01 03:00)_UTC_UID" ON

"part_MsgOther2_(2007-01-01 03:00)"

    (

        "UTC",

        "UID"

    );

    "

    PL/pgSQL function "andbCreatePartitionsForGroup_sp" line 32 at execute 
statement

 

-------------------------------------------------------------------------------------------------------------

2007-03-20 17:21:46 ERROR:  could not open relation 16405/16406/26881:

Permission denied

2007-03-20 17:21:46 CONTEXT:  SQL statement "ALTER TABLE "Billing" ADD CHECK( 
"UTC" IS NULL )"

    PL/pgSQL function "andbRegisterPartitionedTable_sp" line 6 at execute 
statement

 

-------------------------------------------------------------------------------------------------------------

 

Regards

Sergey Zubkovsky

Reply via email to