| From: | Mahendra Singh Thalor <mahi6run(at)gmail(dot)com> |
|---|---|
| To: | tushar <tushar(dot)ahuja(at)enterprisedb(dot)com> |
| Cc: | jian he <jian(dot)universality(at)gmail(dot)com>, Vaibhav Dalvi <vaibhav(dot)dalvi(at)enterprisedb(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
| Subject: | Re: Non-text mode for pg_dumpall |
| Date: | 2026-01-16 20:09:03 |
| Message-ID: | CAKYtNApq+6Riz26So1nmXkRpL_7o868+r6i=wxQ+AgGQ4oSLig@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Thanks Tushar for the testing.
On Wed, 7 Jan 2026 at 13:53, tushar <tushar(dot)ahuja(at)enterprisedb(dot)com> wrote:
>
>
>
> On Tue, Jan 6, 2026 at 11:56 AM Mahendra Singh Thalor <mahi6run(at)gmail(dot)com> wrote:
>>
>>
>>
>>
>> We have another thread for this. We have patches also. Last year, we
>> planned to block these databases at creation time.
>>
>> >
>> > It's probably harmless, we connect to the databases further down to do actual work. But it's also not nice. The toc.glo seems to have a bunch of extraneous entries of type COMMENT and CONNECT. Why is that? As far as poible this should have output pretty much identical to a plain pg_dumpall.
>> >
>> >
>> > cheer
>> >
>> >
>> > andrew
>>
Thanks Andrew for the feedback.
In the attached patch, I fixed some comments. In the next version, I
will try to make it much identical to a plain pg_dumpall.
>> If we don't dump those comments in non-text format, then the output of
>> "pg_restore -f filename dump_non_text" will not be the same as the
>> plain dump of pg_dumpall.
>>
>> Here, I am attaching an updated patch for the review and testing.
>>
>
> Hi Mahendra,
>
> I found a scenario in which the table is not restored if --transaction-size switch is used at the time of pg_restore operation
>
> Please refer this scenario:
> Case A --pg_restore operation with "--transaction-size" against the dump (taken using pg_dump) -
> create a table ( create table t(n int); )
> perform pg_dump ( ./pg_dump -Ft postgres -f xyz.tar)
> create a database (create database test;)
> perform pg_restore using switch "--transaction-size" ( ./pg_restore --transaction-size=1 -d test xyz.tar)
> table is restored into test database
>
> Case B --pg_restore operation with "--transaction-size" against the dump (taken using pg_dumpall) -
> create a table ( create table t(n int); )
> perform pg_dumpall ( ./pg_dumpall -Ft -f abc.tar)
> create a new cluster, start the server against a different port
> perform pg_restore using switch "--transaction-size" (./pg_restore -Ft --transaction-size=10 -d postgres abc.tar -p 9000 -C)
> table is not restored
>
> if i remove --transaction-size switch then this works.
>
> regards,
>
Fixed.
On Mon, 12 Jan 2026 at 13:39, tushar <tushar(dot)ahuja(at)enterprisedb(dot)com> wrote:
>
>
>
> On Tue, Jan 6, 2026 at 11:56 AM Mahendra Singh Thalor <mahi6run(at)gmail(dot)com> wrote:
>>
>>
>> Here, I am attaching an updated patch for the review and testing.
>>
>> Note: some of the review comments are still not fixed. I am working on
>> those and will post an updated patch.
>>
> Hi Mahendra,
> Please refer this scenario - if we are using with "--jobs" switch then getting an error at the time of restore
>
> Create a table ( create table t(n int); insert into t values (1); )
> Perform pg_dumpall ( ./pg_dumpall -Fd -f abc1.dr )
> Create a new cluster, start the server against a different port
> Perform pg_restore using switch "--jobs 4 " (./pg_restore -j 4 -d postgres abc1.dr/ -p 9000 -C )
>
> "
> [edb(at)1a1c15437e7c bin]$ ./pg_restore -j 4 -d postgres abc1.dr/ -p 9000 -C
> pg_restore: error: could not execute query: ERROR: role "edb" already exists
> Command was: CREATE ROLE edb;
> ALTER ROLE edb WITH SUPERUSER INHERIT CREATEROLE CREATEDB LOGIN REPLICATION BYPASSRLS;
>
>
> pg_restore: error: could not execute query: ERROR: syntax error at or near "\"
> LINE 1: \connect template1
> ^
> Command was: \connect template1
>
>
>
> pg_restore: error: could not execute query: ERROR: syntax error at or near "\"
> LINE 1: \connect postgres
> ^
> Command was: \connect postgres
>
>
>
> pg_restore: warning: errors ignored on restore: 3
> [edb(at)1a1c15437e7c bin]$
> "
>
> regards,
Fixed this syntax error but user error is still there for parallel
mode(for non-parallel, fixed). This will be fixed in the next version.
Here, I am attaching an updated patch for the review and testing.
--
Thanks and Regards
Mahendra Singh Thalor
EnterpriseDB: http://www.enterprisedb.com
| Attachment | Content-Type | Size |
|---|---|---|
| v14_17012026-Non-text-modes-for-pg_dumpall-correspondingly-change.patch | application/octet-stream | 90.9 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Nico Williams | 2026-01-16 20:35:36 | Re: Hackorum - a new mailing list frontend |
| Previous Message | Alexander Lakhin | 2026-01-16 20:00:00 | Re: Issues with ON CONFLICT UPDATE and REINDEX CONCURRENTLY |