mirror of
https://github.com/postgres/postgres.git
synced 2025-10-15 05:46:52 +03:00
Revert Non text modes for pg_dumpall, and pg_restore support
Recent discussions of the mechanisms used to manage global data have raised concerns about their robustness and security. Rather than try to deal with those concerns at a very late stage of the release cycle, the conclusion is to revert these features and work on them for the next release. This reverts parts or all of the following commits:1495eff7bd
Non text modes for pg_dumpall, correspondingly change pg_restore5db3bf7391
Clean up from commit1495eff7bd
289f74d0cb
Add more TAP tests for pg_dumpall2ef5790806
Fix a couple of error messages and tests for themb52a4a5f28
Clean up error messages from1495eff7bd
4170298b6e
Further cleanup for directory creation on pg_dump/pg_dumpall22cb6d2895
Fix memory leak in pg_restore.c928394b664
Improve various new-to-v18 appendStringInfo calls39729ec01d
Fix fat fingering in22cb6d2895
5822bf21d5
Add missing space in pg_restore documentation.f09088a01d
Free memory properly in pg_restore.c40b9c27014
pg_restore cleanups4aad2cb770
Portability fix: isdigit() must be passed an unsigned char.88e947136b
Fix typos and grammar in the codef60420cff6
doc: Alphabetize long options for pg_dump[all].bc35adee8d
doc: Put new options in consistent order on man pagesa876464abc
Message style improvementsdec6643487
Improve pg_dump/pg_dumpall help synopses and terminology0ebd242555
Run pgperltidy Discussion: https://postgr.es/m/20250708212819.09.nmisch@google.com Backpatch-to: 18 Reviewed-by: Noah Misch <noah@leadboat.com>
This commit is contained in:
@@ -87,7 +87,7 @@ static int RestoringToDB(ArchiveHandle *AH);
|
||||
static void dump_lo_buf(ArchiveHandle *AH);
|
||||
static void dumpTimestamp(ArchiveHandle *AH, const char *msg, time_t tim);
|
||||
static void SetOutput(ArchiveHandle *AH, const char *filename,
|
||||
const pg_compress_specification compression_spec, bool append_data);
|
||||
const pg_compress_specification compression_spec);
|
||||
static CompressFileHandle *SaveOutput(ArchiveHandle *AH);
|
||||
static void RestoreOutput(ArchiveHandle *AH, CompressFileHandle *savedOutput);
|
||||
|
||||
@@ -339,14 +339,9 @@ ProcessArchiveRestoreOptions(Archive *AHX)
|
||||
StrictNamesCheck(ropt);
|
||||
}
|
||||
|
||||
/*
|
||||
* RestoreArchive
|
||||
*
|
||||
* If append_data is set, then append data into file as we are restoring dump
|
||||
* of multiple databases which was taken by pg_dumpall.
|
||||
*/
|
||||
/* Public */
|
||||
void
|
||||
RestoreArchive(Archive *AHX, bool append_data)
|
||||
RestoreArchive(Archive *AHX)
|
||||
{
|
||||
ArchiveHandle *AH = (ArchiveHandle *) AHX;
|
||||
RestoreOptions *ropt = AH->public.ropt;
|
||||
@@ -463,7 +458,7 @@ RestoreArchive(Archive *AHX, bool append_data)
|
||||
*/
|
||||
sav = SaveOutput(AH);
|
||||
if (ropt->filename || ropt->compression_spec.algorithm != PG_COMPRESSION_NONE)
|
||||
SetOutput(AH, ropt->filename, ropt->compression_spec, append_data);
|
||||
SetOutput(AH, ropt->filename, ropt->compression_spec);
|
||||
|
||||
ahprintf(AH, "--\n-- PostgreSQL database dump\n--\n\n");
|
||||
|
||||
@@ -1302,7 +1297,7 @@ PrintTOCSummary(Archive *AHX)
|
||||
|
||||
sav = SaveOutput(AH);
|
||||
if (ropt->filename)
|
||||
SetOutput(AH, ropt->filename, out_compression_spec, false);
|
||||
SetOutput(AH, ropt->filename, out_compression_spec);
|
||||
|
||||
if (strftime(stamp_str, sizeof(stamp_str), PGDUMP_STRFTIME_FMT,
|
||||
localtime(&AH->createDate)) == 0)
|
||||
@@ -1681,8 +1676,7 @@ archprintf(Archive *AH, const char *fmt,...)
|
||||
|
||||
static void
|
||||
SetOutput(ArchiveHandle *AH, const char *filename,
|
||||
const pg_compress_specification compression_spec,
|
||||
bool append_data)
|
||||
const pg_compress_specification compression_spec)
|
||||
{
|
||||
CompressFileHandle *CFH;
|
||||
const char *mode;
|
||||
@@ -1702,7 +1696,7 @@ SetOutput(ArchiveHandle *AH, const char *filename,
|
||||
else
|
||||
fn = fileno(stdout);
|
||||
|
||||
if (append_data || AH->mode == archModeAppend)
|
||||
if (AH->mode == archModeAppend)
|
||||
mode = PG_BINARY_A;
|
||||
else
|
||||
mode = PG_BINARY_W;
|
||||
|
Reference in New Issue
Block a user