Re: To take backup of Postgresql Database without large objects
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.
What wrong I'm doing? Couldn't figure it out. Any help is appreciated.
Happiness Always
BKR Sivaprakash
Import Notes
Reference msg id not found: 1477036526.178965.1744376140698.ref@mail.yahoo.com
On Fri, Apr 11, 2025 at 8:56 AM sivapostgres@yahoo.com <
sivapostgres@yahoo.com> wrote:
Hello,
Using PostgreSQL 15.1, compiled by Visual C++ build 1914, 64-bit in
Windows 10.
That's 11 patch releases behind current.
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" demo6the 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" demo6also, which also included the bytea field.
What wrong I'm doing? Couldn't figure it out. Any help is appreciated.
The manual explicitly states what you're doing wrong.
https://www.postgresql.org/docs/15/app-pgdump.html
--
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!
On 4/11/25 05:55, sivapostgres@yahoo.com 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" demo6the 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" demo6also, 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
adrian.klaver@aklaver.com
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 <adrian.klaver@aklaver.com> wrote:
On 4/11/25 05:55, sivapostgres@yahoo.com 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" demo6the 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" demo6also, 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
adrian.klaver@aklaver.com
On Friday, April 11, 2025, sivapostgres@yahoo.com <sivapostgres@yahoo.com>
wrote:
bytea field also included in the backup.
Bytea typed columns are completely separate things than large objects. You
cannot exclude individual columns using pg_dump.
David J.
Thanks.Then I've misunderstood large objects. Is there document to explain large objects? We store images in bytea column.
Happiness Always
BKR Sivaprakash
On Saturday 12 April, 2025 at 10:44:21 am IST, David G. Johnston <david.g.johnston@gmail.com> wrote:
On Friday, April 11, 2025, sivapostgres@yahoo.com <sivapostgres@yahoo.com> wrote:
bytea field also included in the backup.
Bytea typed columns are completely separate things than large objects. You cannot exclude individual columns using pg_dump.
David J.
On Apr 11, 2025, at 22:34, sivapostgres@yahoo.com wrote:
Then I've misunderstood large objects. Is there document to explain large objects?
Large objects are a relatively old and now little-used feature of PostgreSQL that predates the bytea type:
https://www.postgresql.org/docs/current/largeobjects.html
As was mentioned, you cannot exclude individual columns with pg_dump; you have to exclude the entire table.
On 4/11/25 22:06, sivapostgres@yahoo.com wrote:
Either my command should be wrong or I'm missing something.
This was explained in my post as quoted below.
Happiness Always
BKR SivaprakashOn Friday 11 April, 2025 at 08:31:31 pm IST, Adrian Klaver
<adrian.klaver@aklaver.com> wrote:On 4/11/25 05:55, sivapostgres@yahoo.com <mailto:sivapostgres@yahoo.com>
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" demo6the 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" demo6also, 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
<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
<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
adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com>
--
Adrian Klaver
adrian.klaver@aklaver.com
On Friday, April 11, 2025, Adrian Klaver <adrian.klaver@aklaver.com> wrote:
On 4/11/25 22:06, sivapostgres@yahoo.com wrote:
Either my command should be wrong or I'm missing something.
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.
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 <david.g.johnston@gmail.com> wrote:
On Friday, April 11, 2025, Adrian Klaver <adrian.klaver@aklaver.com> wrote:
On 4/11/25 22:06, sivapostgres@yahoo.com wrote:
Either my command should be wrong or I'm missing something.
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.
On 4/11/25 23:05, David G. Johnston wrote:
On Friday, April 11, 2025, Adrian Klaver <adrian.klaver@aklaver.com
<mailto:adrian.klaver@aklaver.com>> wrote:On 4/11/25 22:06, sivapostgres@yahoo.com
<mailto:sivapostgres@yahoo.com> wrote:Either my command should be wrong or I'm missing something.
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?
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.
David J.
--
Adrian Klaver
adrian.klaver@aklaver.com