Re: Non-text mode for pg_dumpall
Mahendra Singh Thalor <mahi6run@gmail.com>
From: Mahendra Singh Thalor <mahi6run@gmail.com>
To: tushar <tushar.ahuja@enterprisedb.com>
Cc: Vaibhav Dalvi <vaibhav.dalvi@enterprisedb.com>,
pgsql-hackers@lists.postgresql.org
Date: 2025-12-12T16:17:00Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add non-text output formats to pg_dumpall
- 763aaa06f034 19 (unreleased) landed
-
Improve pg_dump/pg_dumpall help synopses and terminology
- dec6643487bb 18.0 cited
-
Non text modes for pg_dumpall, correspondingly change pg_restore
- 1495eff7bdb0 18.0 landed
-
Doc: manually break lines in wide UUID examples.
- a6524105d20b 18.0 cited
On Fri, 12 Dec 2025 at 19:10, tushar <tushar.ahuja@enterprisedb.com> wrote: > > > > On Thu, Dec 11, 2025 at 9:39 PM Mahendra Singh Thalor <mahi6run@gmail.com> wrote: >> >> >> >> Here, in our case, as the cluster already has a role with the current >> user in restore, we are reporting error "pg_restore: error: could not >> execute query: ERROR: role "role" already exists" and after this >> error, restore is exiting. >> >> If you restore using a different role, then you will not get any error >> and the full cluster will be restored. I will add some handling to >> ignore the "CREATE ROLE current_user" command in pg_restore. >> > Thanks Mahendra, Could you please also add some error message for this below > pg_restore command: > postgres=# create table t(n int); > CREATE TABLE > postgres=# insert into t values (1),(10),(100); > INSERT 0 3 > Perform pg_dump: ./pg_dump -Ft -f a.a1 postgres > Perform pg_restore: /pg_restore -Ft a.a1 -f -C -v > pg_restore: creating TABLE "public.t" > pg_restore: processing data for table "public.t" > [edb@1a1c15437e7c bin]$ ./psql postgres > psql (19devel) > Type "help" for help. > postgres=# \dt > Did not find any tables. > postgres=# > > regards, > Hi Tushar, This is the handling of command line arguments. In code, after "-f", we expect file name, but here you are using "-C" which will be considered as file name. This is the case for all the command line arguments. If pg_restore has the "-f" option, then the "-d database" name can't be given and data will be copied into "-f filename" (it will not be restored in the cluster). Please let me know if you still have some doubts. -- Thanks and Regards Mahendra Singh Thalor EnterpriseDB: http://www.enterprisedb.com