Question: Is there any way to drop ALL triggers from ALL tables in Postgres? I know there's a pg\_trigger table I could look at, but it doesn't look like it contains enough information for me to decipher which triggers I have added to my tables.

It also looks like Foreign Key constraints show up in the pg\_trigger table, which I DO NOT want to drop. I just want to drop the user created trigger from my tables and keep the FKs.

Any suggestions?

Answer: 
I prefer this (based on [that](https://stackoverflow.com/questions/10591113/drop-all-functions-from-postgres-database)) over the accepted answer by @kuznetso3v because it gives me a chance to inspect the `DROP STATEMENT`s before executing them with copy-paste:

```
SELECT 'DROP TRIGGER ' || trigger_name || ' ON ' || event_object_table || ';'
FROM information_schema.triggers
WHERE trigger_schema = 'public';

```
Easiest will be to `pg_dump -s` object definitions and filter it for lines starting with `CREATE TRIGGER`.

Something like

```
./pg_dump -s db_name | grep '^CREATE TRIGGER' | \
  while read _ _ triggername _; do \
    echo drop trigger "$triggername;"; \
  done

```

(in bash) should work (review it and then run in database).

But perhaps you should consider `alter table table_name disable trigger trigger_name` instead.