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存储过程实用脚本(二):创建函数入门
Apr 05 PostgreSQL
PostgreSQL将数据加载到buffer cache中操作方法
Apr 16 PostgreSQL
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
May 21 PostgreSQL
postgresql无序uuid性能测试及对数据库的影响
Jun 11 PostgreSQL
通过Qt连接OpenGauss数据库的详细教程
Jun 23 PostgreSQL
浅谈PostgreSQL表分区的三种方式
Jun 29 PostgreSQL
postgresql使用filter进行多维度聚合的解决方法
Jul 16 PostgreSQL
Rust 连接 PostgreSQL 数据库的详细过程
Jan 22 PostgreSQL
PostgreSQL事务回卷实战案例详析
Mar 25 PostgreSQL
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
Apr 12 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
关于php中一些字符串总结
2016/05/05 PHP
基于jquery tab切换(防止页面刷新)
2012/05/23 Javascript
JavaScript prototype 使用介绍
2013/08/29 Javascript
jQuery选择id属性带有点符号元素的方法
2015/03/17 Javascript
javaScript中push函数用法实例分析
2015/06/08 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
2016/05/03 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
js模式化窗口问题![window.dialogArguments]
2016/10/30 Javascript
Vue.js系列之项目搭建(1)
2017/01/03 Javascript
javascript判断元素存在和判断元素存在于实时的dom中的方法
2017/01/17 Javascript
JavaScript计时器用法分析【setTimeout和clearTimeout】
2017/01/18 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
javascript实现延时显示提示框效果
2017/06/01 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
基于vue中css预加载使用sass的配置方式详解
2018/03/13 Javascript
微信小程序时间选择插件使用详解
2018/12/28 Javascript
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
2020/03/08 Javascript
[53:10]完美世界DOTA2联赛决赛日 FTD vs GXR 第二场 11.08
2020/11/11 DOTA
Python中列表(list)操作方法汇总
2014/08/18 Python
python实现复制整个目录的方法
2015/05/12 Python
Python实现处理管道的方法
2015/06/04 Python
Python 3.8正式发布重要新功能一览
2019/10/17 Python
Python django框架开发发布会签到系统(web开发)
2020/02/12 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
django 解决model中类写不到数据库中,数据库无此字段的问题
2020/05/20 Python
使用OpenCV校准鱼眼镜头的方法
2020/11/26 Python
html5 input输入实时检测以及延时优化
2018/07/18 HTML / CSS
.net面试题
2015/12/22 面试题
授权委托书(公民个人适用)
2014/09/19 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
XX部保密工作制度范本
2019/08/27 职场文书
python自动化之如何利用allure生成测试报告
2021/05/02 Python
使用pycharm运行flask应用程序的详细教程
2021/06/07 Python
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS