Bacula-users

[Bacula-users] get_file_record want 1 got rows=2 after migration from MySQL to PostgreSQL

2010-10-18 03:57:14
Subject: [Bacula-users] get_file_record want 1 got rows=2 after migration from MySQL to PostgreSQL
From: Robert Oschwald <roos AT symentis DOT com>
To: bacula-users AT lists.sourceforge DOT net
Date: Mon, 18 Oct 2010 09:54:28 +0200
Hi folks,

I migrated Bacula 5.0.2 from MySQL to Bacula 5.0.3 PostgreSQL 8.1, 
and then migrated to PostgreSQL 8.2 using dump/restore.
Speed is dramatically better than with MySQL (I will post my postgresql 
settings if one is interested).

Now when I  use BAT to simulate a restore to recent, I get this messages in 
stderr when I klick on one of the files:

sql_get.c:156-0 === Problem!  sql_get.c:155 get_file_record want 1 got rows=2 
PathId=80991 FilenameId=439
sql_get.c:156-0 === Problem!  sql_get.c:155 get_file_record want 1 got rows=2 
PathId=80796 FilenameId=439
sql_get.c:156-0 === Problem!  sql_get.c:155 get_file_record want 1 got rows=2 
PathId=307 FilenameId=439
sql_get.c:156-0 === Problem!  sql_get.c:155 get_file_record want 1 got rows=2 
PathId=2 FilenameId=439
sql_get.c:156-0 === Problem!  sql_get.c:155 get_file_record want 1 got rows=2 
PathId=80992 FilenameId=439
sql_get.c:156-0 === Problem!  sql_get.c:155 get_file_record want 1 got rows=2 
PathId=311 FilenameId=439
sql_get.c:156-0 === Problem!  sql_get.c:155 get_file_record want 1 got rows=2 
PathId=9 FilenameId=439


This is what I got in the db (example for the first error message):
select * from file where PathId=80991 and filenameId = 439;

fileid;fileindex;jobid;pathid;filenameid;markid;lstat;md5
195262190;196703;2686;80991;439;0;"P0G C EHt G A A A BAA BAA I BMdWat BLepez 
BLxIbv A A E";"0"
198655792;3590305;2686;80991;439;0;"P0G C EHt G A A A BAA BAA I BMdY3i BLepez 
BLxIbv A A E";"0"
219621970;3509726;2860;80991;439;0;"P0G C EHt G A A A BAA BAA I BMiAMX BLepez 
BLxIbv A A E";"0"
216309113;196869;2860;80991;439;0;"P0G C EHt G A A A BAA BAA I BMh9us BLepez 
BLxIbv A A E";"0"
229856219;3519412;2941;80991;439;0;"P0G C EHt G A A A BAA BAA I BMkT04 BLepez 
BLxIbv A A E";"0"
226533758;196951;2941;80991;439;0;"P0G C EHt G A A A BAA BAA I BMkRX8 BLepez 
BLxIbv A A E";"0"
241079525;3535279;3036;80991;439;0;"P0G C EHt G A A A BAA BAA I BMmzt1 BLepez 
BLxIbv A A E";"0"
237741269;197023;3036;80991;439;0;"P0G C EHt G A A A BAA BAA I BMmotw BLepez 
BLxIbv A A E";"0"
247155517;197101;3121;80991;439;0;"P0G C EHt G A A A BAA BAA I BMo4tF BLepez 
BLxIbv A A E";"0"
250493865;3535449;3121;80991;439;0;"P0G C EHt G A A A BAA BAA I BMo7JE BLepez 
BLxIbv A A E";"0"
255954922;3541015;3203;80991;439;0;"P0G C EHt G A A A BAA BAA I BMrOz/ BLepez 
BLxIbv A A E";"0"
252610691;196784;3203;80991;439;0;"P0G C EHt G A A A BAA BAA I BMrMV4 BLepez 
BLxIbv A A E";"0"
257085143;196784;3210;80991;439;0;"P0G C EHt G A A A BAA BAA I BMrMV4 BLepez 
BLxIbv A A E";"0"
260429374;3541015;3210;80991;439;0;"P0G C EHt G A A A BAA BAA I BMrOz/ BLepez 
BLxIbv A A E";"0"
262984244;197169;3289;80991;439;0;"P0G C EHt G A A A BAA BAA I BMtgAj BLepez 
BLxIbv A A E";"0"
266357999;3570924;3289;80991;439;0;"P0G C EHt G A A A BAA BAA I BMtidh BLepez 
BLxIbv A A E";"0"
270866064;3570924;3296;80991;439;0;"P0G C EHt G A A A BAA BAA I BMtidh BLepez 
BLxIbv A A E";"0"
267492309;197169;3296;80991;439;0;"P0G C EHt G A A A BAA BAA I BMtgAj BLepez 
BLxIbv A A E";"0"


Migration from MySQL to PostgreSQL steps I've done:
mysqldump -t -q -n -c --compatible=postgresql --skip-quote-names --skip-opt 
--disable-keys --lock-tables -u bacula -ppassword bacula \
  | grep -v "INSERT INTO Status" \
  | sed -e 's/0000-00-00 00:00:00/1970-01-01 00:00:00/g' \
  | sed -e 's/\\0//' > /B2D/bacula_mysql_dump_in_postgresql-format.sql

install postgresql-8.1 (CentOS 5 x86_64)
install bacula-postgresql

create_postgresql_database
make_postgresql_tables
grant_postgresql_privileges

psql -Ubacula bacula < bacula_mysql_dump_in_postgresql-format.sql

Reset sequences:
SELECT SETVAL('basefiles_baseid_seq', (SELECT MAX(baseid) FROM basefiles));
SELECT SETVAL('client_clientid_seq', (SELECT MAX(clientid) FROM client));
SELECT SETVAL('file_fileid_seq', (SELECT MAX(fileid) FROM file));
SELECT SETVAL('filename_filenameid_seq', (SELECT MAX(filenameid) FROM 
filename));
SELECT SETVAL('fileset_filesetid_seq', (SELECT MAX(filesetid) FROM fileset));
SELECT SETVAL('job_jobid_seq', (SELECT MAX(jobid) FROM job));
SELECT SETVAL('jobmedia_jobmediaid_seq', (SELECT MAX(jobmediaid) FROM 
jobmedia));
SELECT SETVAL('media_mediaid_seq', (SELECT MAX(mediaid) FROM media));
SELECT SETVAL('path_pathid_seq', (SELECT MAX(pathid) FROM path));
SELECT SETVAL('basefiles_baseid_seq', (SELECT MAX(baseid) FROM basefiles));
SELECT SETVAL('client_clientid_seq', (SELECT MAX(clientid) FROM client));
SELECT SETVAL('file_fileid_seq', (SELECT MAX(fileid) FROM file));
SELECT SETVAL('filename_filenameid_seq', (SELECT MAX(filenameid) FROM 
filename));
SELECT SETVAL('fileset_filesetid_seq', (SELECT MAX(filesetid) FROM fileset));
SELECT SETVAL('job_jobid_seq', (SELECT MAX(jobid) FROM job));
SELECT SETVAL('jobmedia_jobmediaid_seq', (SELECT MAX(jobmediaid) FROM 
jobmedia));
SELECT SETVAL('media_mediaid_seq', (SELECT MAX(mediaid) FROM media));
SELECT SETVAL('path_pathid_seq', (SELECT MAX(pathid) FROM path));
SELECT SETVAL('pool_poolid_seq', (SELECT MAX(poolid) FROM pool));
SELECT SETVAL('device_deviceid_seq', (SELECT MAX(deviceid) FROM device));
SELECT SETVAL('location_locationid_seq', (SELECT MAX(locationid) FROM 
location));
SELECT SETVAL('locationlog_loclogid_seq', (SELECT MAX(loclogid) FROM 
locationlog));
SELECT SETVAL('log_logid_seq', (SELECT MAX(logid) FROM log));
SELECT SETVAL('mediatype_mediatypeid_seq', (SELECT MAX(mediatypeid) FROM 
mediatype));
SELECT SETVAL('storage_storageid_seq', (SELECT MAX(storageid) FROM storage));


Migration from PostgreSQL 8.1 to 8.2:
pg_dumpall > pg_dump.sql
- install postgreSQL 8.2 (CentOS-Testing)
psql < pg_dump.sql


Are these error messages critical?
Do I need to reset the sequences again after restoring pg dump?


Robert




------------------------------------------------------------------------------
Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly 
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users