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(实现代码)
Apr 22 PostgreSQL
浅谈PostgreSQL表分区的三种方式
Jun 29 PostgreSQL
关于PostgreSQL JSONB的匹配和交集问题
Sep 14 PostgreSQL
基于PostgreSQL/openGauss 的分布式数据库解决方案
Dec 06 PostgreSQL
Rust 连接 PostgreSQL 数据库的详细过程
Jan 22 PostgreSQL
Oracle配置dblink访问PostgreSQL的操作方法
Mar 21 PostgreSQL
PostgreSQL并行计算算法及参数强制并行度设置方法
Apr 06 PostgreSQL
PostgreSQL常用字符串分割函数整理汇总
Jul 07 PostgreSQL
postgresql之greenplum字符串去重拼接方式
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
第九节 绑定 [9]
2006/10/09 PHP
PHP 文件系统详解
2012/09/13 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
2012/10/06 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
2013/04/08 PHP
PHP微信支付开发实例
2016/06/22 PHP
PHP的mysqli_select_db()函数讲解
2019/01/23 PHP
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
javascript 设为首页与加入收藏兼容多浏览器代码
2011/01/11 Javascript
用JS判断IE版本的代码 超管用!
2011/08/09 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
2012/12/28 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
2014/10/14 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
JavaScript使用指针操作实现约瑟夫问题实例
2015/04/07 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
2016/06/02 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
微信小程序五星评分效果实现代码
2017/04/06 Javascript
基于bootstrop常用类总结(推荐)
2017/09/11 Javascript
Angular中的$watch方法详解
2017/09/18 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
2017/11/10 Javascript
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
2017/04/18 Python
基于Python中capitalize()与title()的区别详解
2017/12/09 Python
Python 查看文件的编码格式方法
2017/12/21 Python
python实现用户答题功能
2018/01/17 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
python将文本分每两行一组并保存到文件
2018/03/19 Python
Python实现爬取马云的微博功能示例
2019/02/16 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
Python实现自动整理文件的脚本
2020/12/17 Python
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
英文自荐信
2013/12/15 职场文书
大学生表扬信范文
2014/01/09 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
股指期货心得体会
2014/09/13 职场文书
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
2021/11/11 Python