[Bucardo-general] 'type "int_unsigned" does not exist' error when creating sync

Greg Sabino Mullane greg at endpoint.com
Thu Jul 29 02:34:48 UTC 2010

Bill McGonigle wrote:

> > CONTEXT:  SQL function "validate_sync" statement 1
> > SQL statement "SELECT validate_sync('drupal_left')"
> > Failed to add sync: DBD::Pg::st execute failed: ERROR:  error from Perl trigger function: error from Perl function: DBD::Pg::db do failed: ERROR:  type "int_unsigned" does not exist at line 787. at line 30. at /usr/sbin/bucardo_ctl line 3346.
> It sounds like DBD::Pg doesn't know about the int_unsigned data type 
> from the message, but that doesn't seem right.

Nope, that's right. To be specific, Postgres doesn't know about the 
'int_unsigned' data type because there isn't one. These are drupal-specific 
domains that look like this:

"CREATE DOMAIN int_unsigned integer CHECK (VALUE >= 0)"

The best fix is to change the schema to use constraints rather 
than a domain. See the patch at comment #27 here for example:


The other way would be to patch Bucardo and tell it that int_unsigned 
is really "int", smallint_unsigned is really smallint, and bigint_unsigned 
is really bigint. That should be safe enough to do, as I can't imagine 
many other people are creating such types outside of drupal.

Greg Sabino Mullane greg at endpoint.com
End Point Corporation
PGP Key: 0x14964AC8
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 163 bytes
Desc: not available
Url : https://mail.endcrypt.com/pipermail/bucardo-general/attachments/20100728/12b24741/attachment.bin 

More information about the Bucardo-general mailing list