Alexander Foken: / (DATENBANK) PostgreSQL hängt bei 30. CREATE TABLE

Moin Moin !

Ich arbeite an einem umfangreichen CGI für Intranets, daß auf verschiedenen Datenbanken (Oracle, MSSQL und jetzt auch PostgreSQL) aufsetzt. Bei der Initialisierung werden alle benötigten Tabellen aus dem CGI heraus angelegt (Namen der Datenbank-Typen werden je nach DB angepaßt). Mit Oracle und MSSQL klappt das recht gut, PostgreSQL hängt nach dem 30. CREATE TABLE einfach in der DBI-Methode 'do' fest; die Tabelle wird allerdings noch vollständig angelegt.

CREATE TABLE REPORTS (REPORT_ID SERIAL NOT NULL,REPORT_TYPE VARCHAR(20) NOT NULL,PARENT_ID INTEGER NOT NULL,OWNER_ID INTEGER NOT NULL,NAME VARCHAR(99) NOT NULL,UPLOAD_TIMESTAMP INTEGER NOT NULL,CHANGE_TIMESTAMP INTEGER ,DELETED SMALLINT ,QUERY VARCHAR(2000) ,DOC_ID INTEGER ,RESERVED VARCHAR(2000) ,CONSTRAINT PK_REPORTS PRIMARY KEY (REPORT_ID))

PostgreSQL 7.2.1 läuft auf einem Dual-P3-System unter Linux 2.4.18 (Slackware 8.1), SCSI-Software-RAID. Webserver ist der Apache 1.3.22 auf Windows 2000 SP3, Perl ist Version 5.6.0 (ActiveState Build 620).

Nun die Frage aller Fragen: Warum hängt PostgreSQL ? Und warum erst nach 30x CREATE TABLE ?

Hat vielleicht jemand einen Tip (außer Google), wo ich noch nachsehen kann ?

Alexander

  1. Hi Alexander,

    Nun die Frage aller Fragen: Warum hängt PostgreSQL ?
    Und warum erst nach 30x CREATE TABLE ?
    Hat vielleicht jemand einen Tip (außer Google),
    wo ich noch nachsehen kann ?

    hast Du die Möglichkeit, Deine CREATE-Statements umzusortieren?

    Das würde Dir erlauben, erst mal herauszufinden, ob das Problem an der
    "30" liegt (inklusive der Möglichkeit, daß Dir Ressouren ausgehen) oder
    an der konkreten Tabelle. (Diese also erst mal ganz nach vorne und
    sehen, was passiert.)

    Ansonsten dürfte auch PostgreSQL eine Log-Datei besitzen, die zu
    lesen sich lohnen könnte.

    Viele Grüße
          Michael

    1. Moin Moin !

      hast Du die Möglichkeit, Deine CREATE-Statements umzusortieren?

      Prinzipiell ja, aber nur begrenzt, weil die Tabellen teilweise voneinander abhängen (in der Programmlogik).

      Das würde Dir erlauben, erst mal herauszufinden, ob das Problem an der
      "30" liegt (inklusive der Möglichkeit, daß Dir Ressouren ausgehen) oder
      an der konkreten Tabelle. (Diese also erst mal ganz nach vorne und
      sehen, was passiert.)

      Ich hab die Nr. 30 schon auskommentiert, mit dem Ergebnis, das die vorherige 31 hängt.

      Ansonsten dürfte auch PostgreSQL eine Log-Datei besitzen, die zu
      lesen sich lohnen könnte.

      An die habe ich noch gar nicht gedacht. *schnarch*

      Mittlerweile rufe ich meine "Mach mir meine Datenbank"-Funktion nicht mehr aus dem CGI auf, sondern aus einem normal von Hand gestarteten Script, und plötzlich geht alles. Sehr seltsam ..

      Alexander