Subject: Re: To take backup of Postgresql Database without large objects

From: Adrian Klaver <[email-masked]>
Date: Fri, 11 Apr 2025 08:01:04 -0700

On 4/11/25 05:55, [email-masked] wrote:
> Hello,
> 
> Using PostgreSQL 15.1, compiled by Visual C++ build 1914, 64-bit in 
> Windows 10.
> 
> Trying to take backup of a database, using pg_dump, where one table 
> contains bytea datatype, which I don't want to include in the backup.
> 
> My command was:
> "E:\DBBackup\bin\pg_dump.exe"  -h 192.168.1.1 -p 5432 -U <username> 
> --no-blobs -F c -v -f "E:\DBBackup\demo6_110420251637.bak" demo6
> 
> the backup includes the bytea field also.
> 
> I tried with
> "E:\DBBackup\bin\pg_dump.exe"  -h 192.168.1.1 -p 5432 -U <username> -B 
> -F c -v -f "E:\DBBackup\demo6_110420251637.bak" demo6
> 
> also, which also included the bytea field.

1) Short version

Short version bytea fields != large objects.

2) Long version

 From here:

https://www.postgresql.org/docs/current/app-pgdump.html

-B
--no-large-objects
--no-blobs (deprecated)

     Exclude large objects in the dump.

     When both -b and -B are given, the behavior is to output large 
objects, when data is being dumped, see the -b documentation.

Where large objects are defined here:

https://www.postgresql.org/docs/current/largeobjects.html

> 
> What wrong I'm doing?  Couldn't figure it out.   Any help is appreciated.
> 
> Happiness Always
> BKR Sivaprakash
> 

-- 
Adrian Klaver
[email-masked]

---

From: "[email-masked]" <[email-masked]>
Date: Sat, 12 Apr 2025 05:06:09 +0000 (UTC)

I tried all the combinations, as mentioned in the documenthttps://www.postgresql.org/docs/current/app-pgdump.html

"E:\DBBackup\bin\pg_dump.exe" -h 192.168.1.1 -p 5432 -U <username> --no-blobs -F c -v -f "E:\DBBackup\demo6_110420251637.bak" demo6 

"E:\DBBackup\bin\pg_dump.exe" -h 192.168.1.1 -p 5432 -U <username> -B -F c -v -f "E:\DBBackup\demo6_110420251637.bak" demo6 

"E:\DBBackup\bin\pg_dump.exe" -h 192.168.1.1 -p 5432 -U <username> -B --no-blobs -F c -v -f "E:\DBBackup\demo6_110420251637.bak" demo6 

With version 15--no-large-objects  is not working.I tried with all the other combinations.  NO LUCK.
bytea field also included in the backup.   
I tried taking backup using pg_dump of version 17 also, with no luck.   [ Database version is 15 and the pg_dump version is 17 ]. 
Confirming this after restoring the backup file in a new database.   The new database contains contents from bytea field also.  
Either my command should be wrong or I'm missing something.  
Happiness Always
BKR Sivaprakash
    On Friday 11 April, 2025 at 08:31:31 pm IST, Adrian Klaver <[email-masked]> wrote:  

1) Short version

2) Long version

 From here:

-B
--no-large-objects
--no-blobs (deprecated)

---

From: Adrian Klaver <[email-masked]>
Date: Fri, 11 Apr 2025 23:00:37 -0700

> Either my command should be wrong or I'm missing something.

This was explained in my post as  quoted below.

> On 4/11/25 05:55, [email-masked] <mailto:[email-masked]> 
> wrote:
>  > Hello,
>  >
> <https://www.postgresql.org/docs/current/app-pgdump.html>
> 
> -B
> --no-large-objects
> --no-blobs (deprecated)
> 
> <https://www.postgresql.org/docs/current/largeobjects.html>
> 
> 
> 
> 
> 
>  >
> [email-masked] <mailto:[email-masked]>
> 
> 
> 
>

---

From: "David G. Johnston" <[email-masked]>
Date: Fri, 11 Apr 2025 23:05:49 -0700

> This was explained in my post as  quoted below.

Yeah, the short version.  Then you added a long version that just confused
the issue.  Why point out exclude blobs if you know they are using bytea?

David J.

---

From: "[email-masked]" <[email-masked]>
Date: Sat, 12 Apr 2025 07:11:02 +0000 (UTC)

Thanks for the clarification.
bytea != large object
Happiness Always
BKR Sivaprakash
    On Saturday 12 April, 2025 at 11:36:11 am IST, David G. Johnston <[email-masked]> wrote:  

Yeah, the short version.  Then you added a long version that just confused the issue.  Why point out exclude blobs if you know they are using bytea?
David J.

---

From: Adrian Klaver <[email-masked]>
Date: Sat, 12 Apr 2025 08:22:15 -0700

On 4/11/25 23:05, David G. Johnston wrote:
> On Friday, April 11, 2025, Adrian Klaver <[email-masked] 
> <mailto:[email-masked]>> wrote:
> 
>     On 4/11/25 22:06, [email-masked]
>     <mailto:[email-masked]> wrote:
> 
> Yeah, the short version.  Then you added a long version that just 
> confused the issue.  Why point out exclude blobs if you know they are 
> using bytea?

To show what --no-blobs is actually doing versus what the OP thought it 
was doing, along with link to large object docs to show they are not bytea.