PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

SQLAlchemy घोषणात्मक:ट्रिगर्स और इंडेक्स को परिभाषित करना (पोस्टग्रेज 9)

सूचकांक बनाने के लिए सीधे-सीधे हैं। index=True . वाले सिंगल-कॉलम के लिए नीचे जैसा पैरामीटर:

customer_code = Column(Unicode(15),unique=True,index=True)

लेकिन अगर आप नाम और विकल्पों पर अधिक नियंत्रण चाहते हैं, तो स्पष्ट इंडेक्स() निर्माण का उपयोग करें:

Index('customers_search_vector_indx', Customer.__table__.c.search_vector, postgresql_using='gin')

ट्रिगर भी बनाया जा सकता है, लेकिन उन्हें अभी भी SQL होना चाहिए -आधारित और DDL से जुड़ा हुआ आयोजन। अधिक जानकारी के लिए डीडीएल को कस्टमाइज़ करना देखें, लेकिन कोड इस तरह दिख सकता है:

from sqlalchemy import event, DDL
trig_ddl = DDL("""
    CREATE TRIGGER customers_search_vector_update BEFORE INSERT OR UPDATE
    ON customers
    FOR EACH ROW EXECUTE PROCEDURE
    tsvector_update_trigger(search_vector,'pg_catalog.english',customer_code,customer_name);
""")
tbl = Customer.__table__
event.listen(tbl, 'after_create', trig_ddl.execute_if(dialect='postgresql'))

सिडेनोट:मुझे नहीं पता कि tsvector को कैसे कॉन्फ़िगर किया जाए डेटाटाइप:एक अलग प्रश्न के योग्य है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेएसक्यूएल को डॉकटर कंटेनर पर तैनात करना

  2. फ़ंक्शन-रिटर्न रिकॉर्ड को कई कॉलम में विभाजित करें

  3. FOR . में SQL क्वेरी डायनेमिक टेबल नाम

  4. एक ट्रिगर फ़ंक्शन के भीतर, कैसे प्राप्त करें कि कौन से फ़ील्ड अपडेट किए जा रहे हैं

  5. जेपीए में 2 तिथियों के बीच दिनों की संख्या गिनें