Lists: | pgsql-de-allgemein |
---|
From: | Guenther Boelter <gboelter(at)gmail(dot)com> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Umstellung von MySQL auf PostgreSQL |
Date: | 2012-07-15 12:55:19 |
Message-ID: | 5002BDB7.6050302@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Moin,<br>
<br>
ich habe heute mit der Umstellung einer von mir geschriebenen
Anwendung von MySQL auf PostgreSQL begonnen. Vor hatte ich's schon
lange, aber ihr wisst ja vermutlich selbst, wie das immer so ist mit
der Zeit, insbesondere wenn man(n) aelter wird! Aber egal, da muss
ich jetzt durch ...<br>
<br>
Und leider stellen sich da auch gleich ein paar Fragen, die mir
hoffentlich hier - trotz Urlaubszeit - jemand beantworten kann und
mag:<br>
<br>
<ol>
<li>Unter MySQL habe ich fuer meine Anwendung eine Datenbank
namens 'erpel' 'sozusagen' fuer die Verwaltung und dann je eine
Datenbank pro Mandant. Dieses Konzept will ich dem Grunde nach
auch beigehalten, daher hierzu folgende Frage:<br>
<br>
Wenn ich eine database mit Namen 'davaosoft' anlege und darunter
dann jeweils ein schema pro Mandant, also Mandant01, Mandant02
etc. Sollte ich dann auch ein eigenes Schema fuer 'erpel'
anlegen, oder kann ich fuer diese Daten auch das Schema 'public'
benutzen? Es geht bei 'erpel' letztlich nur um 2 tables mit
zusammen ca. 12 Spalten.<br>
<br>
</li>
<li>Nach einigen kleineren Korrekturen in meiner MySQL-Database
kann ich diese nun mit mysql2psql problemlos nach PostgreSQL
exportieren. Nicht so schoen ist allerdings, dass ich bei meinen
Feldnamen bisher Gross-/Kleinschreibung verwendet habe, also in
der Art von 'dbName, dbMandant' etc.. Wenn ich es richtig sehe,
dann habe ich hier zwei Moeglichkeiten. Entweder ich setze alle
Feldnamen in meinen Abfragen in Anfuehrungszeichen oder aber ich
aendere alle Feldnamen konsequent auf Kleinschreibung um. Gibt's
da noch eine bessere Moeglichkeit oder wie wuerdet ihr
verfahren?<br>
<br>
</li>
<li>Und die - zumindest vorlaeufig - letzte Frage: Ein 'USE
DATABASE irgenwas' gibt es ja unter PostgreSQL nicht. Wie kann
ich dennoch ein Feld in einer Abfrage ansprechen, ohne jeweils
den Namen des Schemas voranzustellen. Also 'SELECT name ....'
statt 'SELECT mandant.name ...'?</li>
</ol>
<p><br>
Schon mal vielen Dank im voraus.<br>
</p>
<p>Guenther<br>
Davao City, Philippines, Planet Earth, 29.0 °C<br>
</p>
<br>
<pre class="moz-signature" cols="72">--
DavaoSOFT, the home of ERPel
ERPel, das deutsche Warenwirtschaftssystem fuer LINUX
<a class="moz-txt-link-freetext" href="http://www.davaosoft.com">http://www.davaosoft.com</a></pre>
</body>
</html>
Attachment | Content-Type | Size |
---|---|---|
unknown_filename | text/html | 2.7 KB |
From: | Andreas Kretschmer <akretschmer(at)spamfence(dot)net> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: Umstellung von MySQL auf PostgreSQL |
Date: | 2012-07-15 13:24:15 |
Message-ID: | 20120715132415.GA31719@tux |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
Guenther Boelter <gboelter(at)gmail(dot)com> wrote:
> Moin,
>
> ich habe heute mit der Umstellung einer von mir geschriebenen Anwendung von
> MySQL auf PostgreSQL begonnen. Vor hatte ich's schon lange, aber ihr wisst ja
> vermutlich selbst, wie das immer so ist mit der Zeit, insbesondere wenn man(n)
> aelter wird! Aber egal, da muss ich jetzt durch ...
Zuerst einmal: Viel Erfolg!
>
> Und leider stellen sich da auch gleich ein paar Fragen, die mir hoffentlich
> hier - trotz Urlaubszeit - jemand beantworten kann und mag:
>
>
> 1. Unter MySQL habe ich fuer meine Anwendung eine Datenbank namens 'erpel'
> 'sozusagen' fuer die Verwaltung und dann je eine Datenbank pro Mandant.
> Dieses Konzept will ich dem Grunde nach auch beigehalten, daher hierzu
> folgende Frage:
>
> Wenn ich eine database mit Namen 'davaosoft' anlege und darunter dann
> jeweils ein schema pro Mandant, also Mandant01, Mandant02 etc. Sollte ich
> dann auch ein eigenes Schema fuer 'erpel' anlegen, oder kann ich fuer diese
> Daten auch das Schema 'public' benutzen? Es geht bei 'erpel' letztlich nur
> um 2 tables mit zusammen ca. 12 Spalten.
Geschmackssache, Dir überlassen.
>
> 2. Nach einigen kleineren Korrekturen in meiner MySQL-Database kann ich diese
> nun mit mysql2psql problemlos nach PostgreSQL exportieren. Nicht so schoen
> ist allerdings, dass ich bei meinen Feldnamen bisher Gross-/Kleinschreibung
> verwendet habe, also in der Art von 'dbName, dbMandant' etc.. Wenn ich es
> richtig sehe, dann habe ich hier zwei Moeglichkeiten. Entweder ich setze
> alle Feldnamen in meinen Abfragen in Anfuehrungszeichen oder aber ich
> aendere alle Feldnamen konsequent auf Kleinschreibung um. Gibt's da noch
> eine bessere Moeglichkeit oder wie wuerdet ihr verfahren?
Die Groß-Kleinschreibung ist IMHO eher nur kosmetisch, oder? Bleib
einfach bei Klein, und gut ist.
>
> 3. Und die - zumindest vorlaeufig - letzte Frage: Ein 'USE DATABASE irgenwas'
> gibt es ja unter PostgreSQL nicht. Wie kann ich dennoch ein Feld in einer
> Abfrage ansprechen, ohne jeweils den Namen des Schemas voranzustellen. Also
> 'SELECT name ....' statt 'SELECT mandant.name ...'?
Du kannst den search_path passend setzen, also das entsprechende Schema
in den search_path. Das geht per User zu setzten, z.B., könntest das
also je Mandant passend setzen.
>
>
> Schon mal vielen Dank im voraus.
>
> Guenther
> Davao City, Philippines, Planet Earth, 29.0 °C
>
>
> --
> DavaoSOFT, the home of ERPel
> ERPel, das deutsche Warenwirtschaftssystem fuer LINUX
> http://www.davaosoft.com
>
Andreas
--
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect. (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly." (unknown)
Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°
From: | Andreas Kretschmer <akretschmer(at)spamfence(dot)net> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: Umstellung von MySQL auf PostgreSQL |
Date: | 2012-07-15 15:02:40 |
Message-ID: | 20120715150240.GA6051@tux |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
Andreas Kretschmer <akretschmer(at)spamfence(dot)net> wrote:
> Guenther Boelter <gboelter(at)gmail(dot)com> wrote:
>
> > Moin,
> >
> > ich habe heute mit der Umstellung einer von mir geschriebenen Anwendung von
> > MySQL auf PostgreSQL begonnen. Vor hatte ich's schon lange, aber ihr wisst ja
> > vermutlich selbst, wie das immer so ist mit der Zeit, insbesondere wenn man(n)
> > aelter wird! Aber egal, da muss ich jetzt durch ...
>
> Zuerst einmal: Viel Erfolg!
Was ich noch ergänzen wollte: PostgreSQL kann einiges mehr an SQL als
MySQL, Du solltest das nutzen! (also nicht nur 1:1 alles kopieren)
Welche Version von PG willst Du voraussetzen? Gehe nicht hinter 8.4,
setze lieber gleich auf 9.0 oder 9.1, 9.2 kommt in wenigen Monaten.
8.4 führte CTE ein, sehr praktisch für eine ganze Reihe von Aufgaben.
Du kannst hier gern auch Abfragen zeigen, die Dir in MySQL vielleicht
suboptimal gelöst erscheinen - vielleicht geht es in PG eleganter.
Andreas
--
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect. (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly." (unknown)
Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°
From: | "Albe Laurenz" <laurenz(dot)albe(at)wien(dot)gv(dot)at> |
---|---|
To: | "Andreas Kretschmer *EXTERN*" <akretschmer(at)spamfence(dot)net>, <pgsql-de-allgemein(at)postgresql(dot)org> |
Subject: | Re: Umstellung von MySQL auf PostgreSQL |
Date: | 2012-07-16 07:34:19 |
Message-ID: | D960CB61B694CF459DCFB4B0128514C208246B3C@exadv11.host.magwien.gv.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
Andreas Kretschmer schrieb:
> Guenther Boelter <gboelter(at)gmail(dot)com> wrote:
>> 1. Unter MySQL habe ich fuer meine Anwendung eine Datenbank namens 'erpel'
>> 'sozusagen' fuer die Verwaltung und dann je eine Datenbank pro Mandant.
>> Dieses Konzept will ich dem Grunde nach auch beigehalten, daher hierzu
>> folgende Frage:
>>
>> Wenn ich eine database mit Namen 'davaosoft' anlege und darunter dann
>> jeweils ein schema pro Mandant, also Mandant01, Mandant02 etc. Sollte ich
>> dann auch ein eigenes Schema fuer 'erpel' anlegen, oder kann ich fuer diese
>> Daten auch das Schema 'public' benutzen? Es geht bei 'erpel' letztlich nur
>> um 2 tables mit zusammen ca. 12 Spalten.
> Geschmackssache, Dir überlassen.
Ich weiß auch nicht die richtige Lösung, das hängt von der Software ab,
aber bei "public" sind zwei Dinge zu beachten:
1) In der Standardeinstellung hat jeder Schreibzugriff auf "public".
Das kann man natürlich leicht ändern, ich wollte es nur gesagt haben.
2) Das Schema "public" is standardmäßig im Suchpfad, Objekte darin werden
also be Zugriff ohne Schema-Qualifikation gefunden.
Das kann man natürlich auch ändern.
Die Übersetzung in ein eigenes Schema "erpel" wäre wahrscheinlich
dem MySQL-Setup am ähnlichsten (was natprlich nicht heißt, das das die
beste Methode sein muß).
Liebe Grüße,
Laurenz Albe
From: | Guenther Boelter <gboelter(at)gmail(dot)com> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: Umstellung von MySQL auf PostgreSQL |
Date: | 2012-07-16 09:06:00 |
Message-ID: | 5003D978.6040101@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
On 07/16/2012 03:34 PM, Albe Laurenz wrote:
> Andreas Kretschmer schrieb:
>> Guenther Boelter <gboelter(at)gmail(dot)com> wrote:
>>> 1. Unter MySQL habe ich fuer meine Anwendung eine Datenbank namens 'erpel'
>>> 'sozusagen' fuer die Verwaltung und dann je eine Datenbank pro Mandant.
>>> Dieses Konzept will ich dem Grunde nach auch beigehalten, daher hierzu
>>> folgende Frage:
>>>
>>> Wenn ich eine database mit Namen 'davaosoft' anlege und darunter dann
>>> jeweils ein schema pro Mandant, also Mandant01, Mandant02 etc. Sollte ich
>>> dann auch ein eigenes Schema fuer 'erpel' anlegen, oder kann ich fuer diese
>>> Daten auch das Schema 'public' benutzen? Es geht bei 'erpel' letztlich nur
>>> um 2 tables mit zusammen ca. 12 Spalten.
>> Geschmackssache, Dir überlassen.
> Ich weiß auch nicht die richtige Lösung, das hängt von der Software ab,
> aber bei "public" sind zwei Dinge zu beachten:
>
> 1) In der Standardeinstellung hat jeder Schreibzugriff auf "public".
> Das kann man natürlich leicht ändern, ich wollte es nur gesagt haben.
>
> 2) Das Schema "public" is standardmäßig im Suchpfad, Objekte darin werden
> also be Zugriff ohne Schema-Qualifikation gefunden.
> Das kann man natürlich auch ändern.
>
> Die Übersetzung in ein eigenes Schema "erpel" wäre wahrscheinlich
> dem MySQL-Setup am ähnlichsten (was natprlich nicht heißt, das das die
> beste Methode sein muß).
>
> Liebe Grüße,
> Laurenz Albe
>
Moin!
Zunaechst mal vielen Dank Euch beiden fuer's 'Mutmachen' und natuerlich
fuer die Hinweise.
Ich denke, ich werde zunaechst mal meine MySQL Datenbank ein wenig
'aufraeumen', unter anderem Feld- und Tablenamen auf Kleinschreibung
umstellen. Das sollte in zwei/drei Tagen erledigt sein, zumal das nur so
30% der Namen betrifft. Irgendwann habe ich naemlich schon angefangen
dort nur noch Kleinschreibung zu verwenden.
Dann werde ich noch mal meine diversen Queries durchgehen. Da duerften
aus der Anfangszeit auch noch einige etwas eher 'ungewoehnliche'
Konstruktionen existieren.
Und erst danach werde ich dann mit mysql2postgres die eigentliche
Umstellung vornehmen. Ausserdem habe ich mich nach Albes Hinweis nun
endgueltig entschlossen das public-Schema dann doch nicht zu verwenden.
Einsteigen will ich uebrigens mit der 9.1, die sollte nach Andreas
Ausage dann wohl in Ordnung sein.
Zwei Fragen habe ich aber aktuell noch:
Was ist dieses 'CTE', dass da mit der 8.4 eingefuehrt wurde und wie kann
ich den 'search_path' per User bzw. per Mandant passend setzen?
Gruss
Guenther
--
DavaoSOFT, the home of ERPel
ERPel, das deutsche Warenwirtschaftssystem fuer LINUX
http://www.davaosoft.com
From: | Andreas Kretschmer <andreas(at)a-kretschmer(dot)de> |
---|---|
To: | Guenther Boelter <gboelter(at)gmail(dot)com>, pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: Umstellung von MySQL auf PostgreSQL |
Date: | 2012-07-16 09:17:54 |
Message-ID: | 1469163483.39698.1342430274298.JavaMail.open-xchange@ox.ims-firmen.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
Guenther Boelter <gboelter(at)gmail(dot)com> hat am 16. Juli 2012 um 11:06 geschrieben:
> On 07/16/2012 03:34 PM, Albe Laurenz wrote:
> > Andreas Kretschmer schrieb:
> >> Guenther Boelter <gboelter(at)gmail(dot)com> wrote:
> >>> 1. Unter MySQL habe ich fuer meine Anwendung eine Datenbank namens
> >>> 'erpel'
> >>> 'sozusagen' fuer die Verwaltung und dann je eine Datenbank pro
> >>> Mandant.
> >>> Dieses Konzept will ich dem Grunde nach auch beigehalten, daher
> >>> hierzu
> >>> folgende Frage:
> >>>
> >>> Wenn ich eine database mit Namen 'davaosoft' anlege und darunter dann
> >>> jeweils ein schema pro Mandant, also Mandant01, Mandant02 etc. Sollte
> >>> ich
> >>> dann auch ein eigenes Schema fuer 'erpel' anlegen, oder kann ich fuer
> >>> diese
> >>> Daten auch das Schema 'public' benutzen? Es geht bei 'erpel'
> >>> letztlich nur
> >>> um 2 tables mit zusammen ca. 12 Spalten.
> >> Geschmackssache, Dir überlassen.
> > Ich weiß auch nicht die richtige Lösung, das hängt von der Software ab,
> > aber bei "public" sind zwei Dinge zu beachten:
> >
> > 1) In der Standardeinstellung hat jeder Schreibzugriff auf "public".
> > Das kann man natürlich leicht ändern, ich wollte es nur gesagt haben.
> >
> > 2) Das Schema "public" is standardmäßig im Suchpfad, Objekte darin werden
> > also be Zugriff ohne Schema-Qualifikation gefunden.
> > Das kann man natürlich auch ändern.
> >
> > Die Übersetzung in ein eigenes Schema "erpel" wäre wahrscheinlich
> > dem MySQL-Setup am ähnlichsten (was natprlich nicht heißt, das das die
> > beste Methode sein muß).
> >
> > Liebe Grüße,
> > Laurenz Albe
> >
> Moin!
>
> Zunaechst mal vielen Dank Euch beiden fuer's 'Mutmachen' und natuerlich
> fuer die Hinweise.
>
> Ich denke, ich werde zunaechst mal meine MySQL Datenbank ein wenig
> 'aufraeumen', unter anderem Feld- und Tablenamen auf Kleinschreibung
> umstellen. Das sollte in zwei/drei Tagen erledigt sein, zumal das nur so
> 30% der Namen betrifft. Irgendwann habe ich naemlich schon angefangen
> dort nur noch Kleinschreibung zu verwenden.
>
> Dann werde ich noch mal meine diversen Queries durchgehen. Da duerften
> aus der Anfangszeit auch noch einige etwas eher 'ungewoehnliche'
> Konstruktionen existieren.
>
> Und erst danach werde ich dann mit mysql2postgres die eigentliche
> Umstellung vornehmen. Ausserdem habe ich mich nach Albes Hinweis nun
> endgueltig entschlossen das public-Schema dann doch nicht zu verwenden.
>
> Einsteigen will ich uebrigens mit der 9.1, die sollte nach Andreas
> Ausage dann wohl in Ordnung sein.
>
> Zwei Fragen habe ich aber aktuell noch:
>
> Was ist dieses 'CTE', dass da mit der 8.4 eingefuehrt wurde und wie kann
> ich den 'search_path' per User bzw. per Mandant passend setzen?
CTE steht für Common Table Expressions und bietet recht umfangreiche
Abfragemöglichkeiten, z.B.:
- rekursive Abfragen zum Klättern in Bäumen
- Definition von 'Fenstern' (z.B. Saldo eines Kontos von Anfang bis aktuellen
Datensatz oder für den laufenden Monat oder oder oder ...)
- writeableCTE, damit kannst Du z.B. in einem Ruck Datensätze in tabelle A
löschen und in B einfügen
und vieles mehr, guggst Du
http://www.postgresql.org/docs/9.0/static/sql-select.html, google listet dir
Tonnen von weiteren Links.
Den search_path eines Users kannst Du dauerhaft via alter user set search_path
setzen.
Viel Erfolg ;-)
Andreas
From: | Thomas Markus <t(dot)markus(at)proventis(dot)net> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: Umstellung von MySQL auf PostgreSQL |
Date: | 2012-07-16 10:23:37 |
Message-ID: | 5003EBA9.4080801@proventis.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
Moins,
Am 16.07.2012 11:06, schrieb Guenther Boelter:
>
> Moin!
>
> Zunaechst mal vielen Dank Euch beiden fuer's 'Mutmachen' und
> natuerlich fuer die Hinweise.
>
> Ich denke, ich werde zunaechst mal meine MySQL Datenbank ein wenig
> 'aufraeumen', unter anderem Feld- und Tablenamen auf Kleinschreibung
> umstellen. Das sollte in zwei/drei Tagen erledigt sein, zumal das nur
> so 30% der Namen betrifft. Irgendwann habe ich naemlich schon
> angefangen dort nur noch Kleinschreibung zu verwenden.
>
> Dann werde ich noch mal meine diversen Queries durchgehen. Da duerften
> aus der Anfangszeit auch noch einige etwas eher 'ungewoehnliche'
> Konstruktionen existieren.
>
> Und erst danach werde ich dann mit mysql2postgres die eigentliche
> Umstellung vornehmen. Ausserdem habe ich mich nach Albes Hinweis nun
> endgueltig entschlossen das public-Schema dann doch nicht zu verwenden.
>
> Einsteigen will ich uebrigens mit der 9.1, die sollte nach Andreas
> Ausage dann wohl in Ordnung sein.
>
> Zwei Fragen habe ich aber aktuell noch:
>
> Was ist dieses 'CTE', dass da mit der 8.4 eingefuehrt wurde und wie
> kann ich den 'search_path' per User bzw. per Mandant passend setzen?
>
> Gruss
>
> Guenther
>
sofern sich die mysql spezifischen Konstrukte in Grenzen halten würd ich
die Queries bereits in der PG umarbeiten und dann auch gleich an PG
anpassen.
Da kannste dann gleich die CTE verwenden (schöne Sache). Siehe
http://www.postgresql.org/docs/9.1/static/queries-with.html
Den search_path kann man ganz einfach setzen. Siehe
http://www.postgresql.org/docs/9.1/static/sql-set.html
Gruss
Thomas
From: | "Albe Laurenz" <laurenz(dot)albe(at)wien(dot)gv(dot)at> |
---|---|
To: | "Guenther Boelter *EXTERN*" <gboelter(at)gmail(dot)com>, <pgsql-de-allgemein(at)postgresql(dot)org> |
Subject: | Re: Umstellung von MySQL auf PostgreSQL |
Date: | 2012-07-16 12:21:49 |
Message-ID: | D960CB61B694CF459DCFB4B0128514C208246CAB@exadv11.host.magwien.gv.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
Guenther Boelter schrieb:
> Was ist dieses 'CTE', dass da mit der 8.4 eingefuehrt wurde und wie kann
> ich den 'search_path' per User bzw. per Mandant passend setzen?
Common Table Expressions oder WITH-Queries:
http://www.postgresql.org/docs/current/static/queries-with.html
search_path kann per User so gesetzt werden:
1) Durch "SET search_path=schema1,schema2" nach jedem Connect.
2) Durch "ALTER USER ... SET search_path=schema1,schema2".
Liebe Grüße,
Laurenz Albe
From: | Andreas Kretschmer <andreas(at)a-kretschmer(dot)de> |
---|---|
To: | Guenther Boelter *EXTERN* <gboelter(at)gmail(dot)com>, pgsql-de-allgemein(at)postgresql(dot)org, Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at> |
Subject: | Re: Umstellung von MySQL auf PostgreSQL |
Date: | 2012-07-16 13:02:49 |
Message-ID: | 157449548.40370.1342443769818.JavaMail.open-xchange@ox.ims-firmen.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at> hat am 16. Juli 2012 um 14:21
geschrieben:
> Guenther Boelter schrieb:
> > Was ist dieses 'CTE', dass da mit der 8.4 eingefuehrt wurde und wie kann
> > ich den 'search_path' per User bzw. per Mandant passend setzen?
>
> Common Table Expressions oder WITH-Queries:
> http://www.postgresql.org/docs/current/static/queries-with.html
Ich würde dazu unbedingt auch das nennen:
http://www.postgresql.org/docs/9.1/static/tutorial-window.html
From: | Susanne Ebrecht <miracee(at)web(dot)de> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: Umstellung von MySQL auf PostgreSQL |
Date: | 2012-07-19 08:12:55 |
Message-ID: | 5007C187.8060009@web.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
Hallo Guenther,
Am 15.07.2012 14:55, schrieb Guenther Boelter:
>
>
> Und leider stellen sich da auch gleich ein paar Fragen, die mir
> hoffentlich hier - trotz Urlaubszeit - jemand beantworten kann und mag:
Sorry, dass ich, wegen Krankheit, Deine Anfrage erst jetzt gesehen habe.
Wie Du ja schon gemerkt hast, gibt es da diverse Unterschiede zwischen
M**** und PostgreSQL.
Das fängt schon bei der Definition "Was ist eine Datenbank" an und hört
noch längst nicht beim
Speichermanagement auf.
Einige Dinge haben Dir die Jungs ja schon erklärt. Was ich Dir empfehlen
kann, komm am 25.8.
zur Froscon (http://www.froscon.de) Dort gebe ich um 11 Uhr einen
Vortrag zu genau diesem Thema.
Ich werde die wichtigsten Unterschiede für Umsteiger und zur
Horizonterweiterung darstellen.
Der Vortrag nennt sich Myrisch versus PlattgreSQL (abgeleitet von
Bayrisch vs. Plattdütsch).
Liebe Grüße,
Susanne
--
Susanne Ebrecht,
Bielefeld
From: | Guenther Boelter <gboelter(at)gmail(dot)com> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: Umstellung von MySQL auf PostgreSQL |
Date: | 2013-02-08 11:11:27 |
Message-ID: | 5114DD5F.20702@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Ein herzliches Moin Moin in die kalte Heimat!<br>
<br>
Ich hab's jetzt endlich mal geschafft mein Programm von MySQL auf
PostgreSQL umzustellen. War leider viel aufwendiger als erhofft,
aber ich bin sicher, der Aufwand hat sich gelohnt. <br>
<br>
Zunaechst habe ich mal alle Abfragen in meinem Code umgeschrieben,
dort werden jetzt also nur noch 'Kleinbuchstaben' verwendet und ich
kann mir die Klimmzuege mit Anfuehrungszeichen, escapen etc. und
dergleichen sparen. Dann habe ich versucht das Script
'mysql2postgres' von Max Lapshin ueber meine Datenbank laufen zu
lassen, keider ohne der erhofften Erfolg.<br>
<br>
Und nach etlichen weiteren leicht verzweifelten Versuchen bin ich
dann ueber den Migrationsassistenten von EnterprisDB gestolpert, und
damit hat's dann mehr oder weniger gut geklappt. BLOB's und
tinyint's wurden dort nicht umgesetzt, aber der Rest war schon ganz
in Ordnung. Ein Problem hatte ich noch mit 'NULL' und 'NOT NULL',
aber das lag letztlich nicht an Postgres sondern mehr daran, das ich
in grauer Vorzeit beim Anlegen meiner Tabellen in MySQL da etwas
falsch verstanden hatte und MySQL dies auch nie angemeckert hat.<br>
<br>
Wie gesagt, das war erheblich mehr Arbeit als erhofft, aber ich habe
auch viel draus gelernt. So zum Beispiel, das MySQL nun mal zum
'unsauberen' Arbeiten verleitet, weil es einfach - wenn vielleicht
auch gut gemeint - zu tolerant ist. Zumindest dann, wenn <span
class="st"> <em>strict_mode</em> OFF ist, was standardmaessig der
Fall zu sein scheint.<br>
<br>
Im Ergebnis sieht es nun so aus, dass ich entgegen urspruenglicher
Planung vollkommen auf die Unterstuetzung von MySQL verzichten
werde, also in einem Programm nur noch PostgreSQL verwenden
werden.<br>
<br>
Jetzt aber werde ich zunaechst mal versuchen meine
Datenbankstruktur weiter zu optimieren, denn da gibt's noch eine
Menge Dinge, die man(n) bestimmt besser machen kann. Ihr werdet
also sicherlich in Kuerze wieder von mir hoeren, wenn neue
Probleme aufgetaucht sind.<br>
</span> <br>
Das nur mal kurz als Feedback zu euren Ratschlaegen seinerzeit, auch
wenn's schon wieder Monat her ist.<br>
<br>
Herzliche Gruesse<br>
<br>
Guenther<br>
Davao City, Philippines, Planet Earth, 29.0 °C <br>
<br>
<br>
</body>
</html>
Attachment | Content-Type | Size |
---|---|---|
unknown_filename | text/html | 2.5 KB |
From: | Michael Renner <michael(dot)renner(at)amd(dot)co(dot)at> |
---|---|
To: | "pgsql-de-allgemein(at)postgresql(dot)org Allgemein" <pgsql-de-allgemein(at)postgresql(dot)org> |
Subject: | Re: Umstellung von MySQL auf PostgreSQL |
Date: | 2013-02-09 12:11:53 |
Message-ID: | 4B537D24-D6FE-41A5-A108-F4BEDFB64866@amd.co.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
On Feb 8, 2013, at 12:11 , Guenther Boelter <gboelter(at)gmail(dot)com> wrote:
> Wie gesagt, das war erheblich mehr Arbeit als erhofft, aber ich habe auch viel draus gelernt. So zum Beispiel, das MySQL nun mal zum 'unsauberen' Arbeiten verleitet, weil es einfach - wenn vielleicht auch gut gemeint - zu tolerant ist. Zumindest dann, wenn strict_mode OFF ist, was standardmaessig der Fall zu sein scheint.
>
> Im Ergebnis sieht es nun so aus, dass ich entgegen urspruenglicher Planung vollkommen auf die Unterstuetzung von MySQL verzichten werde, also in einem Programm nur noch PostgreSQL verwenden werden.
Wirst du kaum bereuen. Zum Thema MySQL und unsauberes arbeiten gab's unlängst wieder zwei ganz feine Artikel.
Einen definitiven Rant: http://grimoire.ca/mysql/choose-something-else
Und einen ganz kessen Rails/ActiveRecord/MySQL security Bug: http://www.phenoelit.org/blog/archives/2013/02/05/mysql_madness_and_rails/
2 cents,
michael