PostgreSQL Fehlermeldungen

Alles zum PostgreSQL-Server

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11452
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

PostgreSQL Fehlermeldungen

Beitrag von AUGE_OHR » Mi, 25. Jul 2012 4:28

hi,


ich hab im PostgreSQL Logbuch noch viele Meldung die ich nicht verstehe, hier mal ein Beispiel.

man soll ja per DbfUpsize.EXE auch die Index Datei übernehmen... andererseits "sollte" ja alles kompatible sein. also ausprobieren

Code: Alles auswählen

   nStart := SECONDS()
   USE fsicher NEW EXCLUSIVE
   nEnde  := SECONDS()
   Msgbox("USE "+LTRIM(STR(nEnde-nStart))+" sec.")

   IF ! NetErr()

      _name := "FSRGNEU"
      _key := "FJAHR+'-'+STR(FNUMMER,5)"                       // FSICHER
      nstart := SECONDS()
      INDEX ON &_key TO &_name
      nEnde  := SECONDS()
      Msgbox("USE "+LTRIM(STR(nEnde-nStart))+" sec.")
      CLOSE INDEX
das es crasht ... na gut ... aber "was" ist das Problem ?
Xbase++ version : Xbase++ (R) Version 2.00.426
Operating system : Windows 7 06.01 Build 07601 Service Pack 1
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: C VALUE: D:\ALASKA\PG\FSRGNEU
-> VALTYPE: C VALUE: FJAHR+'-'+STR(FNUMMER,5)
-> VALTYPE: B VALUE: {|| &_key}
-> VALTYPE: U VALUE: NIL
oError:canDefault : Y
oError:canRetry : Y
oError:canSubstitute: N
oError:cargo : NIL
oError:description :
oError:filename :
oError:genCode : 8999
oError:operation : DbCreateIndex
oError:osCode : 0
oError:severity : 2
oError:subCode : 5381
oError:subSystem : BASE
oError:thread : 1
oError:tries : 1
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Called from MAIN(56)
also hier gibt es nur den 8999 ... und warum ?
2012-07-25 03:20:05 CEST STATEMENT: INSERT INTO "alaska-software.isam.orders"(table_name, table_id, tag, bag, for_expression, key_expression, key_column_name,key_column_type, key_type, key_len, key_dec, key_attributes) VALUES ('fsicher', '15', 'FSRGNEU', 'FSRGNEU', '', 'FJAHR+'-'+STR(FNUMMER,5)', '__order_fsrgneu_fsrgneu', 'C', 'C', 8, 0, 0);
2012-07-25 03:20:08 CEST LOG: could not receive data from client: Unknown winsock error 10061
2012-07-25 03:20:08 CEST LOG: unexpected EOF on client connection
2012-07-25 03:27:17 CEST LOG: loaded library "$libdir/plugins/plugin_debugger.dll"
2012-07-25 03:27:19 CEST ERROR: operator is not unique: unknown - unknown at character 243
2012-07-25 03:27:19 CEST HINT: Could not choose a best candidate operator. You might need to add explicit type casts.
2012-07-25 03:27:19 CEST STATEMENT: INSERT INTO "alaska-software.isam.orders"(table_name, table_id, tag, bag, for_expression, key_expression, key_column_name,key_column_type, key_type, key_len, key_dec, key_attributes) VALUES ('fsicher', '15', 'FSRGNEU', 'FSRGNEU', '', 'FJAHR+'-'+STR(FNUMMER,5)', '__order_fsrgneu_fsrgneu', 'C', 'C', 8, 0, 0);
2012-07-25 03:27:26 CEST LOG: could not receive data from client: Unknown winsock error 10061
2012-07-25 03:27:26 CEST LOG: unexpected EOF on client connection
also "irgendwas" versucht pgDBE ... der "INSERT " Code sieht für mich ganz ok aus ...
dann hab ich das ganze mal nach pgAdmin.EXE kopiert und er meldet mir einen Fehler ... +'-'+

ok das lag also an meinem Indexkey() also dann was "normales"

Code: Alles auswählen

      _name  := "FSKARTEI"
      _key   := "FKDNR+FARTNR"
      nstart := SECONDS()
      INDEX ON &_key TO &_name
      nEnde  := SECONDS()
      Msgbox("USE "+LTRIM(STR(nEnde-nStart))+" sec.")
      CLOSE INDEX
damit legt er nun los. eine (!) CPU geht auf 100%. auch bei der RAM Anzeige passiert was ... gutes Zeichen ?

leider nein den auch dort crasht er mit pgDBE
2012-07-25 03:49:25 CEST ERROR: function fsrgneu_fsrgneu_seek(text, boolean, boolean, numeric) does not exist at character 15
2012-07-25 03:49:25 CEST HINT: No function matches the given name and argument types. You might need to add explicit type casts.
2012-07-25 03:49:25 CEST STATEMENT: SELECT * FROM fsrgneu_fsrgneu_seek( $1, $2, $3, $4 )
2012-07-25 03:49:25 CEST ERROR: syntax error at or near "WHERE" at character 16
2012-07-25 03:49:25 CEST STATEMENT: SELECT * FROM WHERE __order_fsrgneu_fsrgneu>=$1 and __deleted=false ORDER BY __order_fsrgneu_fsrgneu LIMIT $2
2012-07-25 03:49:25 CEST ERROR: syntax error at or near "WHERE" at character 16
2012-07-25 03:49:25 CEST STATEMENT: SELECT * FROM WHERE __order_fsrgneu_fsrgneu<=$1 and __deleted=false ORDER BY __order_fsrgneu_fsrgneu DESC LIMIT $2
2012-07-25 03:49:25 CEST ERROR: function fsrgneu_fsrgneu_seek(text, boolean, boolean, numeric) does not exist at character 15
2012-07-25 03:49:25 CEST HINT: No function matches the given name and argument types. You might need to add explicit type casts.
2012-07-25 03:49:25 CEST STATEMENT: SELECT * FROM fsrgneu_fsrgneu_seek( $1, $2, $3, $4 )
2012-07-25 03:49:25 CEST ERROR: syntax error at or near "WHERE" at character 16
2012-07-25 03:49:25 CEST STATEMENT: SELECT * FROM WHERE __order_fsrgneu_fsrgneu>=$1 and __deleted=false ORDER BY __order_fsrgneu_fsrgneu LIMIT $2
2012-07-25 03:49:25 CEST ERROR: syntax error at or near "WHERE" at character 16
2012-07-25 03:49:25 CEST STATEMENT: SELECT * FROM WHERE __order_fsrgneu_fsrgneu<=$1 and __deleted=false ORDER BY __order_fsrgneu_fsrgneu DESC LIMIT $2
2012-07-25 03:49:26 CEST LOG: could not receive data from client: Unknown winsock error 10061
2012-07-25 03:49:26 CEST LOG: unexpected EOF on client connection
jemand eine Idee was das heissen soll ?

zumindest legt er mir diesmal eine "Function: fskartei_fskartei_seek(text, boolean, boolean, numeric)" an.

nun wenn die schon mal da ist ...

Code: Alles auswählen

      nstart := SECONDS()
      SET INDEX TO FSKARTEI
      nEnde  := SECONDS()
      Msgbox("SET INDEX "+LTRIM(STR(nEnde-nStart))+" sec.")

      nstart := SECONDS()
      REINDEX
      nEnde  := SECONDS()
      Msgbox("REINDEX "+LTRIM(STR(nEnde-nStart))+" sec.")
also abgebrochen hat er noch nicht ...
zunächst ging wieder CPU 5 los auf 100% ... RAM stiegt ...
bei 1.68GB fingen die anderen CPUs an zu arbeiten und der RAM schwankte ... nicht viel aber deutlich zu sehen ... und er arbeitet ...
gruss by OHR
Jimmy

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11452
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: PostgreSQL Fehlermeldungen

Beitrag von AUGE_OHR » Mi, 25. Jul 2012 4:39

... wie breche ich ein REINDEX ab ...
gruss by OHR
Jimmy

bgl
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 43
Registriert: Di, 30. Aug 2011 20:45

Re: PostgreSQL Fehlermeldungen

Beitrag von bgl » Mi, 25. Jul 2012 4:42

AUGE_OHR hat geschrieben:... wie breche ich ein REINDEX ab ...
Am besten gar nicht... den PostgreSQL Server neu starten könnte das tun, aber entweder wird er es dann fortsetzen oder neu anfangen vermute ich.

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11452
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: PostgreSQL Fehlermeldungen

Beitrag von AUGE_OHR » Mi, 25. Jul 2012 4:45

... ich traue mich nicht mit ALT-C abzubrechen ... was sagt dann PG ...

zum Glück arbeiten auch die anderen CPU sodass No#5 nicht immer bei 100% hängt und zwischen 77° - 94° pendelt
gruss by OHR
Jimmy

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11452
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: PostgreSQL Fehlermeldungen

Beitrag von AUGE_OHR » Mi, 25. Jul 2012 5:02

:angry4: wenn er doch wenigstens abstürzen würde ... aber lieber nicht ich will es ja nun "wissen" :banghead:

ich den Versuch kann man jetzt wohl schon als misslungen ansehen, egal ob er es noch schafft.
gruss by OHR
Jimmy

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11452
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: PostgreSQL Fehlermeldungen

Beitrag von AUGE_OHR » Mi, 25. Jul 2012 5:28

er ist beim REINDEX ...
gruss by OHR
Jimmy

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11452
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: PostgreSQL Fehlermeldungen

Beitrag von AUGE_OHR » Mi, 25. Jul 2012 5:50

ich kapiert das nicht, egal was er da tut. in der Zwischenzeit hätte man locker paar Vilme konvertieren können ...
gruss by OHR
Jimmy

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11452
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: PostgreSQL Fehlermeldungen

Beitrag von AUGE_OHR » Mi, 25. Jul 2012 6:23

hurra er hat es geschafft !!! ohne Fehler !
pgDBE_REINDEX.PNG
pgDBE_REINDEX.PNG (17.64 KiB) 5980 mal betrachtet
Side-Effekt : nun kommt das Browse() ... was vorher in 4-5 Sec. angezeigt wurde dauert nun > 73 Sec. ... das ist inakzeptabel.
gruss by OHR
Jimmy

georg
Foren-Administrator
Foren-Administrator
Beiträge: 2223
Registriert: Fr, 08. Feb 2008 21:29

Re: PostgreSQL Fehlermeldungen

Beitrag von georg » Mi, 25. Jul 2012 6:44

Guten Morgen, Jimmy -


führst Du den REINDEX aus, weil es ihn gibt oder weil Du ihn meinst, ihn zu brauchen?

Es würde mich wundern, wenn eine SQL-Implementierung so etwas hätte ... Es ist die wohl ehrenvollste Aufgabe für den Server, seine Index-Dateien aktuell und funktionsfähig zu halten.

Daher kann ein REINDEX nur ein erneuter CREATE INDEX sein und - aus meiner Sicht - somit recht sinnlos.


Gruss,

Georg
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.

bgl
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 43
Registriert: Di, 30. Aug 2011 20:45

Re: PostgreSQL Fehlermeldungen

Beitrag von bgl » Mi, 25. Jul 2012 9:41

PostgreSQL Manual hat geschrieben:REINDEX rebuilds an index using the data stored in the index's table, replacing the old copy of the index. There are several scenarios in which to use REINDEX:

An index has become corrupted, and no longer contains valid data. Although in theory this should never happen, in practice indexes can become corrupted due to software bugs or hardware failures. REINDEX provides a recovery method.

An index has become "bloated", that it is contains many empty or nearly-empty pages. This can occur with B-tree indexes in PostgreSQL under certain uncommon access patterns. REINDEX provides a way to reduce the space consumption of the index by writing a new version of the index without the dead pages. See Section 23.2 for more information.

You have altered a storage parameter (such as fillfactor) for an index, and wish to ensure that the change has taken full effect.

An index build with the CONCURRENTLY option failed, leaving an "invalid" index. Such indexes are useless but it can be convenient to use REINDEX to rebuild them. Note that REINDEX will not perform a concurrent build. To build the index without interfering with production you should drop the index and reissue the CREATE INDEX CONCURRENTLY command.

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11452
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: PostgreSQL Fehlermeldungen

Beitrag von AUGE_OHR » Mi, 25. Jul 2012 17:11

georg hat geschrieben:führst Du den REINDEX aus, weil es ihn gibt oder weil Du ihn meinst, ihn zu brauchen?
man beachte das ich von pgDBE spreche !
georg hat geschrieben:Daher kann ein REINDEX nur ein erneuter CREATE INDEX sein und - aus meiner Sicht - somit recht sinnlos.
das DbCreateIndex() hatte ja "versagt"*** aber es wurde ja die Function angelegt ... also hab ich die mit REINDEX ausprobiert.

***beim Blick in das Logfile sah ich was von "out of Memory" ... er hatte aber nur 1.8GB von 8GB "benutzt"
gruss by OHR
Jimmy

bgl
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 43
Registriert: Di, 30. Aug 2011 20:45

Re: PostgreSQL Fehlermeldungen

Beitrag von bgl » Mi, 25. Jul 2012 19:26

AUGE_OHR hat geschrieben:
georg hat geschrieben:führst Du den REINDEX aus, weil es ihn gibt oder weil Du ihn meinst, ihn zu brauchen?
man beachte das ich von pgDBE spreche !
georg hat geschrieben:Daher kann ein REINDEX nur ein erneuter CREATE INDEX sein und - aus meiner Sicht - somit recht sinnlos.
das DbCreateIndex() hatte ja "versagt"*** aber es wurde ja die Function angelegt ... also hab ich die mit REINDEX ausprobiert.

***beim Blick in das Logfile sah ich was von "out of Memory" ... er hatte aber nur 1.8GB von 8GB "benutzt"
Es gibt Konfigurationseinstellungen, die sowohl den Maximalverbrauch im Gesamten festlegen, als auch die Verteilung, wieviel an den erlaubten Kapazitäten für welche Art von Operation maximal verwendet werden dürfen. Mag also sein, dass er einfach das eingestellte Maximum erreicht hat ;-) oder dass ein 32 bit Prozess nur eine gewisse Menge an Speicher nutzen kann, falls der PostgreSQL Server keine 64bit Version sein sollte.

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11452
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: PostgreSQL Fehlermeldungen

Beitrag von AUGE_OHR » Mi, 25. Jul 2012 23:25

bgl hat geschrieben:Es gibt Konfigurationseinstellungen, die sowohl den Maximalverbrauch im Gesamten festlegen, als auch die Verteilung, wieviel an den erlaubten Kapazitäten für welche Art von Operation maximal verwendet werden dürfen. Mag also sein, dass er einfach das eingestellte Maximum erreicht hat ;-) oder dass ein 32 bit Prozess nur eine gewisse Menge an Speicher nutzen kann, falls der PostgreSQL Server keine 64bit Version sein sollte.
danke für die Info. Ich habe mir die *.conf File bislang noch nicht vorgenommen.

ich muss noch mal erwähnen das ich "jetzt" von pgDBE spreche wo es nicht funktioniert !
die "native" Version lief ja schon mit der Table also "denke" ich das es nicht PG selbst sondern pgDBE ist wenn es nicht funktioniert.
gruss by OHR
Jimmy

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14587
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: PostgreSQL Fehlermeldungen

Beitrag von brandelh » Do, 26. Jul 2012 9:03

Wenn ich mich richtig erinnere wird bei der Installtion vom Server abgefragt um welche Art von Installation es sich handelt:
- Entwickler Rechner (wenig Resourcen für SQL Server)
- Gemischt oder so (mittel)
- Datenbankserver (alle Resourcen für SQL Server optimiert)
es kann aber sein, dass dies bei MySQL war ...

Im Admin Tool sollte man das ändern können ... hoffe ich mal.
Gruß
Hubert

Antworten