Seite 1 von 1

Datei mit Python über PostgreSQL erstellt - Rechteprobleme

Verfasst: Dienstag 1. Juni 2010, 14:44
von PreludeBA4
Hallo Leute,

ich habe da mal eine Frage. Ich habe eine PostgreSQL Funktion geschrieben:

Code: Alles auswählen

CREATE FUNCTION py_export_daten(path text, filename text, head text, host text, benutzer text, passwort text, dbname text, query text, dbtyp text, limiter text, seperator text)
  RETURNS text
AS $$
	from pg_csv_export import clsExportCSV
	clsExportCSV = clsExportCSV()
	erg = clsExportCSV.funcExportCSV(path, filename, head, host, benutzer, passwort, dbname, query, dbtyp, limiter, seperator)

	return erg
$$ LANGUAGE plpythonu
Diese ruft ein Python-Script auf, welches Daten aus einer Datenbank liest und in eine Datei schreibt:
http://www.python-forum.de/pastebin.php?mode=view&s=29

(Ich weis der Code ist momentan nicht schön und recht unordentlich... Wird auch noch aufgeräumt aber darum geht es ja nicht)

Nun gibt es aber ein Problem. Die Datei wird mit den Rechten 600 erstellt und man kann sie so ohne weiteres nicht mal ansehen... :( Owner ist postgres:postgres...

Code: Alles auswählen

rlehne@erlabrunn:~/Dokumente/test_pgpy$ ls -l
insgesamt 32
....
-rw------- 1 postgres postgres  116 2010-06-01 14:49 test_pg_20100531_3.csv
....
chmod o.ä. über Python funktioniert nicht und man muß die Rechter per Hand ändern. Das ist sehr Nervig.

Gibt es eine Möglichkeit, dass er die Datei mit anderen Rechten erstellt?! Suche hier schon wie bekloppt nach irgendwelchen Rechtevergaben mit Python und PostgreSQL... :(


Grüße
Ronny

Re: Datei mit Python über PostgreSQL erstellt - Rechteproble

Verfasst: Dienstag 1. Juni 2010, 22:43
von /me
PreludeBA4 hat geschrieben:chmod o.ä. über Python funktioniert nicht [...]
Welche Fehlermeldung erhältst du?

Re: Datei mit Python über PostgreSQL erstellt - Rechteproble

Verfasst: Mittwoch 2. Juni 2010, 09:19
von PreludeBA4
Wenn du mir sagst, wie ich die Fehlermeldung an Postgres zurück geben kann, kann ich sie dir sagen :? :(

Re: Datei mit Python über PostgreSQL erstellt - Rechteproble

Verfasst: Mittwoch 2. Juni 2010, 10:48
von frabron
Das Problem ist, dass dein Skript die umask vom postgres Benutzer erbt und deshalb so restriktive Rechte setzt. Evt. könnte dir os.umask helfen

Re: Datei mit Python über PostgreSQL erstellt - Rechteproble

Verfasst: Mittwoch 2. Juni 2010, 16:25
von PreludeBA4
Danke schön...
Das hat mir wunderbar geholfen :D

Re: Datei mit Python über PostgreSQL erstellt - Rechteproble

Verfasst: Donnerstag 3. Juni 2010, 07:15
von frabron
Prima, das es funktioniert hat. War von mir auch eher geraten als gewusst :)