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 22 PostgreSQL
如何使用PostgreSQL进行中文全文检索
May 27 PostgreSQL
PostgreSQL解析URL的方法
Aug 02 PostgreSQL
关于PostgreSQL JSONB的匹配和交集问题
Sep 14 PostgreSQL
PostGIS的安装与入门使用指南
Jan 18 PostgreSQL
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
Jan 18 PostgreSQL
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
Apr 12 PostgreSQL
PostgreSQL出现死锁该如何解决
May 30 PostgreSQL
PostgreSQL怎么创建分区表详解
Jun 25 PostgreSQL
PostgreSQL之连接失败的问题及解决
May 08 PostgreSQL
postgresql中如何执行sql文件
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
怎样在UNIX系统下安装php3
2006/10/09 PHP
PHP 开发工具
2006/12/06 PHP
PHP 上传文件大小限制
2009/07/05 PHP
php设计模式 Adapter(适配器模式)
2011/06/26 PHP
浅析php中常量,变量的作用域和生存周期
2013/08/10 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
2018/05/28 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
2020/04/29 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
jquery 操作日期、星期、元素的追加的实现代码
2012/02/07 Javascript
jQuery中Dom的基本操作小结
2014/01/23 Javascript
jquery实现搜索框常见效果的方法
2015/01/22 Javascript
jquery实现表单输入时提示文字滑动向上效果
2015/08/10 Javascript
js实现input框文字动态变换显示效果
2015/08/19 Javascript
BootStrap 附加导航组件
2016/07/22 Javascript
详解jQuery的表单验证插件--Validation
2016/12/21 Javascript
JavaScript中日常收集常见的10种错误(推荐)
2017/01/08 Javascript
Bootstrap 3 按钮标签实例代码
2017/02/21 Javascript
JS中的事件委托实例浅析
2018/03/22 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
解决layer弹出层的内容页点击按钮跳转到新的页面问题
2019/09/14 Javascript
JS实现分页导航效果
2020/02/19 Javascript
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
python利用OpenCV2实现人脸检测
2020/04/16 Python
教你用一行Python代码实现并行任务(附代码)
2018/02/02 Python
Python 函数返回值的示例代码
2019/03/11 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
运动会广播稿200字
2014/01/15 职场文书
小学英语教学反思
2014/01/30 职场文书
房产委托公证书样本
2014/04/04 职场文书
教师考察材料范文
2014/06/03 职场文书
房屋租赁合同协议书范本
2014/10/19 职场文书
入党申请书怎么写?
2019/06/11 职场文书
sqlserver连接错误之SQL评估期已过的问题解决
2022/03/23 SQL Server
Windows Server 2019 安装DHCP服务及相关配置
2022/04/28 Servers