广告
返回顶部
首页 > 资讯 > 数据库 >怎么在PostgreSQL中安装扩展模块
  • 687
分享到

怎么在PostgreSQL中安装扩展模块

2024-04-02 19:04:59 687人浏览 泡泡鱼
摘要

这期内容当中小编将会给大家带来有关怎么在postgresql中安装扩展模块,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。安装模块首先安装 postgresql-contr

这期内容当中小编将会给大家带来有关怎么在postgresql中安装扩展模块,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

安装模块

首先安装 postgresql-contrib 包并重启数据库服务器,然后检查 contrib 目录看是否包含一些可用模块:

 

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

然后我们创建一个名为 module_test 的数据库
 

su postgres
createdb module_test

然后我们将模块 chkpass, fuzzystrmatch, isn 和 hstore 应用到 module_test 数据库,执行下面命令即可:
 

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

接下来,我们来看看每个模块是如何使用的。
 
使用 chkpass

chkpass 模块引入一个新的数据类型 “chkpass” 这个类型用来存储一个加密的字段,例如密码。使用方法可以从下面的 SQL 里看到,存入 chkpass 字段的字符串会自动进行加密:

 

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进行身份认证:
 

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

其中 = 操作符使用了 eq(column_name, text) 方法,该方法由 chkpass 模块提供用于测试是否相等。chkpass 使用 Unix 的 crypt() 函数,因此加密效果比较弱,该函数只对字符串的前8位进行加密,只要前8位相同的字符串就被认为是相等的。因此不建议在实际生产环境中使用 chkpass 模块,建议使用 pGCrypto 模块。
 
使用 fuzzystrmatch

该模块提供的函数包括:soundx(), difference(), levenshtein() 和 metaphone() 。soundx() 和 metaphone() 是语音算法,将文本字符串转成基于发音的代码字符串。而 difference() 和 levenshtein() 则返回数值代表两个输入字符串的相似度。

让我们先看看 levenshtein() 和 metaphone() 函数:
 

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

该查询返回 2,很显然。

metaphone() 函数需要两个参数,一个是文本字符串,另外一个是输出代码的最大长度的:
 

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

如果你试图获取两个字符串的 Levenshtein 距离,那将返回0:
 

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

这意味着两个字符串发音类似。

fuzzystrmatch 用在网站实现搜索功能上是非常有用的,而且可用于实现拼写检查和错误关键字纠正,相当于是 Google 上的“Did you mean...”

使用 isn

该模块提供了存储国际标准数值的数据类型,例如 International Standard Book Numbers (ISBN), International Standard Music Numbers (ISMN), International Standard Serial Numbers (ISSN), Universal Product Codes (UPC), 等等。同时提供了校验函数、类型转换函数等等。

让我们来测试存储图书信息:
 

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

INSERT 语句将会执行错误,因为输入的字符串不是一个有效的 ISBN 号,而下面的语句就可以正确执行:
 

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

如果要将一个10位的 ISBN 转成 13 位的,可以使用 isbn13() 函数:

 

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

 
使用 hstore

你肯定已经听到很多关于 NoSQL 以及 key-value 数据库的介绍,使用 hstore 模块可以让 PostgreSQL 具备 key-value 存储的功能。

想象你正在处理一个表格,你对表格力列头的名称和类型处理没有任何思路,而 hstore 就可以解决你的问题,hstore 将 key 和 value 都作为文本存储,值可以为 NULL,但 key 不允许。

我们来创建一个使用 hstore 类型的表,并往表插入一些数据:
 

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' ));

你可以创建你自己的 key ,例如 “height”, “favourite_book” 等等,而 || 运算符用于级联并列操作。

现在我们已经有一个表和少量测试数据,接下来看看怎么做查询、更改和删除操作,假设我们要查询 city 为 bangalore 的数据,可以使用如下SQL语句:
 

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

要获取表中的平均年龄可以使用如下语句:

 

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

这里的 ::integer 用于将文本数据转成整数,以便可以使用数学函数。

要根据姓名进行排序,方法是:

 

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 存储服务器,但 hstore 还是提供了做为 NoSQL 数据库足够的灵活性。

上述就是小编为大家分享的怎么在PostgreSQL中安装扩展模块了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: 怎么在PostgreSQL中安装扩展模块

本文链接: https://www.lsjlt.com/news/55346.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在PostgreSQL中安装扩展模块
    这期内容当中小编将会给大家带来有关怎么在PostgreSQL中安装扩展模块,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。安装模块首先安装 postgresql-contr...
    99+
    2022-10-18
  • 怎么在php中安装mysql扩展模块
    今天就跟大家聊聊有关怎么在php中安装mysql扩展模块,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多...
    99+
    2023-06-14
  • 怎么在postgresql中安装uuid扩展
    在postgresql中安装uuid扩展的方法:1.启动postgresql服务;2.登录postgresql数据库;3.使用create extension命令安装uuid扩展;4.执行uuid_generate_v4()命令查看是否安装...
    99+
    2022-10-19
  • centos怎么安装php扩展模块
    本文操作环境:centos7系统、php 7.3、thinkpad t480电脑。在centos系统中我们一般可以使用两种方式来安装扩展模块,一种方法是yum命令,另一种方法是phpize。下面我们就来介绍下这两种方法,一起来看下吧。一、y...
    99+
    2021-08-26
    centos php 扩展
  • 如何在PHP7中安装mysql扩展模块
    这期内容当中小编将会给大家带来有关如何在PHP7中安装mysql扩展模块,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。解压# tar xzvf mysql-45881bd.t...
    99+
    2023-06-15
  • 怎么给PostgreSQL安装扩展包
    这篇文章主要介绍“怎么给PostgreSQL安装扩展包”,在日常操作中,相信很多人在怎么给PostgreSQL安装扩展包问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么给P...
    99+
    2022-10-18
  • php安装ldap扩展模块
    (1)先安装openldap # yum -y install openldap-devel openldap # ln -sv  /usr/lib64/libldap* /usr/lib/ (2)进入php的编译安装包目录下 # cd...
    99+
    2023-09-08
    php 服务器
  • PHP扩展模块opcode的安装方法
    本篇内容介绍了“PHP扩展模块opcode的安装方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Opdumper安装Opdumper的源码...
    99+
    2023-06-17
  • 怎么在php7中安装oauth2扩展
    本篇内容介绍了“怎么在php7中安装oauth2扩展”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装OAuth3扩展要在PHP7中安装OA...
    99+
    2023-07-05
  • 怎么在php7中安装memcache扩展
    今天就跟大家聊聊有关怎么在php7中安装memcache扩展,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。php7安装memcache扩展下载文件,解压缩memcache windo...
    99+
    2023-06-15
  • 怎么在php中安装seaslog扩展
    这篇文章给大家介绍怎么在php中安装seaslog扩展,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、检查系统环境情况使用phpinfo()检查系统环境情况,找到需要下载的配置信息。Thread Safety = e...
    99+
    2023-06-15
  • Python(三)安装扩展库与模块导入
    1、我们使用pip来管理Python扩展库,常用的pip命令使用方法pip命令示例说明pip install SomePackage安装SomePackage模块pip list列出当前已安装的所有模块pip install --upgr...
    99+
    2023-01-31
    模块 Python
  • 在IIS下怎么安装PHP扩展
    要在IIS下安装PHP扩展,需要按照以下步骤进行操作:1. 下载PHP扩展:访问PHP官方网站(https://windows.php.net/download/)下载与您的PHP版本和操作系统兼容的扩展文件。确保选择与您的PHP版本和...
    99+
    2023-08-11
    IIS PHP
  • 在centos7中怎么为php7安装redis扩展
    这篇文章主要介绍在centos7中怎么为php7安装redis扩展,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!下载redis下载redis,解压,编译:$ wget http://downloa...
    99+
    2023-06-15
  • 怎么在Python中安装openpyxl模块
    这篇文章给大家介绍怎么在Python中安装openpyxl模块,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。步骤如下:官网https://pypi.org/project/jdcal/#files下载jdcal安装压缩...
    99+
    2023-06-14
  • 怎么在lnmp中安装PHP模块
    本篇文章给大家分享的是有关怎么在lnmp中安装PHP模块,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、安装imap模块1、安装imap模块前需要先安装imap所需的库:Ce...
    99+
    2023-06-13
  • 在phpstudy中安装php扩展,如apcu扩展等
    【APC是什么】 Alternative PHP Cache (APC)是一种对PHP有效的开放源高速缓冲储存器工具,他能够缓存opcode的php中间码。 【如何安装APC】 下载适合你php版本的...
    99+
    2023-09-10
    php apache 开发语言
  • php7.2中怎么安装fileinfo扩展
    在 PHP 开发中,经常需要使用 fileinfo 对上传的文件进行类型检测、编码检测等操作,这就需要安装 fileinfo 扩展。而在 PHP 7.2 版本中,需要使用新的方法来安装该扩展。本文将介绍如何在 PHP 7.2 中安装 fil...
    99+
    2023-05-14
    php
  • php7中怎么安装yaf扩展
    这篇文章主要介绍了php7中怎么安装yaf扩展,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php7 yaf扩展的安装方法:1、下载yaf扩展库源码安装包;2、下载yaf扩展...
    99+
    2023-06-15
  • CENTOS7中怎么安装mbstring扩展
    这篇文章将为大家详细讲解有关CENTOS7中怎么安装mbstring扩展,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Uncaught Error: Call to undefined function ...
    99+
    2023-06-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作