Das geht jedenfalls in meiner Version von pgadmin 3 nicht. Ohne Benutzernamen ist der Ok Knopf nicht aktiv, mit benutzername beschwert er sich das kein Passwort gesendet wurde und mit meinem Passwort geht es auch nicht.
Das Problem ist, dass kein Passwort für den User Postgres bekannt ist. Es wird während der Installation nicht wie bei Windows abgefragt.
Allerdings habe ich etwas gefunden:
sudo -u postgres psql postgres
Set a password for the “postgres” database role using the command:
\password postgres
Richtig beim User Postgres funktioniert es auch ohne Passwort. Sehr eigenartig.
Ich weiß, dass es bei Windows anders ist. Aber ein Sicherheitsrisiko kann ich auch nicht erkennen, denn wenn man einen leeren Server anlegt, dann gibt es ja dort keine sensiblen Daten. Erst wenn man dort Daten reinlädt sollte man auch an die Sicherheit denken.
Wenn man mit user postgres alles kann und darf, macht die ganze Benutzerverwaltung mit Passworten ja keinen Sinn mehr. Möglicherweise ist der superuser postgres der datenbank bei Linux automatisch mit dem superuser des Rechners identisch.
Jetzt bringen wir aber ein paar Dinge durcheinander
“postgres” ist nur ein “normaler” auf shell-Ebene:
$ grep postgres /etc/passwd
postgres:x:106:106:PostgreSQL administrator,:/var/lib/postgresql:/bin/bash
Der Administrator/Superuser unter linux heisst “root” bzw. eine Kennung mit UID=0
Postgres verwendet in Linux per default das “Ident” Verfahren zur Authentifizierung. Das heisst, wenn man sich als lokaler Unix user “xyz” bei postgres mit dem Benutzer “xyz” anmelden will, braucht man kein Passwort, denn man ist ja bereits als dieser im Betriebssystem angemeldet. Demzufolge legt Postgres per default auch keine Passwoerter fuer User (wie z.B. fuer den postgres super user) an. Man kann sich demzufolge auch nicht per passwort anmelden, da keines existiert. Allerdings funktioniert das Identverfahren glaube ich nur ueber lokale unix sockets und nicht ueber das netzwerk oder tcp sockets.
Es ist nicht immer ganz klar ob sich ein Programm mit postgres per unix oder tcp socket verbindet. Letzteres klappt dann meistens nicht, es sei denn man hat passwoerter festgelegt und das password authentifizierungs system in der config datei aktiviert. Manchmal hilft das “host” Feld blank zu lassen anstelle von localhost zu verwenden.
kann man eigentlich auch mehrere Bundesländer nacheinander einlesen?
Falls ja, sind die Daten an den Grenzen dann ok, oder irgendwie abgeschnitten?
Chris
Müsste mit dem Parameter “-a” wie “append” gehen. Oder man führt die Daten der verschiedenen Bundesländer vorher mit Osmosis oder osmconvert zu einer einzigen Datei zusammen. Wichtig ist aber, dass diese Extrakte vorher so ausgeschnitten wurden, dass Referenzen auf jeweils außerhalb liegende Knoten nicht gelöscht werden.
Hab’ jetzt mal mittelfranken und oberpfalz ausprobiert, sind zwar keine Länder sondern nur Regierungsbezirke aber benachbart.
Zuerst mittelfranken, dann oberpfalz => mittelfranken weg.
Nungut, dann halt mittelfranken hinzu mittels “-a” =>
Reading in file: mittelfranken.osm.pbf
Processing: Node(2343k 75.6k/s) Way(362k 3.51k/s) Relation(0 0.00/s)COPY_END for COPY planet_osm_ways FROM STDIN;
failed: FEHLER: doppelter Schlüsselwert verletzt Unique-Constraint »planet_osm_ways_pkey«
CONTEXT: COPY planet_osm_ways, Zeile 1549: »4361184 {26262442,294294135,26262443,294294552,26582221,26582222,26582223,299352747,26582224,2658222...«
Error occurred, cleaning up