Re: [PATCH] PGSERVICEFILE as part of a normal connection string

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Ryo Kanbayashi <kanbayashi.dev@gmail.com>
Cc: Torsten Förtsch <tfoertsch123@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2025-06-04T04:42:06Z
Lists: pgsql-hackers
On Sun, Jun 01, 2025 at 09:36:08PM +0900, Ryo Kanbayashi wrote:
> Strictly speaking, in a Windows environment, a path containing a
> backslash is stored in the $td variable, so the value of the
> $srvfile_valid variable, which contains that path, also needs to be
> converted.
> If conversion is not performed, this test will not work correctly in a
> Windows environment.
> And just because a path string is included does not necessarily mean
> that conversion is necessary.
> 
> But it's difficult to describe this succinctly...

+# Backslashes escaped path string for getting collect result at concatenation
+# for Windows environment

I could suggest a simpler sentence here:
"Use correct escaped path for Windows."

Worth noting a few things reported by a `git diff --check`.

+char *
+PQserviceFile(const PGconn *conn)

All these APIs are public and need to be documented.

Another thing that could be added on top of the rest is a psql
variable called SERVICEFILE, and we would be rather feature complete,
with:
- Support in SyncVariables(), as in psql/command.c.
- Some documentation as well for the new psql variable, mapping with
the existing SERVICE.
- Perhaps a shortcut for PROMPT?
- Use of your new libpq API PQserviceFile().
This could be a patch built on top of the introduction of the core API
for the service file.
--
Michael

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. psql: Add variable SERVICEFILE

  2. libpq: Add "servicefile" connection option

  3. libpq: Add TAP test for nested service file

  4. libpq: Fix some issues in TAP tests for service files

  5. docs: Fix column count attribute in table

  6. libpq: Add TAP tests for service files and names