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 JSONB的匹配和交集问题
Sep 14 PostgreSQL
PostgreSQL自动更新时间戳实例代码
Nov 27 PostgreSQL
基于PostgreSQL/openGauss 的分布式数据库解决方案
Dec 06 PostgreSQL
PostgreSQL13基于流复制搭建后备服务器的方法
Jan 18 PostgreSQL
Rust 连接 PostgreSQL 数据库的详细过程
Jan 22 PostgreSQL
PostgreSQL聚合函数介绍以及分组和排序
Apr 12 PostgreSQL
PostgreSQL基于pgrouting的路径规划处理方法
Apr 18 PostgreSQL
PostgreSQL逻辑复制解密原理解析
Sep 23 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
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
2015/02/07 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
php引用和拷贝的区别知识点总结
2019/09/23 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
js网页版计算器的简单实现
2013/07/02 Javascript
子页向父页传值示例
2013/11/27 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
2015/12/08 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
2016/08/04 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
2016/12/28 Javascript
js监听input输入框值的实时变化实例
2017/01/26 Javascript
基于JavaScript实现五子棋游戏
2020/08/26 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
微信小程序下拉框功能的实例代码
2018/11/06 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
Webpack设置环境变量的一些误区详解
2019/12/19 Javascript
vue实现扫码功能
2020/01/17 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
linux下python抓屏实现方法
2015/05/22 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
python生成大写32位uuid代码
2020/03/03 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
简单的Python人脸识别系统
2020/07/14 Python
Python扫描端口的实现
2021/01/25 Python
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
通信生自我鉴定
2014/01/18 职场文书
个人廉洁自律承诺书
2014/03/27 职场文书
股东合作协议书范本
2014/04/14 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
党的群众路线教育实践活动整改方案
2014/10/28 职场文书
大学生求职自荐信范文
2015/03/04 职场文书
初中班干部工作总结
2015/08/10 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
浅析Python OpenCV三种滤镜效果
2022/04/11 Python