我正在尝试编写Postgres函数,该函数返回无向图中每个清晰点的结果。但我无法弄清楚如何在关系编程方面做到这一点。例如,如果图表是
select * from graph;
source | target
--------+--------
1 | 2
2 | 1
1 | 3
3 | 1
2 | 3
3 | 2
2 | 4
4 | 2
2 | 5
5 | 2
4 | 5
5 | 4
(12 rows)
然后结果应该是
select articulation_point();
articulation_point
--------------------
2
(1 row)
但我不知道如何解决这个问题。我已经阅读了一些关于如何在Python等编程语言中执行此操作的文章,但不知道如何在Postgres中处理它。