Re: Extensibility of the PostgreSQL wire protocol
Jan Wieck <jan@wi3ck.info>
From: Jan Wieck <jan@wi3ck.info>
To: Hannu Krosing <hannuk@google.com>
Cc: Peter Eisentraut <peter.eisentraut@enterprisedb.com>,
Kuntal Ghosh <kuntalghosh.2007@gmail.com>,
Dave Cramer <davecramer@postgres.rocks>, Robert Haas
<robertmhaas@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>,
"Jonah H. Harris" <jonah.harris@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-03-05T01:38:00Z
Lists: pgsql-hackers
On 3/4/21 7:38 PM, Hannu Krosing wrote: > On Thu, Mar 4, 2021 at 9:55 PM Jan Wieck <jan@wi3ck.info> wrote: >> but the whole thing was developed that way from the beginning and >> it is working. I don't have a definitive date when that code will be >> presented. Kuntal or Prateek may be able to fill in more details. > > Are you really fully replacing the main loop, or are you running a second > main loop in parallel in the same database server instance, perhaps as > a separate TDS_postmaster backend ? > > Will the data still also be accessible "as postgres" via port 5432 when > TDS/SQLServer support is active ? The individual backend (session) is running a different main loop. A libpq based client will still get the regular libpq and the original PostgresMain() behavior on port 5432. The default port for TDS is 1433 and with everything in place I can connect to the same database on that port with Microsoft's SQLCMD. The whole point of all this is to allow the postmaster to listen to more than just 5432 and have different communication protocols on those *additional* ports. Nothing is really *replaced*. The parts of the backend, that do actual socket communication, are just routed through function pointers so that an extension can change their behavior. Regards, Jan -- Jan Wieck Principle Database Engineer Amazon Web Services