pgsql-general
❮
About backups
- Jump to comment-1felix.quintgz@yahoo.comJan 26, 2026, 4:01 PM UTCIs there a way to implement the SQL Server command 'BACKUP DATABASE'?
Is there a way to see the restores performed on a database?
Is there an equivalent table to msdb.dbo.restorehistory in SQL Server?
Is there a way to implement an equivalent if one doesn't exist?
Thank you very much.
Regards
Félix- Jump to comment-1Laurenz Albe<laurenz.albe@cybertec.at>Jan 26, 2026, 4:05 PM UTCOn Mon, 2026-01-26 at 16:01 +0000, felix.quintgz@yahoo.com wrote:
Is there a way to implement the SQL Server command 'BACKUP DATABASE'?
Probably not. What does it do?Is there a way to see the restores performed on a database?
Maybe your backup system has a log?Is there an equivalent table to msdb.dbo.restorehistory in SQL Server?
Judging from the name, no.Is there a way to implement an equivalent if one doesn't exist?
I don't think so.
Different database management system work in different ways, sorry.
Yours,
Laurenz Albe - Jump to comment-1Adrian Klaver<adrian.klaver@aklaver.com>Jan 26, 2026, 4:10 PM UTCOn 1/26/26 08:01, felix.quintgz@yahoo.com wrote:
Is there a way to implement the SQL Server command 'BACKUP DATABASE'?
Not from within the Postgres instance.
You will need to use:
https://www.postgresql.org/docs/current/app-pgdump.htmlIs there a way to see the restores performed on a database?
Is there an equivalent table to msdb.dbo.restorehistory in SQL Server?
From what I understand there are various ways of doing this in SQL Server, which way are you interested in?
Is there a way to implement an equivalent if one doesn't exist?Thank you very much.
Regards
Félix
adrian.klaver@aklaver.com
-- Adrian Klaver- Jump to comment-1felix.quintgz@yahoo.comJan 26, 2026, 5:44 PM UTCAny method that allows me to know who accessed the database and when.
This is necessary for auditing the database. It's a requirement for financial applications.
I can't use a table within the database because it gets overwritten upon restoration.
I don't have admin access to the database server; in SQL Server, I resolved this using signed stored procedures.
On Monday, January 26, 2026 at 11:10:50 AM GMT-5, Adrian Klaver <adrian.klaver@aklaver.com> wrote:
On 1/26/26 08:01, felix.quintgz@yahoo.com wrote:Is there a way to implement the SQL Server command 'BACKUP DATABASE'?
Not from within the Postgres instance.
You will need to use:
https://www.postgresql.org/docs/current/app-pgdump.html
From what I understand there are various ways of doing this in SQL
Is there a way to see the restores performed on a database?
Is there an equivalent table to msdb.dbo.restorehistory in SQL Server?
Is there a way to implement an equivalent if one doesn't exist?
Server, which way are you interested in?
--
Thank you very much.
Regards
Félix
Adrian Klaver
adrian.klaver@aklaver.com- Jump to comment-1rob stone<floriparob@tpg.com.au>Jan 27, 2026, 3:00 AM UTCOn Mon, 2026-01-26 at 17:44 +0000, felix.quintgz@yahoo.com wrote:
A user has access to the application and logs on. You record that in a
Any method that allows me to know who accessed the database and when.
This is necessary for auditing the database. It's a requirement for
financial applications.
I can't use a table within the database because it gets overwritten
upon restoration.
table of successful log-ons. You also need a table of unsuccessful log-
on attempts. E.g, mis-typed password, access window expired, etc.
None of that data is lost when a database restore occurs.
You haven't said if you intend doing hot backups or cold backups.
Have you read Chapter 25 of the documentation?I don't have admin access to the database server; in SQL Server, I
Most IT departments have a person known as the DBA. They are involved
resolved this using signed stored procedures.
in the design of the database to fit the application and after it goes
live are usually responsible for checking the back-ups.
You haven't stated what your role is with the development of this
application.
Rob- Jump to comment-1felix.quintgz@yahoo.comJan 28, 2026, 8:28 PM UTCThe application is used in environments where there are no dba; in fact, the requirements specify that a dba cannot have access to the database, so signed records are used, trigger to prevent data changes, protection of protection triggers, etc.
Too many cases of theft.
My role is DBA and developer at my organization, but the application is distributed to other companies.
The old application has been running unattended for over 15 years without problems in many companies without a DBA.
The certification body simply said it was written in a very outdated language and revoked its certification. Now I'm reprogramming it in a modern language and with a different database.
Almost all of my work has been with SQL Server and desktop applications.
Cold and hot backups have taken me by surprise.
In SQL Server, I could perform a backup in the middle of user activity without any problems, so from what I had read about pg_dump, it was the same, but now I have many doubts.
What happens if I start a backup in the middle of a user transaction?
The transaction can end before or after the backup ends, and it can also start before or after the backup begins.
On Monday, January 26, 2026 at 10:00:23 PM GMT-5, rob stone <floriparob@tpg.com.au> wrote:
On Mon, 2026-01-26 at 17:44 +0000, felix.quintgz@yahoo.com wrote:
A user has access to the application and logs on. You record that in a
Any method that allows me to know who accessed the database and when.
This is necessary for auditing the database. It's a requirement for
financial applications.
I can't use a table within the database because it gets overwritten
upon restoration.
table of successful log-ons. You also need a table of unsuccessful log-
on attempts. E.g, mis-typed password, access window expired, etc.
None of that data is lost when a database restore occurs.
You haven't said if you intend doing hot backups or cold backups.
Have you read Chapter 25 of the documentation?I don't have admin access to the database server; in SQL Server, I
Most IT departments have a person known as the DBA. They are involved
resolved this using signed stored procedures.
in the design of the database to fit the application and after it goes
live are usually responsible for checking the back-ups.
You haven't stated what your role is with the development of this
application.
Rob- Jump to comment-1Guillaume Lelarge<guillaume.lelarge@dalibo.com>Jan 28, 2026, 8:31 PM UTCOn 28/01/2026 21:28, felix.quintgz@yahoo.com wrote:
The application is used in environments where there are no dba; in fact, the requirements specify that a dba cannot have access to the database, so signed records are used, trigger to prevent data changes, protection of protection triggers, etc.
Too many cases of theft.My role is DBA and developer at my organization, but the application is distributed to other companies.
The old application has been running unattended for over 15 years without problems in many companies without a DBA.
The certification body simply said it was written in a very outdated language and revoked its certification. Now I'm reprogramming it in a modern language and with a different database.
Almost all of my work has been with SQL Server and desktop applications.Cold and hot backups have taken me by surprise.
In SQL Server, I could perform a backup in the middle of user activity without any problems, so from what I had read about pg_dump, it was the same, but now I have many doubts.
What happens if I start a backup in the middle of a user transaction?
The transaction can end before or after the backup ends, and it can also start before or after the backup begins.
--
Doesn't matter at all. You'll get a consistent backup.
Guillaume Lelarge
Consultant
https://dalibo.com- Jump to comment-1PetSerAl<petseral@gmail.com>Jan 29, 2026, 5:59 PM UTCOn Thu, Jan 28, 2026 at 8:32 PM Guillaume Lelarge
<guillaume.lelarge@dalibo.com> wrote:Doesn't matter at all. You'll get a consistent backup.
But be aware of not MVCC-safe commands like TRUNCATE.
If transaction with such command intersect with beginning of backup,
then it may be not consistent.
It will see effects of TRUNCATE, but will not see effects of other
commands in such transaction.- Jump to comment-1Adrian Klaver<adrian.klaver@aklaver.com>Jan 29, 2026, 6:38 PM UTCOn 1/29/26 9:58 AM, PetSerAl wrote:
On Thu, Jan 28, 2026 at 8:32 PM Guillaume Lelarge
<guillaume.lelarge@dalibo.com> wrote:
Doesn't matter at all. You'll get a consistent backup.
But be aware of not MVCC-safe commands like TRUNCATE.If transaction with such command intersect with beginning of backup,
then it may be not consistent.
It will see effects of TRUNCATE, but will not see effects of other
commands in such transaction.From here:
https://www.postgresql.org/docs/current/mvcc-caveats.html
"Some DDL commands, currently only TRUNCATE and the table-rewriting forms of ALTER TABLE, are not MVCC-safe. This means that after the truncation or rewrite commits, the table will appear empty to concurrent transactions, if they are using a snapshot taken before the DDL command committed. This will only be an issue for a transaction that did not access the table in question before the DDL command started — any transaction that has done so would hold at least an ACCESS SHARE table lock, which would block the DDL command until that transaction completes."
And the more general case described here:
https://www.postgresql.org/message-id/14781.1266626391@sss.pgh.pa.us
"My questions are: can making DDL changes during a dump cause this error? Are the queries used by pg_dump transactionally consistent, i.e. do they run in a transaction and get a single view of the database system catalogs? Other than finer coordination of jobs, how can this situation be avoided?
...
The window for this sort of thing isn't very large, because the first
thing pg_dump does is acquire AccessShareLock on every table it intends
to dump, and past that point it won't be possible for anyone to modify
the table's DDL. But it can happen.
...
"
There is a small window for this happening in any case. Read the rest of the case for suggestions to mitigate.- Jump to comment-1PetSerAl<petseral@gmail.com>Jan 29, 2026, 7:05 PM UTCOn Thu, Jan 29, 2026 at 9:37 PM Adrian Klaver <adrian.klaver@aklaver.com> wrote:
The window for this sort of thing isn't very large,
That window can be arbitrary large. It includes time waiting for locks
to be released from tables of interest.
--to reduce deadlocks take strongest lock first
--TRUNCATE requare ACCESS EXCLUSIVE
LOCK tablename;
--large amount of work
Now you have +10 seconds for the window for tablename and allSELECT pg_sleep(10); TRUNCATE tablename;
following tables in lock order.
IMHO, hidden data loss from TRUNCATE is much more sinister, than error
from ALTER TABLE.
- Jump to comment-1Christophe Pettus<xof@thebuild.com>Jan 28, 2026, 8:30 PM UTC
On Jan 28, 2026, at 12:28, felix.quintgz@yahoo.com wrote:
pg_dump takes a snapshot at the start of the dump, so the dump is consistent at a transaction boundary. Of course, only transactions that have already committed at the time of the snapshot will appear in the dump.
What happens if I start a backup in the middle of a user transaction?
The transaction can end before or after the backup ends, and it can also start before or after the backup begins.
- Jump to comment-1Ron Johnson<ronljohnsonjr@gmail.com>Jan 26, 2026, 4:53 PM UTCOn Mon, Jan 26, 2026 at 11:11 AM Adrian Klaver <adrian.klaver@aklaver.com>
wrote:On 1/26/26 08:01, felix.quintgz@yahoo.com wrote:
Is there a way to implement the SQL Server command 'BACKUP DATABASE'?
Felix,
Not from within the Postgres instance.
You will need to use:
https://www.postgresql.org/docs/current/app-pgdump.html
pg_dump is a logical export tuned for speed and multithreading. Almost
certainly not what you want.
pgbackrest is the equivalent of BACKUP DATABASE and BACKUP LOG. It's an
external program (stuffing everything in the database engine is not The
Unix Way) which typically you run from cron. Redrirect stdout and stderr to
a log file with a timestamp in the name. (That, at least, is what I've
been doing for 8 years. It works perfectly.)
pgbackrest also has an "info" option which gives you details of all the
backups currently in the repository.
Is there a way to see the restores performed on a database?
Is there an equivalent table to msdb.dbo.restorehistory in SQL Server?
Is there a way to implement an equivalent if one doesn't exist?
--
From what I understand there are various ways of doing this in SQL
Server, which way are you interested in?
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!- Jump to comment-1felix.quintgz@yahoo.comJan 26, 2026, 5:52 PM UTCI'm having a problem with this. I'm repurposing an old application written in Visual Basic 6 that did allow backups through signed stored procedures.
This is a requirement for financial applications; the user can perform a backup whenever they want, but they can't access the database.
The new application is web-based, deployed in containers, and the database server container is not the same as the application's, so I can't use pg_dump in the application, or at least I don't know how to do it.
On Monday, January 26, 2026 at 12:31:48 PM GMT-5, Ron Johnson <ronljohnsonjr@gmail.com> wrote:
On Mon, Jan 26, 2026 at 11:11 AM Adrian Klaver <adrian.klaver@aklaver.com> wrote:
On 1/26/26 08:01, felix.quintgz@yahoo.com wrote:Is there a way to implement the SQL Server command 'BACKUP DATABASE'?
Not from within the Postgres instance.
You will need to use:
https://www.postgresql.org/docs/current/app-pgdump.html
Felix, pg_dump is a logical export tuned for speed and multithreading. Almost certainly not what you want.
pgbackrest is the equivalent of BACKUP DATABASE and BACKUP LOG. It's an external program (stuffing everything in the database engine is not The Unix Way) which typically you run from cron. Redrirect stdout and stderr to a log file with a timestamp in the name. (That, at least, is what I've been doing for 8 years. It works perfectly.)
pgbackrest also has an "info" option which gives you details of all the backups currently in the repository. >Is there a way to see the restores performed on a database?
Is there an equivalent table to msdb.dbo.restorehistory in SQL Server?
Is there a way to implement an equivalent if one doesn't exist?
From what I understand there are various ways of doing this in SQL
Server, which way are you interested in?
--
Death to <Redacted>, and butter sauce.Don't boil me, I'm still alive.
<Redacted> lobster!- Jump to comment-1Ron Johnson<ronljohnsonjr@gmail.com>Jan 26, 2026, 6:22 PM UTCOn Mon, Jan 26, 2026 at 12:52 PM <felix.quintgz@yahoo.com> wrote:
I'm having a problem with this. I'm repurposing an old application written
You must change your expectations and way of thinking. *Postgresql is not
in Visual Basic 6 that did allow backups through signed stored procedures.
SQL Server*, and thus cannot be managed the same way as SQL Server. That
is a fact of life which you must accept.This is a requirement for financial applications; the user can perform a
"ssh to a Linux account dedicated to pgbackrest" within the application is
backup whenever they want, but they can't access the database.
my first thought. Note, though, that pgbackrest does not have BACKUP
DATABASE's COPYONLY feature. If you need that, pgdump is your
only option.The new application is web-based, deployed in containers, and the database
server container is not the same as the application's, so I can't use
pg_dump in the application, or at least I don't know how to do it.
On Monday, January 26, 2026 at 12:31:48 PM GMT-5, Ron Johnson <ronljohnsonjr@gmail.com> wrote:
On Mon, Jan 26, 2026 at 11:11 AM Adrian Klaver <adrian.klaver@aklaver.com>
wrote:
On 1/26/26 08:01, felix.quintgz@yahoo.com wrote:Is there a way to implement the SQL Server command 'BACKUP DATABASE'?
Not from within the Postgres instance.
You will need to use:
https://www.postgresql.org/docs/current/app-pgdump.html
Felix, pg_dump is a logical export tuned for speed and multithreading.
Almost certainly not what you want.
pgbackrest is the equivalent of BACKUP DATABASE and BACKUP LOG. It's an
external program (stuffing everything in the database engine is not The
Unix Way) which typically you run from cron. Redrirect stdout and stderr to
a log file with a timestamp in the name. (That, at least, is what I've
been doing for 8 years. It works perfectly.)
pgbackrest also has an "info" option which gives you details of all thebackups currently in the repository. >
Is there a way to see the restores performed on a database?
Is there an equivalent table to msdb.dbo.restorehistory in SQL Server?
Is there a way to implement an equivalent if one doesn't exist?
From what I understand there are various ways of doing this in SQL
Server, which way are you interested in?
--Death to <Redacted>, and butter sauce.Don't boil me, I'm still alive.
<Redacted> lobster!
--
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!- Jump to comment-1felix.quintgz@yahoo.comJan 26, 2026, 6:37 PM UTCI can't change my expectations. It's either you do it or I won't certify you, and you won't be able to use the application.
That's how a certification body works, and there's nothing I can do about it.
On Monday, January 26, 2026 at 01:23:05 PM GMT-5, Ron Johnson <ronljohnsonjr@gmail.com> wrote:
On Mon, Jan 26, 2026 at 12:52 PM <felix.quintgz@yahoo.com> wrote:I'm having a problem with this. I'm repurposing an old application written in Visual Basic 6 that did allow backups through signed stored procedures.
You must change your expectations and way of thinking. Postgresql is not SQL Server, and thus cannot be managed the same way as SQL Server. That is a fact of life which you must accept. This is a requirement for financial applications; the user can perform a backup whenever they want, but they can't access the database.
"ssh to a Linux account dedicated to pgbackrest" within the application is my first thought. Note, though, that pgbackrest does not have BACKUP DATABASE's COPYONLY feature. If you need that, pgdump is your only option.
The new application is web-based, deployed in containers, and the database server container is not the same as the application's, so I can't use pg_dump in the application, or at least I don't know how to do it.
On Monday, January 26, 2026 at 12:31:48 PM GMT-5, Ron Johnson <ronljohnsonjr@gmail.com> wrote:
On Mon, Jan 26, 2026 at 11:11 AM Adrian Klaver <adrian.klaver@aklaver.com> wrote:
On 1/26/26 08:01, felix.quintgz@yahoo.com wrote:Is there a way to implement the SQL Server command 'BACKUP DATABASE'?
Not from within the Postgres instance.
You will need to use:
https://www.postgresql.org/docs/current/app-pgdump.html
Felix, pg_dump is a logical export tuned for speed and multithreading. Almost certainly not what you want.
pgbackrest is the equivalent of BACKUP DATABASE and BACKUP LOG. It's an external program (stuffing everything in the database engine is not The Unix Way) which typically you run from cron. Redrirect stdout and stderr to a log file with a timestamp in the name. (That, at least, is what I've been doing for 8 years. It works perfectly.)
pgbackrest also has an "info" option which gives you details of all the backups currently in the repository. >Is there a way to see the restores performed on a database?
From what I understand there are various ways of doing this in SQL
Is there an equivalent table to msdb.dbo.restorehistory in SQL Server?
Is there a way to implement an equivalent if one doesn't exist?
Server, which way are you interested in?
--
Death to <Redacted>, and butter sauce.Don't boil me, I'm still alive.
<Redacted> lobster!- Jump to comment-1Christophe Pettus<xof@thebuild.com>Jan 26, 2026, 6:42 PM UTC
On Jan 26, 2026, at 10:37, felix.quintgz@yahoo.com wrote:
Can you articulate the specific requirement? I assume it's not "the database can be backed up completely by issuing an SQL command." If we know what the precise requirement is, we might be able to provide more specific guidance.
I can't change my expectations. It's either you do it or I won't certify you, and you won't be able to use the application.
That's how a certification body works, and there's nothing I can do about it.- Jump to comment-1felix.quintgz@yahoo.comJan 26, 2026, 7:24 PM UTCA full database backup is the requirement. A database restore is optional, but that's negotiable; the backup is not.
All of this must be done without access to the server or the database itself, solely through the application, and the user must have the necessary permissions within the application.
The postgresql-client option is probably the right one.
I still have the restore history part to do, but the main thing is the backup.
On Monday, January 26, 2026 at 01:42:55 PM GMT-5, Christophe Pettus <xof@thebuild.com> wrote:On Jan 26, 2026, at 10:37, felix.quintgz@yahoo.com wrote:
Can you articulate the specific requirement? I assume it's not "the database can be backed up completely by issuing an SQL command." If we know what the precise requirement is, we might be able to provide more specific guidance.
I can't change my expectations. It's either you do it or I won't certify you, and you won't be able to use the application.
That's how a certification body works, and there's nothing I can do about it.- Jump to comment-1Christophe Pettus<xof@thebuild.com>Jan 26, 2026, 8:11 PM UTC
On Jan 26, 2026, at 11:24, felix.quintgz@yahoo.com wrote:
In that case, running pgdump on the application server is probably the way to go. pgdump can produce a single file that can be used to do a full restore, and it's smaller than an equivalent bindary backup (since it includes index definitions, but not the contents of the index itself). Of course, if it's a 100GB database, you'll end up with a huge file no matter what, but nothing to do about that.
A full database backup is the requirement. A database restore is optional, but that's negotiable; the backup is not.
All of this must be done without access to the server or the database itself, solely through the application, and the user must have the necessary permissions within the application. - Jump to comment-1Adrian Klaver<adrian.klaver@aklaver.com>Jan 26, 2026, 8:02 PM UTCOn 1/26/26 11:24, felix.quintgz@yahoo.com wrote:
A full database backup is the requirement. A database restore is optional, but that's negotiable; the backup is not.
All of this must be done without access to the server or the database itself, solely through the application, and the user must have the necessary permissions within the application.The postgresql-client option is probably the right one.
FYI, in Postgres 17+ you have in the client program pg_basebackup the option to do incremental backups.
In addition there are third party tools that offer more options for backups:
https://pgbarman.org/
https://pgbackrest.org/I still have the restore history part to do, but the main thing is the backup.
On Monday, January 26, 2026 at 01:42:55 PM GMT-5, Christophe Pettus <xof@thebuild.com> wrote:
On Jan 26, 2026, at 10:37, felix.quintgz@yahoo.com wrote:
adrian.klaver@aklaver.com
I can't change my expectations. It's either you do it or I won't certify you, and you won't be able to use the application.
That's how a certification body works, and there's nothing I can do about it.
Can you articulate the specific requirement? I assume it's not "the database can be backed up completely by issuing an SQL command." If we know what the precise requirement is, we might be able to provide more specific guidance.
-- Adrian Klaver- Jump to comment-1felix.quintgz@yahoo.comJan 26, 2026, 8:16 PM UTCThank you all so much.
With what they've given me, I can continue in my job.
On Monday, January 26, 2026 at 03:02:45 PM GMT-5, Adrian Klaver <adrian.klaver@aklaver.com> wrote:
On 1/26/26 11:24, felix.quintgz@yahoo.com wrote:A full database backup is the requirement. A database restore is optional, but that's negotiable; the backup is not.
> > The postgresql-client option is probably the right one.
All of this must be done without access to the server or the database itself, solely through the application, and the user must have the necessary permissions within the application.
FYI, in Postgres 17+ you have in the client program pg_basebackup the
option to do incremental backups.
In addition there are third party tools that offer more options for backups:
https://pgbarman.org/
https://pgbackrest.org/I still have the restore history part to do, but the main thing is the backup.
On Monday, January 26, 2026 at 01:42:55 PM GMT-5, Christophe Pettus <xof@thebuild.com> wrote:
On Jan 26, 2026, at 10:37, felix.quintgz@yahoo.com wrote:
I can't change my expectations. It's either you do it or I won't certify you, and you won't be able to use the application.
That's how a certification body works, and there's nothing I can do about it.
--
Can you articulate the specific requirement? I assume it's not "the database can be backed up completely by issuing an SQL command." If we know what the precise requirement is, we might be able to provide more specific guidance.
Adrian Klaver
adrian.klaver@aklaver.com
- Jump to comment-1Ron Johnson<ronljohnsonjr@gmail.com>Jan 26, 2026, 7:30 PM UTCOn Mon, Jan 26, 2026 at 2:25 PM <felix.quintgz@yahoo.com> wrote:
A full database backup is the requirement. A database restore is optional,
Lol that's a big fat fail.
but that's negotiable;
--
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!- Jump to comment-1felix.quintgz@yahoo.comJan 26, 2026, 7:46 PM UTCI stopped arguing with the bureaucracy many years ago; I never won.
If they want a 10,000-page report, they'll get it, and that last part was a real case that happened to me.
On Monday, January 26, 2026 at 02:30:40 PM GMT-5, Ron Johnson <ronljohnsonjr@gmail.com> wrote:
On Mon, Jan 26, 2026 at 2:25 PM <felix.quintgz@yahoo.com> wrote:
A full database backup is the requirement. A database restore is optional, but that's negotiable;
Lol that's a big fat fail.
--
Death to <Redacted>, and butter sauce.Don't boil me, I'm still alive.
<Redacted> lobster!
- Jump to comment-1Ron Johnson<ronljohnsonjr@gmail.com>Jan 26, 2026, 7:23 PM UTCOn Mon, Jan 26, 2026 at 1:42 PM Christophe Pettus <xof@thebuild.com> wrote:
On Jan 26, 2026, at 10:37, felix.quintgz@yahoo.com wrote:
I can't change my expectations. It's either you do it or I won't certifyyou, and you won't be able to use the application.
That's how a certification body works, and there's nothing I can do
about it.
But it is! That's exactly how you -- and IIRC the only way to -- backup
Can you articulate the specific requirement? I assume it's not "the
database can be backed up completely by issuing an SQL command."
SQL Server databases (typically from Agent, which is like pg_cron but much
more featureful, and completely integrated into SSMS and SQL Server).
Every CLI or GUI method of doing a backup calls BACKUP DATABASE and/or
BACKUP LOG behind the scenes.
--
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!
- Jump to comment-1Christophe Pettus<xof@thebuild.com>Jan 26, 2026, 6:04 PM UTC
On Jan 26, 2026, at 09:52, felix.quintgz@yahoo.com wrote:
There is currently no supported way of backing up a PostgreSQL database via an SQL command. You could, in theory, use the COPY command to dump each individual table, but that's probably not what you are looking for (since it would also require a fairly sophisticated restore process).
I'm having a problem with this. I'm repurposing an old application written in Visual Basic 6 that did allow backups through signed stored procedures.
This is a requirement for financial applications; the user can perform a backup whenever they want, but they can't access the database.
The new application is web-based, deployed in containers, and the database server container is not the same as the application's, so I can't use pg_dump in the application, or at least I don't know how to do it.
pgdump can run in the application container, and connect to the database in the database container, just like the application does. There's no requirement that pgdump run on the database host. That's probably the best direction in this case.- Jump to comment-1felix.quintgz@yahoo.comJan 26, 2026, 6:31 PM UTCCan I copy pg_dump directly into the container?
Or is there an installer just for the PostgreSQL utilities?
On Monday, January 26, 2026 at 01:04:17 PM GMT-5, Christophe Pettus <xof@thebuild.com> wrote:On Jan 26, 2026, at 09:52, felix.quintgz@yahoo.com wrote:
There is currently no supported way of backing up a PostgreSQL database via an SQL command. You could, in theory, use the COPY command to dump each individual table, but that's probably not what you are looking for (since it would also require a fairly sophisticated restore process).
I'm having a problem with this. I'm repurposing an old application written in Visual Basic 6 that did allow backups through signed stored procedures.
This is a requirement for financial applications; the user can perform a backup whenever they want, but they can't access the database.
The new application is web-based, deployed in containers, and the database server container is not the same as the application's, so I can't use pg_dump in the application, or at least I don't know how to do it.
pgdump can run in the application container, and connect to the database in the database container, just like the application does. There's no requirement that pgdump run on the database host. That's probably the best direction in this case.- Jump to comment-1Christophe Pettus<xof@thebuild.com>Jan 26, 2026, 6:40 PM UTC
On Jan 26, 2026, at 10:30, felix.quintgz@yahoo.com wrote:
The postgresql-client-18 (or whichever version you are using) has the client utilities but not the server.
Can I copy pg_dump directly into the container?
Or is there an installer just for the PostgreSQL utilities?