On Monday, 15 January 2018 at 02:28:29 UTC, Matthias Klumpp wrote:
In any case, please don't start another Postgres library and
consider contributing to one of the existing ones, so that we
maybe have one really awesome, 100% complete library at some
point.
If, on the other hand, your goal is to learn about the
low-level Postgres interface and not just to have a Postgres
interface for an application you develop, by all means, play
with it :-)
At this point, I am indeed learning about low-level Postgres
interfaces (but not so low-level as the client-server protocol)
as a way to understand the challenges of interfacing D to C.
However, as part of the Pyrseas open source project, which I
maintain, I had started to create a Postgres interface in Python
inspired by The Third Manifesto, as opposed to ORMs like
SQLAlchemy (see
https://pyrseas.wordpress.com/2013/03/07/a-pythonic-ttm-inspired-interface-to-postgresql-requirements/). I got criticized for "reinventing the wheel" but I believe TTM, if properly done, is quite different from an ORM.
I understand your concern about not starting another PG library.
From the cursory investigation of the existing libraries, I think
they span a spectrum, with ddb at one end (low-level protocol),
then derelict-pq (low-level binding over libpq), ddbc at the
opposite end (multi-DBMS support) and several others in between.
So I guess the real problem is with the proliferation in the
latter group.