Re: Postgres Pain Points 2 ruby / node language drivers - Mailing list pgsql-general

From Melvin Davidson
Subject Re: Postgres Pain Points 2 ruby / node language drivers
Date
Msg-id CANu8FiwcOF9P3C=dpsN3tL6qWq+RFx9f1jXi2tY=+DGZKyjAAg@mail.gmail.com
Whole thread Raw
In response to Re: Postgres Pain Points 2 ruby / node language drivers  (Andreas Joseph Krogh <andreas@visena.com>)
List pgsql-general


On Thu, Aug 11, 2016 at 4:20 PM, Andreas Joseph Krogh <andreas@visena.com> wrote:
På torsdag 11. august 2016 kl. 19:13:08, skrev support-tiger <support@tigernassau.com>:
A database is only as good as the ability to use it.  Using ORM's with
Postgres seems dumb, like having a Ferrari but only allowed to drive 25
kmh. Really, for getting data in and out with Postgres, SQL is pretty
simple. The ORM abstractions take as much effort as simply writing
direct SQL statements and convenience functions with straight sql.
Ruby:  The "pg" driver seems to be tweaked to work okay with active
record, and maybe Sequel, but we are having problems with with straight
ruby/sinatra.  (see comments above re ORM's).   Since we changed to
Fedora and Ruby 2.3, we are now having breaking connections and JSONB
query problems.  This could be from lack of clear docs and examples - we
cant' find any good examples or tutorials with JSONB. It seems with this
driver it is Rails or the highway.

Nodejs:  The docs and tutorials for "node-postgres" are a mess.  The
github readme, examples, and wikis are all different.  Then there is
"native" and "pooling" and prepared statement alternatives. Callback
hell is bad enough, then to have lots of different approaches. 
Async/Await should help this issue (whenever it arrives in Node) but
meanwhile, it's a painful struggle.  Whatever examples exist are for
such trivial use, they fall short of helping with real-life examples,
like sequential results.

Python:  The Postgres team supported driver psycopg2 seems to work great
(but we really don't want to rewrite lots of code into python

It would be great if the Ruby and Node drivers can be brought under the
Postgres team umbrella and make them as reliable and clearly documented
as the Python or jdbc drivers.
 
I cannot not comment on this. Saying that ORM seems dumb, and working with PG using ORM does not fly, is a very good recipe for not being taken seriously. Of course you can make an ORM hose your DB, but any developer could just as easily write SQL which does the same. Also, remember that PG is based on volunteer effort and if drivers for some languages are more mature and better supported than others, that's because core-pg-developers or someone in "the inner circle", or someone else, has use for them. Just because language X or framework Y popus up doesn't mean the PG-project should maintain drivers for them or support them.
 
So - yes, it would be great if all the drivers for all languages would be made as reliable and clearly documented as the most supported ones.
 
--
Andreas Joseph Krogh
CTO / Partner - Visena AS
 
>Nodejs:  The docs and tutorials for "node-postgres" are a mess.

I blatantly disagree with your comment above. It sounds as if you are just making an excuse for not reading them. There are also many fine books that have been written
that cover PostgreSQL for novices and advanced users. No one is going to spoon feed you and there is no such thing as a "Vulcan Mind Meld" to give you instant knowledge.
Like any fine tool, you have to spend some time to learn how to use it properly.

--
Melvin Davidson
I reserve the right to fantasize.  Whether or not you
wish to share my fantasy is entirely up to you.

Attachment

pgsql-general by date:

Previous
From: Jeff Janes
Date:
Subject: Re: Postgres Pain Points: 1 pg_hba conf
Next
From: John R Pierce
Date:
Subject: Re: Postgres Pain Points: 1 pg_hba conf