Hello.
=20
In spite of the fact that as it was outlined in the "change log" to Postgre=
SQL 8.2.2, the bug of the periodical "permission denied" error occurrence w=
as fixed:
=20
=9A "Fix bogus "permission denied" failures occurring on Windows due to att=
empts to fsync already-deleted files (Magnus, Tom)"
=20
I still can observe such erroneous behavior in the latest release of Postgr=
eSQL:
=20
=9A select version();
=9A "PostgreSQL 8.2.3 on i686-pc-mingw32, compiled by GCC gcc.exe (GCC) 3.4=
.2 (mingw-special)"
=9A
Typical error message is the following:
=9A 2007-03-16 22:21:08 ERROR:=9A could not open relation 16405/16406/2609:=
Permission denied
=20
It seems that it occurs when DDL operator is performed.
This error occurs irrespective of option "fsync" value, though it seems tha=
t if "fsync=3Doff" than the frequency error occurrence is less a little bit=
comparing to "fsync=3Don" case.
=9A
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
=9A
As I can suppose, the problem which was discussed in the "[HACKERS] Idea fo=
r fixing the Windows fsync problem" has not been fixed yet.
=20
Here are some typical error messages in files pg_log/*:
=20
---------------------------------------------------------------------------=
----------------------------------
2007-03-19 18:57:22 LOG:=9A could not open temporary statistics file
"global/pgstat.tmp": Permission denied
2007-03-19 18:58:28 NOTICE:=9A Table does not exist:
part_MsgRoot_(2000-01-01 01:00)
2007-03-19 18:58:28 CONTEXT:=9A SQL statement "SELECT "andbDoPrepareView_sp=
"(=9A $1 ,=9A $2 ,=9A $3=9A )"
=9A
---------------------------------------------------------------------------=
----------------------------------
2007-03-19 19:08:39 ERROR:=9A could not open relation 16405/16406/21745:
Permission denied
2007-03-19 19:08:39 CONTEXT:=9A SQL statement "
=9A=9A=9A CREATE UNIQUE=9A INDEX "part_MsgPos2_(2007-01-01 02:00)_UTC_UID" =
ON
"part_MsgPos2_(2007-01-01 02:00)"
=9A=9A=9A (
=9A=9A=9A=9A=9A=9A=9A "UTC",
=9A=9A=9A=9A=9A=9A=9A "UID"
=9A=9A=9A );
=9A=9A=9A "
=9A=9A=9A PL/pgSQL function "andbCreatePartitionsForGroup_sp" line 32 at ex=
ecute statement
=9A
---------------------------------------------------------------------------=
----------------------------------
2007-03-19 19:25:54 ERROR:=9A could not open relation 16405/16406/22479:
Permission denied
2007-03-19 19:25:54 CONTEXT:=9A SQL statement "ALTER TABLE
"part_MsgRoot_(2007-01-01 03:00)" ADD CHECK( "UTC" >=3D '2007-01-01 03:00:0=
0' and "UTC" < '2007-01-01 04:00:00' )"
=9A
---------------------------------------------------------------------------=
----------------------------------
2007-03-19 19:25:56 ERROR:=9A could not open relation 16405/16406/22603:
Permission denied
2007-03-19 19:25:56 CONTEXT:=9A SQL statement "
=9A=9A=9A CREATE UNIQUE=9A INDEX "part_MsgOther2_(2007-01-01 03:00)_UTC_UID=
" ON
"part_MsgOther2_(2007-01-01 03:00)"
=9A=9A=9A (
=9A=9A=9A=9A=9A=9A=9A "UTC",
=9A=9A=9A=9A=9A=9A=9A "UID"
=9A=9A=9A );
=9A=9A=9A "
=9A=9A=9A PL/pgSQL function "andbCreatePartitionsForGroup_sp" line 32 at ex=
ecute statement
=9A
---------------------------------------------------------------------------=
----------------------------------
2007-03-20 17:21:46 ERROR:=9A could not open relation 16405/16406/26881:
Permission denied
2007-03-20 17:21:46 CONTEXT:=9A SQL statement "ALTER TABLE "Billing" ADD CH=
ECK( "UTC" IS NULL )"
=9A=9A=9A PL/pgSQL function "andbRegisterPartitionedTable_sp" line 6 at exe=
cute statement
=9A
---------------------------------------------------------------------------=
----------------------------------
=20
Regards
Sergey Zubkovsky