After I posted the question, I realised my mistake 😅. I was using the pg gem in Ruby to run the SQL "SELECT encode('123\000\001', 'base64')", the double quotes ensure the `\0` will be interpreted as a null byte hence throwing the error. Sorry, my mistake!
Regards, Maarten Op ma 1 jul. 2019 om 11:02 schreef Daniel Gustafsson <dan...@yesql.se>: > > On 29 Jun 2019, at 12:45, PG Doc comments form <nore...@postgresql.org> > wrote: > > > > The following documentation comment has been logged on the website: > > > > Page: https://www.postgresql.org/docs/10/functions-string.html > > Description: > > > > Either I'm doing something wrong or the example `encode('123\000\001', > > 'base64')` will always result in a parsing error "string contains null > > byte”. > > I think it’s something in the former category, the example works fine: > > db=# select encode('123\000\001', 'base64'); > encode > ---------- > MTIzAAE= > (1 row) > > How are you executing the example, via psql, another client or in some > other > way? Is the data perhaps being in some preprocessed along the way before > it > reaches postgres? If you copy/paste it in psql, does that work? > > cheers ./daniel