[Bucardo-general] Adding sync fails due to missing custom type definition

Alex Balashov abalashov at evaristesys.com
Fri Nov 19 02:00:44 UTC 2010


Greetings,

I am attempting to use the Bucardo git master HEAD with PostgreSQL v9.0 
to do swap replication between a local and a remote database[1].  The 
source is called 'dmm1' and the destination is called 'dmm2'.

Now, the fly in the ointment is that we are using a custom third-party 
operator class for certain telephony-related applications:

    http://prefix.projects.postgresql.org/

When I try to add the sync, I get this error:

bucardo at pg1:/root$ bucardo_ctl add sync dmm_sync source=alpha 
targetdb=dmm2 type=swap --verbose
LOG:  Starting validate_sync for dmm_sync
CONTEXT:  PL/Perl function "validate_sync"
SQL statement "SELECT validate_sync('dmm_sync')"
PL/Perl function "validate_sync"
WARNING:  Issuing rollback() due to DESTROY without explicit 
disconnect() of DBD::Pg::db handle 
dbname=dmm2;host=xxx.xxx.xxx.xxx;port=5432 at line 29.
CONTEXT:  PL/Perl function "validate_sync"
SQL statement "SELECT validate_sync('dmm_sync')"
PL/Perl function "validate_sync"
WARNING:  Issuing rollback() due to DESTROY without explicit 
disconnect() of DBD::Pg::db handle dbname=dmm;port=5432 at line 29.
CONTEXT:  PL/Perl function "validate_sync"
SQL statement "SELECT validate_sync('dmm_sync')"
PL/Perl function "validate_sync"
Failed to add sync: DBD::Pg::st execute failed: ERROR:  DBD::Pg::db do 
failed: ERROR:  type "prefix_range" does not exist
LINE 1: ...cardo_delta((rowid::int4),(rowid2::int4),(rowid3::prefix_ran...
                                                              ^ at line 
787. at line 30.
CONTEXT:  PL/Perl function "validate_sync" at /usr/local/bin/bucardo_ctl 
line 3677.


I have imported the 'prefix_range' operator class and type definitions 
into all three databases in play:  (1) dmm1, (2) dmm2, and (3) the 
bucardo meta-database itself.  Yet I still get this error.  Any 
suggestions on how to figure out from where exactly it is that the 
'prefix_range' definition is missing, and what to do about it?

Thanks a lot,

-- Alex


[1]  Not the last release tarball, because pg_listener went away
      in Pg v9.0, as described in a blog post from End Point.

-- 
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street NE
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/


More information about the Bucardo-general mailing list