国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 數(shù)據(jù)庫 > PostgreSQL > 正文

在PostgreSQL上安裝并使用擴展模塊的教程

2020-10-29 21:50:08
字體:
供稿:網(wǎng)友

安裝模塊

注意: 我的運行環(huán)境是 Ubuntu 10.04 和 PostgreSQL 8.4

首先安裝 postgresql-contrib 包并重啟數(shù)據(jù)庫服務(wù)器,然后檢查 contrib 目錄看是否包含一些可用模塊:
 

sudo apt-get install postgresql-contribsudo /etc/init.d/postgresql-8.4 restartcd /usr/share/postgresql/8.4/contrib/ls

然后我們創(chuàng)建一個名為 module_test 的數(shù)據(jù)庫:
 

su postgrescreatedb module_test

然后我們將模塊 chkpass, fuzzystrmatch, isn 和 hstore 應(yīng)用到 module_test 數(shù)據(jù)庫,執(zhí)行下面命令即可:
 

psql -d module_test -f chkpass.sqlpsql -d module_test -f fuzzystrmatch.sqlpsql -d module_test -f isn.sqlpsql -d module_test -f hstore.sql

接下來,我們來看看每個模塊是如何使用的。
 
使用 chkpass

chkpass 模塊引入一個新的數(shù)據(jù)類型 “chkpass” 這個類型用來存儲一個加密的字段,例如密碼。使用方法可以從下面的 SQL 里看到,存入 chkpass 字段的字符串會自動進(jìn)行加密:

 

CREATE TABLE accounts (username varchar (100), password chkpass);INSERT INTO accounts(username, "password" ) VALUES ( 'user1' , 'pass1' );INSERT INTO accounts(username, "password" ) VALUES ( 'user2' , 'pass2' );

然后我們可以通過下面的SQL進(jìn)行身份認(rèn)證:
 

SELECT count (*) from accounts where username= 'user1' and password = 'pass1'

其中 = 操作符使用了 eq(column_name, text) 方法,該方法由 chkpass 模塊提供用于測試是否相等。chkpass 使用 Unix 的 crypt() 函數(shù),因此加密效果比較弱,該函數(shù)只對字符串的前8位進(jìn)行加密,只要前8位相同的字符串就被認(rèn)為是相等的。因此不建議在實際生產(chǎn)環(huán)境中使用 chkpass 模塊,建議使用 pgcrypto 模塊。
 
使用 fuzzystrmatch

該模塊提供的函數(shù)包括:soundx(), difference(), levenshtein() 和 metaphone() 。soundx() 和 metaphone() 是語音算法,將文本字符串轉(zhuǎn)成基于發(fā)音的代碼字符串。而 difference() 和 levenshtein() 則返回數(shù)值代表兩個輸入字符串的相似度。

讓我們先看看 levenshtein() 和 metaphone() 函數(shù):
 

SELECT levenshtein( 'foodlets' , 'booklets' );

該查詢返回 2,很顯然。

metaphone() 函數(shù)需要兩個參數(shù),一個是文本字符串,另外一個是輸出代碼的最大長度的:
 

SELECT metaphone( 'foodlets' , 6);SELECT metaphone( 'fudlets' , 6);

如果你試圖獲取兩個字符串的 Levenshtein 距離,那將返回0:
 

SELECT levenshtein( 'FTLTS' , 'FTLTS' );

這意味著兩個字符串發(fā)音類似。

fuzzystrmatch 用在網(wǎng)站實現(xiàn)搜索功能上是非常有用的,而且可用于實現(xiàn)拼寫檢查和錯誤關(guān)鍵字糾正,相當(dāng)于是 Google 上的“Did you mean...”

使用 isn

該模塊提供了存儲國際標(biāo)準(zhǔn)數(shù)值的數(shù)據(jù)類型,例如 International Standard Book Numbers (ISBN), International Standard Music Numbers (ISMN), International Standard Serial Numbers (ISSN), Universal Product Codes (UPC), 等等。同時提供了校驗函數(shù)、類型轉(zhuǎn)換函數(shù)等等。

讓我們來測試存儲圖書信息:
 

CREATE TABLE books(number isbn13, title varchar (100))INSERT INTO books( "number" , title) VALUES ( '978-03' , 'Rework' );

INSERT 語句將會執(zhí)行錯誤,因為輸入的字符串不是一個有效的 ISBN 號,而下面的語句就可以正確執(zhí)行:
 

INSERT INTO books( "number" , title) VALUES ( '978-0307463746' , 'Rework' )

如果要將一個10位的 ISBN 轉(zhuǎn)成 13 位的,可以使用 isbn13() 函數(shù):

 

INSERT INTO books( "number" , title) VALUES (isbn13( '0307463745' ), 'Rework' )

 
使用 hstore

你肯定已經(jīng)聽到很多關(guān)于 NoSQL 以及 key-value 數(shù)據(jù)庫的介紹,使用 hstore 模塊可以讓 PostgreSQL 具備 key-value 存儲的功能。

想象你正在處理一個表格,你對表格力列頭的名稱和類型處理沒有任何思路,而 hstore 就可以解決你的問題,hstore 將 key 和 value 都作為文本存儲,值可以為 NULL,但 key 不允許。

我們來創(chuàng)建一個使用 hstore 類型的表,并往表插入一些數(shù)據(jù):
 

CREATE TABLE kv_data( id integer , data hstore)INSERT into kv_data values(1, hstore( 'name' , 'amit' ) || hstore( 'city' , 'bangalore' )),(2, hstore( 'name' , 'raghu' ) || hstore( 'age' , '26' )),(3, hstore( 'name' , 'ram' ) || hstore( 'age' , '28' ));

你可以創(chuàng)建你自己的 key ,例如 “height”, “favourite_book” 等等,而 || 運算符用于級聯(lián)并列操作。

現(xiàn)在我們已經(jīng)有一個表和少量測試數(shù)據(jù),接下來看看怎么做查詢、更改和刪除操作,假設(shè)我們要查詢 city 為 bangalore 的數(shù)據(jù),可以使用如下SQL語句:
 

SELECT * from kv_data where data-> 'city' = 'bangalore'

要獲取表中的平均年齡可以使用如下語句:

 

SELECT avg ((data-> 'age' ):: integer ) age from kv_data;

這里的 ::integer 用于將文本數(shù)據(jù)轉(zhuǎn)成整數(shù),以便可以使用數(shù)學(xué)函數(shù)。

要根據(jù)姓名進(jìn)行排序,方法是:

 

SELECT * from kv_data order by data-> 'name' desc

將所有城市更改為 delhi :
 

UPDATE kv_data SET data = data || ( 'city' => 'delhi' );

然后刪除 age 這個鍵:

 

UPDATE kv_data set data = delete (data, 'age' )

或者刪除名為 amit 的記錄:
 

DELETE from kv_data where data-> 'name' = 'amit'

雖然這不是一個真正的 key-value 存儲服務(wù)器,但 hstore 還是提供了做為 NoSQL 數(shù)據(jù)庫足夠的靈活性。

其他有用的模塊

這里還有幾個你可能會用到的模塊:

  •     Pgcrypto 提供了哈希和加密函數(shù),支持 SHA, MD5, Blowfish, AES 等算法
  •     Citext 增加了大小寫敏感的文本數(shù)據(jù)類型,數(shù)據(jù)使用小寫存儲
  •     Uuid-ossp 提供了全局唯一標(biāo)示符的函數(shù)
  •     Pg_trgm 增加了基于 trigram 匹配的字符串查找函數(shù)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
久热国产在线| 91亚洲欧美| www.jizz在线观看| www.操操操.com| 狠狠操视频网站| 国产女人在线观看| 国产精品久久久久一区二区国产| 国产高清免费av在线| 色吊丝av中文字幕| 国产一二在线观看| 69日小视频在线观看| av麻豆国产| 中文字幕乱在线伦视频乱在线伦视频 | 在线一区二区三区精品| av手机免费观看| 最近久乱中文字幕| 亚洲夜夜综合| 国产天堂视频| 超碰在线网址| 在线中文字幕第一页| 日本视频三区| 精品视频一二三| 国产美女免费观看| 天堂√中文在线| 国产高清视频免费最新在线| 超碰在线中文| 免费一区二区三区视频狠狠| 午夜视频99| 久久国产精品久久久久久小说| 国产视频2区| 国产精品自拍亚洲| 亚洲jjzzjjzz在线观看| 天天操夜夜操天天射| 亚洲激情丁香| 在线免费看黄网站| 国产黄色小视频| 国产一级免费看| 国产香蕉视频在线看| 欧美在线中文| 三级小说一区| 99re6在线视频精品免费| 国产经典av| 最新黄网在线观看| 91超碰在线免费| 国产蜜臀av在线播放| 久久五月精品| 国产在线激情视频| 国产在线第一页| 国产精品午夜久久久久久| 欧美视频免费一区二区三区 | 国产亚洲精品午夜高清影院| 日本欧洲一区| 国产精品作爱| 国产变态拳头交视频一区二区| 国产视频精品久久| 国产图片综合| 在线中文字幕av| 亚洲电影先锋| 久热国产在线视频| 国产免费av网站| 国产高清视频在线观看| 精品国产免费第一区二区| 96久久久久久| 欧美啪啪精品| 国产偷窥洗澡视频| 亚洲精品影视在线| 天天操天天曰| 91在线中文| 黄色国产网站在线观看| 国产一二三区在线观看| 2018狠狠干| www在线观看播放免费视频日本| 成人欧美亚洲| 夜夜操com| 国产精品合集一区二区| 青青免费在线视频| 国产videos| 久热国产在线| 在线国产1区| 国产一二三区在线视频| a视频在线播放| 国产精品久久久久久久久鸭 | 国内精品不卡| 国产精品久久在线| 天天操人人爽| 亚洲视频手机在线观看| 国产一区二区三区不卡在线| 亚洲妇熟xxxx妇色黄| 国产精选在线视频拍拍拍| 亚洲成人在线播放| 精品视频一二三| 国产精品178页| 国产色在线播放| 九九热在线免费视频| 中文字幕av在线| √天堂资源中文www| 综合激情丁香| 国产免费av网站| 日本久久网站| 毛片在线视频| 男人天堂v视频| 奇米影视狠狠狠| 麻豆电影传媒二区| 青草在线视频在线观看| www黄在线观看| 麻豆国产视频| 狠狠色综合久久婷婷| 免费看黄视频网站| 欧美激情福利视频在线观看免费| 四虎成人免费| 九九热免费视频| 五月天天在线| 国产青青视频| 91在线高清| 久久久久久久久久久久网站 | 欧美日韩亚洲第一页| www.狠狠艹| 国产精品亚洲第五区在线| 国产视频在线播放| 精品国内自产拍在线视频| 夜夜爽夜夜操| 国产免费av在线| 91午夜视频| 超碰在线中文| 国产高清视频在线| 女人色在线免费视频| 国产69精品久久久久孕妇国产69久久 | 国产区在线视频| 在线激情小视频| 综合蜜桃精品| av免费在线免费| 最新天堂资源在线资源| 国产福利资源| 久久精品视频免费看| 99热在线观看免费| 亚洲私人影吧| 精品成人免费自拍视频| 国产永久免费高清在线观看视频| 国产h在线观看| 国产桃色电影在线播放| 日韩中文字幕久久久经典网| 国产黄色在线观看| 好男人免费精品视频| 精精国产xxxx视频在线中文版| 久久精品亚洲7777影院| 在线观看中文字幕| 国产激情自拍视频| 1区2区3区在线| 欧美人成在线观看网站高清| 中文字幕一区二区三区免费视频| av手机免费观看| 精品黄色免费中文电影在线播放| 天天操夜夜操天天射| 九七电影韩国女主播在线观看| 天堂网中文在线| 日本福利午夜视频在线| 亚洲国产精品区| 午夜在线视频| eeuss影院在线| www.91av| 欧美a免费在线| 免费a级在线播放| 黄色av免费在线| 麻豆精品不卡国产免费看| 亚洲一区免费在线| 亚洲wwwwww| 热99在线观看| 国产91大片| 国产系列在线观看| 136福利第一导航国产在线| 精品a在线观看| 毛片网站在线观看| 日本中文字幕高清视频| 国产精品9区| 四虎成人免费| 国产精品一区二区三区视频网站 | 永久免费网站在线| 亚洲精品自产拍在线观看| 亚洲欧美综合乱码精品成人网| 性网站在线看| 国产小视频在线观看| 国产人成高清视频观看| 精品无人区乱码1区2区3区免费| 性网站在线播放| 国产农村av| 精品国内自产拍在线视频| 不卡av免费观看| 国产呻吟对白刺激无套视频在线| 在线亚洲不卡| 最近中文字幕在线中文视频| 国产黄色在线观看| 免费看ww视频网站入口| 国产精品久久麻豆| 久久亚洲天堂| 在线视频观看国产| 国产图片综合| 国产在线第一页| jizz在线视频| 国产成人夜间影院在线观看| 久热久精久品这里在线观看|