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/>

Reply via email to