Hi,

So, I need to add an exclude constraint to a postgres table which has a boolean column, but:

ProgrammingError: (psycopg2.ProgrammingError) data type boolean has no default operator class for access method "gist" HINT:  You must specify an operator class for the index or define a default operator class for the data type.

Sounds like the way to do this is:

https://www.postgresql.org/message-id/OfficeNetEmail.2b9.8648e2b7c49ce986.144ee6b67a2%40prod2

create table xx(b bool, tr tsrange, exclude using gist((b::int) with =, tr with &&));

That, unfortunately makes SQLALchemy's ExcludeConstraint implementation sad:

sqlalchemy/util/_collections.py", line 194, in __getitem__
    return self._data[key]
KeyError: '(best::int)'

Before I go and submit a patch to ExcludeConstraint to support expressions rather than just columns (that looks like a lot of work :-/), how can I just add a constraint that I supply as text and put in __table_args__ somehow?

cheers,

Chris

--
SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- You received this message because you are subscribed to the Google Groups "sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to