PostgreSQL какой драйвер выбрать?

31 views
Skip to first unread message

Дмитрий Омелечко

unread,
Jun 12, 2009, 4:58:31 AM6/12/09
to erlang-...@googlegroups.com
Много читал, осталось неоднозначное впечатление.

Какой из существующий драйверов для PostgreSQL сейчас активно разрабатывается и наиболее актуален?

Мое клиентское приложение будет часто вызывать хранимые процедуры постгреса с разными видами возврата (void в том числе).

Кто что использует в "боевых" нагруженных проектах?

Ivan Dubovik

unread,
Jun 12, 2009, 7:02:10 AM6/12/09
to Erlang в России
Используем https://svn.process-one.net/ejabberd-modules/pgsql/trunk/
Работает отлично, но надо поправить одну небольшую (буквально пара
строк) багофичу -- не умеет работает с NULL.

Aleksey Kishkin

unread,
Jun 12, 2009, 10:02:14 AM6/12/09
to erlang-...@googlegroups.com
А мне он что-то не приглянулся.. Я перед использованием его помучил на разных ситуациях, и он  просто ушел в бесконечную рекурсию когда я делал сплошные update и выдернул сетевой шнур до постгреса. 

Так что я остановился на epgsql

Alexey Kishkin


12 июня 2009 г. 21:02 пользователь Ivan Dubovik <neh...@gmail.com> написал:

Ivan Dubovik

unread,
Jun 12, 2009, 12:31:04 PM6/12/09
to Erlang в России
У нас с 4000 апдейтов в минуту справляется без проблем.

On Jun 12, 5:02 pm, Aleksey Kishkin <aleksey.kish...@gmail.com> wrote:
> А мне он что-то не приглянулся.. Я перед использованием его помучил на
> разных ситуациях, и он  просто ушел в бесконечную рекурсию когда я делал
> сплошные update и выдернул сетевой шнур до постгреса.
>
> Так что я остановился на epgsql
>
> Alexey Kishkin
>

> 12 июня 2009 г. 21:02 пользователь Ivan Dubovik <nehr...@gmail.com> написал:
>
> > Используемhttps://svn.process-one.net/ejabberd-modules/pgsql/trunk/

Aleksey Kishkin

unread,
Jun 12, 2009, 12:34:18 PM6/12/09
to erlang-...@googlegroups.com
Дело не в скорости. К скорости как раз нареканий нет.. Дело в зацикливании в случае сетевых проблем до постгреса.

Alexey Kishkin


13 июня 2009 г. 2:31 пользователь Ivan Dubovik <neh...@gmail.com> написал:

Дмитрий Омелечко

unread,
Jun 13, 2009, 4:01:29 PM6/13/09
to erlang-...@googlegroups.com
на сколько я понял pgsql не умеет аутентифицироваться по crypt?

12 июня 2009 г. 19:34 пользователь Aleksey Kishkin <aleksey...@gmail.com> написал:

edbond

unread,
Jun 19, 2009, 7:20:38 AM6/19/09
to Erlang в России
где можно посмотреть NULL-патч?

я голосую за epgsql.

On 13 июн, 23:01, Дмитрий Омелечко <dvar...@gmail.com> wrote:
> на сколько я понял pgsql не умеет аутентифицироваться по crypt?
>
> 12 июня 2009 г. 19:34 пользователь Aleksey Kishkin <

> aleksey.kish...@gmail.com> написал:


>
> > Дело не в скорости. К скорости как раз нареканий нет.. Дело в зацикливании
> > в случае сетевых проблем до постгреса.
>
> > Alexey Kishkin
>

> > 13 июня 2009 г. 2:31 пользователь Ivan Dubovik <nehr...@gmail.com>написал:

Ivan Dubovik

unread,
Jun 19, 2009, 11:36:18 AM6/19/09
to Erlang в России
Index: pgsql_util.erl
===================================================================
--- pgsql_util.erl (revision 987)
+++ pgsql_util.erl (working copy)
@@ -170,6 +170,10 @@
<<Len:32/integer, Data:Len/binary, Rest/binary>>,
Descs) when N >= 0 ->
datacoldescs(N-1, Rest, [Data|Descs]);
+datacoldescs(N,
+ <<-1:32/integer-signed, Rest/binary>>,
+ Descs) ->
+ datacoldescs(N-1, Rest, [null|Descs]);
datacoldescs(_N, _, Descs) ->
lists:reverse(Descs).

Index: pgsql_proto.erl
===================================================================
--- pgsql_proto.erl (revision 987)
+++ pgsql_proto.erl (working copy)
@@ -366,7 +366,14 @@
process_squery_cols(Log) ->
receive
{pgsql, {data_row, Row}} ->
- process_squery_cols([lists:map(fun binary_to_list/1, Row)|
Log]);
+ process_squery_cols(
+ [lists:map(
+ fun
+ (Bin) when is_binary(Bin) ->
+ binary_to_list(Bin);
+ (null) ->
+ null
+ end, Row)|Log]);
{pgsql, {command_complete, Command}} ->
{ok, Command, lists:reverse(Log)}
end.

On Jun 19, 2:20 pm, edbond <edb...@gmail.com> wrote:
> где можно посмотреть NULL-патч?

Sergey Samokhin

unread,
Jul 25, 2009, 4:13:29 PM7/25/09
to erlang-...@googlegroups.com
А мне он что-то не приглянулся.. Я перед использованием его помучил на разных ситуациях, и он  просто ушел в бесконечную рекурсию когда я делал сплошные update и выдернул сетевой шнур до постгреса. 

У ребят из ProcessOne в дереве SVN спрятана ветка gen_fsm_rewrite (она же pgsql2), которая развивается быстрее pgsql (но гораздо медленнее epgsql) - можно попробовать на ней:

https://forge.process-one.net/browse/ejabberd-modules/pgsql/branches/gen_fsm_rewrite
 
Так что я остановился на epgsql

Вообще-то я тоже =)

--
Sergey Samokhin
Reply all
Reply to author
Forward
0 new messages