On 2026-01-02 Fr 2:57 AM, tushar wrote:


On Fri, Dec 12, 2025 at 9:47 PM Mahendra Singh Thalor <[email protected]> wrote:


    > [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 Mahendra , that was very helpful.

Please refer this scenario where i am getting error like:
"psql:output_script4.sql:95: error: backslash commands are restricted; only \unrestrict is allowed"
if i run the .sql file  generated by pg_restore command

Steps to reproduce:
./pg_dumpall  -Ft -f  dump.tar
./pg_restore -Ft dump.tar  -C -v -f output_script.sql
run this .sql file against a new cluster ( \i output.script.sql)
restore will be done successfully but there are a few error like this
psql:output_script4.sql:95: error: backslash commands are restricted; only \unrestrict is allowed

Is this expected?


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.


cheers


andrew


--
Andrew Dunstan
EDB:https://www.enterprisedb.com

Reply via email to