Index: frmStatus.cpp =================================================================== RCS file: /projects/pgadmin3/src/ui/frmStatus.cpp,v retrieving revision 1.38 retrieving revision 1.39 diff -Lsrc/ui/frmStatus.cpp -Lsrc/ui/frmStatus.cpp -u -w -r1.38 -r1.39 --- src/ui/frmStatus.cpp +++ src/ui/frmStatus.cpp @@ -137,6 +137,9 @@ logList->AddColumn(_("Level"), 35); logList->AddColumn(_("Log entry"), 800); + + if (!connection->HasFeature(FEATURE_ROTATELOG)) + btnRotateLog->Disable(); } else nbStatus->DeletePage(2); @@ -167,6 +170,7 @@ if (connection) delete connection; + if (nbStatus->GetPageCount() > 2) emptyLogfileCombo(); } Index: pgConn.cpp =================================================================== RCS file: /projects/pgadmin3/src/db/pgConn.cpp,v retrieving revision 1.52 retrieving revision 1.53 diff -Lsrc/db/pgConn.cpp -Lsrc/db/pgConn.cpp -u -w -r1.52 -r1.53 --- src/db/pgConn.cpp +++ src/db/pgConn.cpp @@ -450,6 +450,12 @@ wxT( " AND proargtypes[1] = 20") wxT( " AND proargtypes[2] = 20")) .IsEmpty(); + features[FEATURE_ROTATELOG] = + !ExecuteScalar( + wxT("SELECT proname FROM pg_proc\n") + wxT(" WHERE proname = 'pg_rotate_log'") + wxT( " AND pronargs = 0")) + .IsEmpty(); } if (featureNo < 1 ||featureNo >= FEATURE_LAST) Index: pgfeatures.h =================================================================== RCS file: /projects/pgadmin3/src/include/pgfeatures.h,v retrieving revision 1.1 retrieving revision 1.2 diff -Lsrc/include/pgfeatures.h -Lsrc/include/pgfeatures.h -u -w -r1.1 -r1.2 --- src/include/pgfeatures.h +++ src/include/pgfeatures.h @@ -14,5 +14,6 @@ FEATURE_INITIALIZED=0, FEATURE_SIZE, FEATURE_FILEREAD, + FEATURE_ROTATELOG, FEATURE_LAST };