AGEでcreate_graph()したグラフは、ag_catalogスキーマのag_graphテーブルに格納されており、以下のように格納されている。
\d ag_graph
Table "ag_catalog.ag_graph"
Column | Type | Collation | Nullable | Default
-----------+--------------+-----------+----------+---------
graphid | oid | | not null |
name | name | | not null |
namespace | regnamespace | | not null |
Indexes:
"ag_graph_graphid_index" UNIQUE, btree (graphid)
"ag_graph_name_index" UNIQUE, btree (name)
"ag_graph_namespace_index" UNIQUE, btree (namespace)
Referenced by:
TABLE "ag_label" CONSTRAINT "fk_graph_oid" FOREIGN KEY (graph) REFERENCES ag_graph(graphid)
で、これを一括削除するには、drop_graph()を実行する必要があるので、以下のようになる、と。
DO $$
DECLARE
nm_value TEXT;
BEGIN
FOR nm_value IN
SELECT name FROM ag_graph
LOOP
EXECUTE format('SELECT drop_graph(%L, true);', nm_value);
END LOOP;
END $$;