On Wed, Jan 29, 2025 at 9:55 PM Mahendra Singh Thalor <mahi6...@gmail.com> wrote:
> Hi, > While doing some testing with pg_dumpall, I noticed one weird behaviour. > > While we create the database, we are allowing the database name with a new > line (if name is in double quote). > *For example*: > >> postgres=# create database "dbstr1; >> dbstr 2"; >> CREATE DATABASE >> postgres=# > > Here, the database name is in 2 lines. > > With the help of pg_dumpall, I tried to dump but I am getting an error for > the new line. > > -- >> -- Database "dbstr1; >> dbstr 2" dump >> -- >> >> shell command argument contains a newline or carriage return: " >> dbname='dbstr1; >> dbstr 2'" >> > > After this message, we are stopping the dump. > I have reproduced and verified the same.The reason is in runPgDump during appendShellString for forming the pg_dump command , in appendShellStringNoError we are considering the string as invalid if it has '\n' and '\r'. > > I think, if we are allowing new lines in the db name, then we should dump > it. > Agreed. Regards, Srinath Reddy Sadipiralla, EDB: https://www.enterprisedb.com <http://www.enterprisedb.com/>