在postgresql函数中使用libphonenumber库

我需要parsingpostgresql函数中的电话号码。 我正在使用水线ORM,基本上是在JavaScript中做这个计算。 现在我想把整个逻辑移到postgresql存储的函数中。 但瓶颈是libphonenumber库的可用性。 它在Node.js中可用,但不知道如何在postgresql中使用它。

任何想法 ?

已经有可用于libphonenumber的 C绑定

CREATE EXTENSION pg_libphonenumber; SELECT parse_phone_number('03 7010 1234', 'AU') = parse_phone_number('(03) 7010 1234', 'AU'); CREATE TABLE foo AS SELECT DISTINCT parse_phone_number(ph, 'AU') FROM ( VALUES ('0370101234'), ('03 7010 1234'), ('(03) 7010 1234') ) AS t(ph); 

在这里find我的答案了解更多信息

由于它在C ++和JavaScript中可用,您可以:

  • 安装并加载PL / V8,并将其用作PL / V8存储过程中的JavaScript库; 要么

  • 为PostgreSQL编写一个C扩展,通过将C ++函数包装在C ++版本的库中,将函数公开为SQL可调用函数。

不用说,前者可能比较容易,除非你对C编程感到满意。