PostgreSQL解析URL的方法
盡管PostgreSQL中支持大量的數(shù)據(jù)類型,但是對于URL似乎并沒有一個相應(yīng)的類型能夠去存儲。那么對于URL的數(shù)據(jù)我們在數(shù)據(jù)庫中要怎么去處理呢?
首先還是需要看你要存儲的URL數(shù)據(jù)是用來干嘛的,如果僅僅只是為了在以后查詢的時候打印輸出,那么用varchar或者text之類的類型不是就可以了嗎?
但是有的時候我們對于這些URL數(shù)據(jù)并不僅僅是簡單的查詢,我們可能希望通過這些URL能夠查詢一些額外的信息,例如URL的使用的協(xié)議、主機(jī)名等等。這里我們便可以使用ts_debug函數(shù)來進(jìn)行解析了。
函數(shù)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為解析器在文本中標(biāo)識的每一個記號返回一行。被返回的列是:
- alias text : 記號類型的短名稱
- description text :記號類型的描述
- token text : 記號的文本
- dictionaries regdictionary[] : 配置為這種記號類型選擇的詞典
- dictionary regdictionary : 識別該記號的詞典,如果沒有詞典能識別則為NULL
- lexemes text[] :
- 識別該記號的詞典產(chǎn)生的詞位,如果沒有詞典能識別則為NULL;一個空數(shù)組({})表示該記號被識別為一個停用詞
因此我們便可以通過下面的方式來對URL進(jìn)行解析:
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
到此這篇關(guān)于PostgreSQL解析URL的方法的文章就介紹到這了,更多相關(guān)PostgreSQL解析URL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PostgreSQL 中的postgres_fdw擴(kuò)展詳解
這篇文章主要介紹了PostgreSQL 中的postgres_fdw擴(kuò)展詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
postgresql 實(shí)現(xiàn)更新序列的起始值
這篇文章主要介紹了postgresql 實(shí)現(xiàn)更新序列的起始值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
PostgreSQL教程(十二):角色和權(quán)限管理介紹
這篇文章主要介紹了PostgreSQL教程(十二):角色和權(quán)限管理介紹,本文講解了數(shù)據(jù)庫角色、角色屬性、權(quán)限、角色成員,需要的朋友可以參考下2015-05-05
navicat連接postgresql、人大金倉等數(shù)據(jù)庫報錯解決辦法
在使用Navicat操作數(shù)據(jù)庫時,遇到數(shù)據(jù)報錯是一個常見的問題,這類問題可能涉及多個方面,下面這篇文章主要給大家介紹了關(guān)于navicat連接postgresql、人大金倉等數(shù)據(jù)庫報錯的解決辦法,需要的朋友可以參考下2024-08-08
PostgreSQL 實(shí)現(xiàn)子查詢返回多行的案例
這篇文章主要介紹了PostgreSQL 實(shí)現(xiàn)子查詢返回多行的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
PostgreSQL 如何查找需要收集的vacuum 表信息
這篇文章主要介紹了PostgreSQL 如何查找需要收集的vacuum 表信息,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
PostgreSQL實(shí)戰(zhàn)之啟動恢復(fù)讀取checkpoint記錄失敗的條件詳解
這篇文章主要給大家介紹了關(guān)于PostgreSQL實(shí)戰(zhàn)之啟動恢復(fù)讀取checkpoint記錄失敗的條件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08

