Skip site navigation (1) Skip section navigation (2)

Re: Erlaubte Zeichen in Datenbanknamen

From: "Albe Laurenz" <laurenz(dot)albe(at)wien(dot)gv(dot)at>
To: "udono *EXTERN*" <udono(at)gmx(dot)net>,<pgsql-de-allgemein(at)postgresql(dot)org>
Subject: Re: Erlaubte Zeichen in Datenbanknamen
Date: 2008-08-04 07:05:16
Message-ID: D960CB61B694CF459DCFB4B0128514C2025C3EF9@exadv11.host.magwien.gv.at (view raw or flat)
Thread:
Lists: pgsql-de-allgemein
udono schrieb:
>>> Gibt es noch weitere erlaubte Zeichen oder andere Sachen die ich bei 
>>> der Prüfung beachten muss?

Ich glaube, Deine Beschreibung (63 alphanumerische Zeichen) ist nicht
korrekt: es sind 64 *Bytes* (inklusive dem 0-Byte am Ende), und alle
Zeichen sind möglich.

Siehe bpchar_name in src/backend/utils/adt/varchar.c.

Allerdings ist es intelligent, die Eingabe auf Kleinbuchstaben, Ziffern und
Unterstriche zu beschränken.

>> IIRC nicht, aber ich versteh nicht ganz, warum Du den Namen einer DB als
>> Benutzereingabe prüfen willst/mußt. Der DB-Name ist doch eher, ähm,
>> statisch.
>
> Ja, bei der Software handelt es sich um ein ERP (Enterprice Resource 
> Planning) Tool für kleine und mittelgroße Unternehmen.
> Wenn man eine neue einzelne Firma anlegt, dann werden alle Daten in 
> eine Postgresdatenbank eingefügt. Deren Name muss der Administrator 
> angeben um sie neu erstellen zu lassen. Wir haben diesen Dialog in 
> das GUI gelegt, um die Konfiguration zu vereinfachen.
> Bei der Eingabe des Datenbank-Namens wird gleich auf Validität 
> geprüft. (Also es sind nur alpha-nummerische Zeichen erlaubt und 
> Unterstrich, das erste Zeichen muss ein Buchstabe sein, die Anzahl 
> der eingegebenen Zeichen ist auf 63 begrenzt.) Quasi 
> Fehlervermeidung, statt Fehlermeldung...

Ein Bedenken gegen das Design möchte ich kundtun:

Das bedeutet, daß das Programm mit einem User mit hohen Privilegien
(CREATEDB oder gar SUPERUSER) an die Datenbank verbunden sein muß.

Vielen Leuten macht das vielleicht nichts aus, aber es gibt Menschen
(und Unternehmen), für die sowas ein Ausschließungsgrund für eine
Software ist.

Warum kann das nicht einfach ein neues Schema statt einer neuen
Datenbank sein?

Liebe Grüße,
Laurenz Albe

In response to

Responses

pgsql-de-allgemein by date

Next:From: Susanne EbrechtDate: 2008-08-04 14:11:42
Subject: Re: Erlaubte Zeichen in Datenbanknamen
Previous:From: Tim LandscheidtDate: 2008-08-03 22:00:49
Subject: Re: In Funktion prüfen ob Zeile existiert

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group