9.4.1. format
Hackorum builds and tests every patch posted to the lists, not only commitfest submissions. This is Hackorum's own CI rather than the PostgreSQL project's, and it is still under testing - please report anything that looks wrong.
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/18/functions-string.html
Description:
Here are some examples of the basic format conversions:
```html
SELECT format('INSERT INTO %I VALUES(%L)', 'locations', 'C:\Program Files');
Result: INSERT INTO locations VALUES('C:\Program Files')
```
```sql
db=# SELECT format('INSERT INTO %I VALUES(%L)', 'locations', 'C:\Program
Files');
format
----------------------------------------------------
INSERT INTO locations VALUES(E'C:\\Program Files')
```
On Saturday, September 19, 2026, PG Doc comments form <
noreply@postgresql.org> wrote:
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/18/functions-string.html
Description:Here are some examples of the basic format conversions:
```html
SELECT format('INSERT INTO %I VALUES(%L)', 'locations', 'C:\Program
Files');
Result: INSERT INTO locations VALUES('C:\Program Files')
``````sql
db=# SELECT format('INSERT INTO %I VALUES(%L)', 'locations', 'C:\Program
Files');format
----------------------------------------------------
INSERT INTO locations VALUES(E'C:\\Program Files')
```
Indeed, the example doesn’t reflect the actual output since the presence of
a backslash prompts format to produce syntax for an escape string.
I don’t see a point for explaining when it may choose to write an escape
string but the examples should match reality. I’d back-patch this to
supported versions on that basis.
David J.
I don’t see a point for explaining when it may choose to write an escape
string but the examples should match reality.
I’d back-patch this to supported versions on that basis.
Agree with you, patch attached.
0001 is for master
0002 is for backport
Thanks,
Shihao