mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-03 08:00:21 +08:00
Improve pg_dump's query for retrieving BLOB comments to be more efficient
when there are many blobs and not so many comments. Tamas Vincze
This commit is contained in:
parent
b552664447
commit
591cbf673b
@ -12,7 +12,7 @@
|
||||
* by PostgreSQL
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.482.2.1 2009/01/18 20:44:53 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.482.2.2 2009/04/01 18:54:33 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -1758,7 +1758,13 @@ dumpBlobComments(Archive *AH, void *arg)
|
||||
selectSourceSchema("pg_catalog");
|
||||
|
||||
/* Cursor to get all BLOB comments */
|
||||
if (AH->remoteVersion >= 70200)
|
||||
if (AH->remoteVersion >= 70300)
|
||||
blobQry = "DECLARE blobcmt CURSOR FOR SELECT loid, "
|
||||
"obj_description(loid, 'pg_largeobject') "
|
||||
"FROM (SELECT DISTINCT loid FROM "
|
||||
"pg_description d JOIN pg_largeobject l ON (objoid = loid) "
|
||||
"WHERE classoid = 'pg_largeobject'::regclass) ss";
|
||||
else if (AH->remoteVersion >= 70200)
|
||||
blobQry = "DECLARE blobcmt CURSOR FOR SELECT loid, obj_description(loid, 'pg_largeobject') FROM (SELECT DISTINCT loid FROM pg_largeobject) ss";
|
||||
else if (AH->remoteVersion >= 70100)
|
||||
blobQry = "DECLARE blobcmt CURSOR FOR SELECT loid, obj_description(loid) FROM (SELECT DISTINCT loid FROM pg_largeobject) ss";
|
||||
|
Loading…
Reference in New Issue
Block a user