[rt-users] restoring dumps from rt-shredder vs. postgres (+workaround)

Alexander Talos-Zens at at univie.ac.at
Fri Oct 7 15:18:22 EDT 2011


Hej!

When I tried to restore rt-shredded data from the --sqldump, I got
errors like

ERROR:  relation "CachedGroupMembers" does not exist
ERROR:  relation "GroupMembers" does not exist
ERROR:  relation "CachedGroupMembers" does not exist
ERROR:  relation "Transactions" does not exist
ERROR:  relation "Groups" does not exist
ERROR:  relation "Principals" does not exist

I didn't find any mention of that problem, so I thought I'd post here.

Psql throws these errors because the way rt-shredder builds the "INSERT
INTO" statements clashes with postgres' case sensitivity:

INSERT INTO "CachedGroupMembers" .... --> error
INSERT INTO "cachedgroupmembers" .... --> ok
INSERT INTO CachedGroupMembers .... --> ok as well ;-)

There's an easy workaround with sed:

sed -e 's/^\(INSERT INTO \)"\([^"]\)"/\1\2/' your_dumpfile | psql
your_psql_args

Assuming that you notice this issue only when you need to restore
something, any other solution in the code would come too late (e.g. one
could quote the table names in the CREATE TABLE statements as well).

Tested on RHEL5 with PostgreSQL 8.1.23, rt-3.8.8, RTFM-2.4.2,
RT-IR-2.4.4 but I'd expect both the problem and the fix to be pretty
much version independent.

Cheers,

Alexander

-- 
IT-Security, Universitaet Wien, ACOnet CERT
<URL:http://www.univie.ac.at/ZID/security/>
T: +43-1-4277-14351  M: +43-664-60277-14351




More information about the rt-users mailing list