[pgsql] Dostosowanie składni MySQL 5.0 -> PGSQL 8.1
Dedko Leszek - 13-11-2006 00:46
[pgsql] Dostosowanie składni MySQL 5.0 -> PGSQL 8.1
Właśnie przesiadam się z MySQL na Postgres i mam kupę problemów. Doszedłem już sam że nie ma funkcji "if exists" ,że data przy insercie nie może być cudzysłowach tylko w apostrofach , że typ "boolean" jest "boolean" :) a nie "tinyint(1)", że nie ma typu "auto_inc" tylko jest "serial" i kilka innych rzeczy ale z tym nie może sobie poradzić. Przeszukałem dokumentację od 8.1 po słowach "password" , "secret", "login" ipt. ale nie znalazłem rozwiązania tego problemu.
Mam taki prosty insert w mysqlu:
UPDATE pracownicy SET pass = password('1234') where id=1;
Niestety pgsql zgłasza mi błąd: ERROR: function password("unknown") does not exist
Czy duże jest tego typu niezgodności pomiędzy Mysql-em i PGSql-em ?? Proszę o pomoc i ew. informację jakich jeszcze chocków-klocków mogę się spodziewać po pgSQL ? i gdzie najlepiej szukać odpowiedzi.
-- (* Decho *)
Krzysztof Krzyżaniak - 13-11-2006 00:46
Dedko Leszek <decho@wp.pl> writes:
> Właśnie przesiadam się z MySQL na Postgres i mam kupę problemów. > Doszedłem już sam że nie ma funkcji "if exists" > ,że data przy insercie nie może być cudzysłowach tylko w apostrofach > , że typ "boolean" jest "boolean" :) a nie "tinyint(1)", że nie ma typu > "auto_inc" tylko jest "serial" i kilka innych rzeczy ale z tym nie może > sobie poradzić. Przeszukałem dokumentację od 8.1 po słowach "password" , > "secret", "login" ipt. ale nie znalazłem rozwiązania tego problemu. > > Mam taki prosty insert w mysqlu: > > UPDATE pracownicy SET > pass = password('1234') > where id=1; > > Niestety pgsql zgłasza mi błąd: > ERROR: function password("unknown") does not exist
jeśli potrzebujesz jednokierunkową funkcję do generowania haseł to użyj funkcji md5(). Oczywiście nie będzie zgodna z funkcją password() z mysqla więc wszystko zależy co chcesz osiągnąć.
> Czy duże jest tego typu niezgodności pomiędzy Mysql-em i PGSql-em ??
sporo, zwłaszcza w funkcjach.
eloy -- -------e-l-o-y----------------------------e-l-o-y-@-k-o-f-e-i-n-a-.-n-e-t------
jak to dobrze, że są oceany - bez nich byłoby jeszcze smutniej
Decho - 13-11-2006 00:46
Krzysztof Krzyżaniak napisał(a): > Dedko Leszek <decho@wp.pl> writes: > > > Właśnie przesiadam się z MySQL na Postgres i mam kupę problemów. > > Doszedłem już sam że nie ma funkcji "if exists" > > ,że data przy insercie nie może być cudzysłowach tylko w apostrofach > > , że typ "boolean" jest "boolean" :) a nie "tinyint(1)", że nie ma typu > > "auto_inc" tylko jest "serial" i kilka innych rzeczy ale z tym nie może > > sobie poradzić. Przeszukałem dokumentację od 8.1 po słowach "password" , > > "secret", "login" ipt. ale nie znalazłem rozwiązania tego problemu. > > > > Mam taki prosty insert w mysqlu: > > > > UPDATE pracownicy SET > > pass = password('1234') > > where id=1; > > > > Niestety pgsql zgłasza mi błąd: > > ERROR: function password("unknown") does not exist > > jeśli potrzebujesz jednokierunkową funkcję do generowania haseł to użyj > funkcji md5(). Oczywiście nie będzie zgodna z funkcją password() z mysqla > więc wszystko zależy co chcesz osiągnąć. > > > Czy duże jest tego typu niezgodności pomiędzy Mysql-em i PGSql-em?? > > sporo, zwłaszcza w funkcjach.
Dzięki wielkie - oto mi chodziło. A masz może jakiś pomysł na sprawdzanie czy baza już istnieje ? coś jak w MySQL : "CREATE TABLE tabelka IF NOT EXISTS ...."
Krzysztof Krzyżaniak - 13-11-2006 00:46
"Decho" <decho@wp.pl> writes:
[..] > A masz może jakiś pomysł na sprawdzanie czy baza już istnieje ? > coś jak w MySQL : "CREATE TABLE tabelka IF NOT EXISTS ...."
Szczerze mówiąc nie znam. Zapewne dałoby się napisać funkcję w plpgsql.
eloy -- -------e-l-o-y----------------------------e-l-o-y-@-k-o-f-e-i-n-a-.-n-e-t------
jak to dobrze, że są oceany - bez nich byłoby jeszcze smutniej
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.plets2.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|