Mein googling-fu versagt mich. Wie kann ich feststellen, ob ein PostgreSQL-Trigger deaktiviert ist oder nicht?Wie können Sie feststellen, ob ein Trigger in PostgreSQL aktiviert ist?
Antwort
Es ist mein erster Tag mit PostreSQL, aber ich denke, man kann den Triggerzustand über pg_trigger Systemtabelle überprüfen: http://www.postgresql.org/docs/current/static/catalog-pg-trigger.html
Die Spalten, die Sie benötigen sind tgrelid
und tgenabled
.
Aktueller Link: http://www.postgresql.org/docs/current/static/catalog-pg-trigger.html –
Die folgende SQL wird die Arbeit tun. Es zeigt alle Trigger in Ihrer aktuellen Datenbank an.
SELECT pg_namespace.nspname, pg_class.relname, pg_trigger.*
FROM pg_trigger
JOIN pg_class ON pg_trigger.tgrelid = pg_class.oid
JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace
Wenn tgenabled ist 'D', der Trigger deaktiviert ist. Alle anderen Werte (dokumentiert here) zeigen an, dass es in irgendeiner Weise aktiviert ist.
BTW. Wenn Sie die Auslöser für eine bestimmte Tabelle überprüfen möchten, ist die Abfrage etwas kürzer:
SELECT * FROM pg_trigger
WHERE tgrelid = 'your_schema.your_table'::regclass
Die werfen zum regclass Typ bekommt man von qualifizierten Tabellennamen OID (Objekt-ID), die leicht Weg.
SELECT EXISTS (
SELECT tgenabled
FROM pg_trigger
WHERE tgname='your_unique_trigger_name' AND
tgenabled != 'D'
);
Wenn Sie wissen, dass die Triggernamen des oben wird return true (t) eindeutig sind, wenn die your_unique_trigger_name Trigger aktiviert ist:
exists
--------
t
(1 row)
Wenn es würde return false deaktiviert (f).
- 1. Wie kann man feststellen, ob ein `InputMethod` aktiviert ist?
- 2. Wie können Sie feststellen, ob ein UIPrintInteractionController angezeigt wird?
- 3. Wie überprüft man, ob ein Trigger in PostgreSQL existiert?
- 4. Wie Sie feststellen, ob ein Zeichen ein chinesisches Zeichen ist
- 5. Wie können PostgreSQL-Trigger nur in einer Transaktion deaktiviert werden?
- 6. Wie können Sie feststellen, ob ein Rohroperator der letzte (oder erste) in einer Kette ist?
- 7. Wie kann man feststellen, ob ein Zeichen Groß- oder Kleinschreibung in postgresql ist?
- 8. Wie kann ich feststellen, ob ein Kontrollkästchen in jQuery aktiviert ist?
- 9. Wie kann ich feststellen, ob eine bestimmte TTS-Engine aktiviert (aktiviert) ist? nur
- 10. , wie Sie überprüfen, ob ein Element aktiviert ist
- 11. Können Sie programmgesteuert feststellen, ob ein Benutzer für ein Paket lizenziert ist?
- 12. Wie kann ich feststellen, ob ein Steuerelement auf einer Seite aktiviert ist?
- 13. Wie können Sie feststellen, ob Ihre MFC-Anwendung nicht reagiert?
- 14. Wie können Sie feststellen, ob Sitzungscookies verwendet werden?
- 15. Wie können Sie feststellen, ob Sie aufgrund Ihrer Gruppe in eine Datei mit SFTP schreiben können?
- 16. In CakePHP, wie können Sie feststellen, ob ein Feld in einer Bearbeitungsaktion geändert wurde?
- 17. Wie Sie feststellen, ob ein Ordner in einer Sharepoint-Liste
- 18. Wie kann ich feststellen, ob ein Dataset zFS ist
- 19. Wie zu überprüfen, ob mod_deflate in Apache aktiviert ist?
- 20. Wie können Sie feststellen, ob der Viewstatus in einer ASP.Net-Anwendung manipuliert wurde?
- 21. Wie Sie feststellen können, ob das XML-Element in der XSD-Datei als erforderlich markiert ist
- 22. Wie kann ich feststellen, ob ein Benutzer angemeldet ist?
- 23. Finden Sie heraus, ob der Energiesparmodus aktiviert ist - Android SDK
- 24. Wie kann man feststellen, ob etwas ein Container ist?
- 25. Wie Sie feststellen, ob die Timer-Task
- 26. Ermitteln, ob mein Erreichbarkeitsdienst aktiviert ist
- 27. So erkennen Sie, ob die Datenprüfsummenfunktion in Postgres aktiviert ist
- 28. Wie können Sie feststellen, ob eine Homographiematrix akzeptabel ist oder nicht?
- 29. Wie kann ich feststellen, ob ein MySQL-Prozess blockiert ist?
- 30. Wie können Sie feststellen, ob ein Formular vom Benutzer oder von Ihrem Code geschlossen wurde?
sind die Trigger beim Erstellen von em standardmäßig aktiviert? Ist explizit ALTER TABLE ENABLE TRIGGER notwendig? – user4658312