1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

"SHOW COLUMNS" in pgsql

  • maciek
  • 6. September 2005 um 21:09
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • maciek
    Punkte
    2.805
    Beiträge
    434
    • 6. September 2005 um 21:09
    • #1

    Hi Zusammen,

    Ich hab mir eine ziemlich komplizierte Funktionalität basierend auf den Informationen, die ich mir über "SHOW COLUMNS FROM tableName" zurückliefern kann, aufgebaut. Genau genommen erfahre ich damit über jedes Feld, den Namen (Field), den Typ und die Länge (Type), obs null sein darf (Null), obs ein bestimmter Key ist (primary, unique, usw.)

    Jetzt möchte ich diese Funktionalität auch unter PostgreSQL benutzen können, scheitere aber. Ich hab mir eine Query zusammengebastelt, die mir in etwas diese Informationen liefert:

    PHP
    SELECT a.attname,
    format_type(a.atttypid, a.atttypmod) as type,
    p.typname, 
    p.typlen,
    p.typprtlen,
    a.attnotnull,
    a.atthasdef,
    a.attstorage,
    a.attnum
    FROM pg_class AS c, pg_attribute AS a, pg_type AS p
    WHERE c.relname = 'tableName'
    AND a.attnum > 0
    AND a.attrelid = c.oid
    AND p.oid = a.atttypid
    ORDER BY a.attnum
    Alles anzeigen


    Was ich damit nicht zurückbekommen kann, ist die Information über den Typ des Keys. Außerdem ist das ganze ziemlich kompliziert, weil die Typen der Felder in Postgres nicht mit denen von MySQL übereinstimmen und ich diese Information auch weiterverwende.

    Hat jemand von Euch eine Idee, wie man die Informationen, die "SHOW COLUMNS" zurückliefert, möglichst 1:1 in Postgres bekommen könnte? Am besten sollte auch der Typ möglichst in MySQL-Notation zurückgeliefert werden.

    Thanx 4 help.

    P.S.: Mit DB::tableInfo von PEAR komm ich nicht wirklich weiter, weil das in der Version, die am Server ist, irgendwie nicht funkt und ich die Version am Server nicht updaten kann.

  • rck
    Punkte
    2.342
    Beiträge
    437
    • 6. September 2005 um 21:31
    • #2
    Zitat von maciek

    Hat jemand von Euch eine Idee, wie man die Informationen, die "SHOW COLUMNS" zurückliefert, möglichst 1:1 in Postgres bekommen könnte? Am besten sollte auch der Typ möglichst in MySQL-Notation zurückgeliefert werden.

    Indem Du sie vorher in Tabellen tust. ;)

  • maciek
    Punkte
    2.805
    Beiträge
    434
    • 7. September 2005 um 08:24
    • #3
    Zitat von rck

    Indem Du sie vorher in Tabellen tust. ;)


    erm ... ich steh auf der Leitung ... was soll ich vorher in Tabellen tun? Die Feldtypen, damit ich das matching machen kann? Das könnte ich schon tun, aber ich habe eigentlich gehofft, dass sich da jemand die Mühe schon gemacht hat. ;) Und eigentlich würde da auch ein assoziatives Array reichen, nachdem es ja nicht so viele von denen gibt.

  • rck
    Punkte
    2.342
    Beiträge
    437
    • 12. September 2005 um 23:36
    • #4
    Zitat von maciek

    Die Feldtypen, damit ich das matching machen kann?

    Naja, alles was Du brauchst halt. Ist von der Portabilität her kaum zu schlagen...

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum