PostgreSQL解析URL的方法


Posted in PostgreSQL onAugust 02, 2021

尽管PostgreSQL中支持大量的数据类型,但是对于URL似乎并没有一个相应的类型能够去存储。那么对于URL的数据我们在数据库中要怎么去处理呢?

首先还是需要看你要存储的URL数据是用来干嘛的,如果仅仅只是为了在以后查询的时候打印输出,那么用varchar或者text之类的类型不是就可以了吗?

但是有的时候我们对于这些URL数据并不仅仅是简单的查询,我们可能希望通过这些URL能够查询一些额外的信息,例如URL的使用的协议、主机名等等。这里我们便可以使用ts_debug函数来进行解析了。

函数ts_debug允许简单地测试一个文本搜索配置。

ts_debug([ config regconfig, ] document text,
         OUT alias text,
         OUT description text,
         OUT token text,
         OUT dictionaries regdictionary[],
         OUT dictionary regdictionary,
         OUT lexemes text[])
         returns setof record

ts_debug为解析器在文本中标识的每一个记号返回一行。被返回的列是:

  • alias text : 记号类型的短名称
  • description text :记号类型的描述
  • token text : 记号的文本
  • dictionaries regdictionary[] : 配置为这种记号类型选择的词典
  • dictionary regdictionary : 识别该记号的词典,如果没有词典能识别则为NULL
  • lexemes text[] :
  • 识别该记号的词典产生的词位,如果没有词典能识别则为NULL;一个空数组({})表示该记号被识别为一个停用词

因此我们便可以通过下面的方式来对URL进行解析:

bill@bill=>SELECT
bill-#     alias
bill-#     ,description
bill-#     ,token
bill-# FROM ts_debug('https://blog.csdn.net/weixin_39540651');
  alias   |  description  |             token
----------+---------------+-------------------------------
 protocol | Protocol head | https://
 url      | URL           | blog.csdn.net/weixin_39540651
 host     | Host          | blog.csdn.net
 url_path | URL path      | /weixin_39540651
(4 rows)

参考链接:

https://stackoverflow.com/questions/41633436/datatype-for-a-url-in-postgresql
http://www.postgres.cn/docs/13/textsearch-debugging.html#TEXTSEARCH-CONFIGURATION-TESTING

到此这篇关于PostgreSQL解析URL的方法的文章就介绍到这了,更多相关PostgreSQL解析URL内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PostgreSQL 相关文章推荐
浅谈PostgreSQL表分区的三种方式
Jun 29 PostgreSQL
PostgreSQL解析URL的方法
Aug 02 PostgreSQL
postgresql 删除重复数据案例详解
Aug 02 PostgreSQL
基于PostgreSQL/openGauss 的分布式数据库解决方案
Dec 06 PostgreSQL
Rust 连接 PostgreSQL 数据库的详细过程
Jan 22 PostgreSQL
PostgreSQL数据库创建并使用视图以及子查询
Apr 11 PostgreSQL
PostgreSQL常用字符串分割函数整理汇总
Jul 07 PostgreSQL
PostgreSQL之连接失败的问题及解决
May 08 PostgreSQL
postgresql使用filter进行多维度聚合的解决方法
Jul 16 #PostgreSQL
浅谈PostgreSQL表分区的三种方式
通过Qt连接OpenGauss数据库的详细教程
postgres之jsonb属性的使用操作
Jun 23 #PostgreSQL
postgresql无序uuid性能测试及对数据库的影响
Jun 11 #PostgreSQL
如何使用PostgreSQL进行中文全文检索
May 27 #PostgreSQL
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
You might like
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
php简单实现MVC
2015/02/05 PHP
详解PHP数组赋值方法
2015/11/07 PHP
PHP htmlspecialchars_decode()函数用法讲解
2019/03/01 PHP
一个无限级XML绑定跨框架菜单(For IE)
2007/01/27 Javascript
js form action动态修改方法
2008/11/04 Javascript
jQuery 版本的文本输入框检查器Input Check
2009/07/09 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
2013/11/26 Javascript
js点击选择文本的方法
2015/02/09 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
最丑的时钟效果!js canvas时钟制作方法
2016/08/15 Javascript
详解jQuery简单的表单应用
2016/12/16 Javascript
jQuery实现三级联动效果
2017/03/02 Javascript
AngularJS中$http使用的简单介绍
2017/03/17 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
2017/04/07 Javascript
Angular父组件调用子组件的方法
2018/04/02 Javascript
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
详解vue 命名视图
2019/08/14 Javascript
JavaScript ES6 Class类实现原理详解
2020/05/08 Javascript
python数字图像处理实现直方图与均衡化
2018/05/04 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
2019/05/27 Python
Python中的四种交换数值的方法解析
2019/11/18 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
佳能德国网上商店:Canon德国
2017/03/18 全球购物
通信工程专业个人找工作求职信范文
2013/09/21 职场文书
平面设计师工作职责范文
2013/12/03 职场文书
科级干部考察材料
2014/02/15 职场文书
班级标语大全
2014/06/21 职场文书
2014年服务行业工作总结
2014/11/18 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
文艺演出主持词
2015/07/01 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python