重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

包含postgresql默认的词条

postgresql的默认用户名和密码是多少

1、关闭数据库服务

创新互联专业为企业提供南皮网站建设、南皮做网站、南皮网站设计、南皮网站制作等企业网站建设、网页设计与制作、南皮企业网站模板建站服务,10余年南皮做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

2、进入数据库的工作空间目录 (如果是建库是没有另外指定,应该就是postgresql安装目录下的 data 目录)

3、编辑修改文件 pg_hba.conf, 把连接权限设置的 md5 加密方式 改成 trust以我的为例,原本设置是

1

2

3

4

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# IPv4 local connections:

host all all 127.0.0.1/32 md5

修改为

1

2

3

4

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# IPv4 local connections:

host all all 127.0.0.1/32 trust

4、从新启动postgresql数据库服务

5、可以不用密码就能用postgres用户登陆,然后执行修改用户密码的操作

6、修改 pg_hba.conf 文件,改回到 md5 方式,再重启数据库服务就ok了

7、再执行建用户,和建库操作

createuser.exe -s -P foo -U postgres

createdb.exe --encoding=UTF8 --owner=foo --template=template_postgis -Ufoo

参数:

--encoding=UTF8 设置数据库的字符集

--owner=foo 设置数据库的所有者

--tmplate=template_postgis 设置建库的模板,该模板支持空间数据操作

--Ufoo 用foo用户身份建立数据库

怎样让postgresql创建数据库时默认为UTF8编码

新建一个模板,比如

template_utf8

,设置好utf-8以及plpgsql之类的lang还有插件,从这个数据库新建就全是uft-8了。

如果是更改的话,需要先把数据库导出为sql,

再新建,而后导入。导入前,修改sql里的create

语句,指定字符集。有汉字的话,另存为utf-8的编码,再导入。

怎样让 PostgreSQL 创建数据库时默认为 UTF8 编码

postgres=# \h create database

Command: CREATE DATABASE

Description: create a new database

Syntax:

CREATE DATABASE name

[ [ WITH ] [ OWNER [=] user_name ]

[ TEMPLATE [=] template ]

[ ENCODING [=] encoding ]

[ LC_COLLATE [=] lc_collate ]

[ LC_CTYPE [=] lc_ctype ]

[ TABLESPACE [=] tablespace ]

[ CONNECTION LIMIT [=] connlimit ] ]

--一个例子,指定字符集

CREATE DATABASE wapreader

WITH OWNER = wapreader

TEMPLATE = template0

ENCODING = 'UTF8'

TABLESPACE = tbs_wapreader;

Postgresql数据库如何新建登录用户

我们使用Postgresql数据库的时候,默认都是用postgres用户进行数据操作。但是有时为了数据安全,我们会另外建一些账号给相关的工作人员使用。那么Postgresql数据库中如何新建登录用户呢?下面我给大家分享一下。

工具/材料

pgAdmin4

01

首先打开Postgresql的管理工具pgAdmin4,接着双击服务器名称,如下图所示

02

在弹出的Connect to Server界面中输入postgres用户的密码,然后点击OK按钮,如下图所示

03

进入到数据库以后右键单击"登录/组角色"选项,选择Create下面的Login/Group Role选项,如下图所示

04

接下来会弹出创建登录用户的界面,我们先给用户起一个名字,尽量是英文,如下图所示

05

然后切换到Definition页卡,给登录用户设置一个登录密码,如下图所示,注意Connection limit要设置为-1

06

接着切换到Privileges界面,这里需要给登录用户设置一下操作权限,大家可以根据自己的需要设置即可,如下图所示

07

接下来切换到Membership页卡,给登录用户设置一个角色,这里我直接把管理员的角色给它了,如下图所示

08

上述设置完毕以后回到数据库主界面,我们就可以看到"登录/组角色"下面就已经有我们新建的登录用户了,如下图所示

09

最后我们断开当前的连接,用新建的用户进行登录,如果登录正常的话则代表一切设置成功,如下图所示

PostgreSQL全文检索简介

PostgreSQL自带有一个简易的全文检索引擎,可以实现小规模数据量的全文检索功能。本文我们将引导介绍一下这个功能,对于小数据量的搜索这个功能是足够使用的,而无需搭建额外的ES等重量级的全文检索服务器。

PG的全文检索操作符是 @@ ,当一个 tsvector (文档)和 tsquery (条件)匹配时返回 true ,并且前后顺序无影响:

和普通的SQL查询一样,只要在 WHERE 条件中使用这个符号就代表使用全文检索条件筛选文档了。如:

@@ 操作符支持隐式转换,对于 text 类型可以无需强类型转换( ::tsvector 或 to_tsvector(config_name, text) ),所以这个操作符实际支持的参数类型是这样的:

tsquery 查询条件并不是简单的正则,而是一组搜索术语,使用并且使用布尔操作符 (AND)、 | (OR)和 ! (NOT)来组合它们,还有短语搜索操作符 - (FOLLOWED BY)。更详细的语法参见 此文档 。

此外,PostgreSQL还提供了两个相对简化的版本 plainto_tsquery 和 phraseto_tsquery 。

plainto_tsquery ( plainto_tsquery([ config regconfig, ] querytext text) returns tsquery )用户将未格式化的 text 经过分词之后,插入 符号转为 tsquery :

phraseto_tsquery ( phraseto_tsquery([ config regconfig, ] querytext text) returns tsquery )行为和 plainto_tsquery 行为类似,但是分词之后不是插入 而是 - (FOLLOWED BY):

使用索引可以加快全文检索的速度。对于全文检索来说,可选的索引类型是 GIN (通用倒排索引)和 GIST (通用搜索树),官方文档更推荐使用 GIN索引 。创建一个 GIN 索引的范例:

也可以是一个连接列:

还可以单独创建一个 tsvector 列,为这个列创建索引:

除了普通的 ORDER BY 条件之外,PostgreSQL为全文检索提供了两个可选的排序函数 ts_rank([ weights float4[], ] vector tsvector, query tsquery [, normalization integer ]) returns float4 和 ts_rank_cd([ weights float4[], ] vector tsvector, query tsquery [, normalization integer ]) returns float4 ,以便实现基于 权重 的排序。

此外,对于PostgreSQL 9.6以上的版本还可以使用 RUM index 排序。(注意,这个是扩展,默认不包含)。

PostgreSQL默认的分词字典中并不包含中文分词字典,因此我们必须手工引入。目前一个比较好的项目是 zhparser ,同时这个插件也是阿里云的RDS默认包含的。安装和启用没什么好说的。值得一提的是分词配置参数。

在 CREATE EXTENSION 之后,必须配置分词参数才能正确进行分词和查找,否则什么都查不到。官方文档提供的一个配置策略是:

n,v,a,i,e,l 这几个字母分别表示一种token策略,只启用了这几种token mapping,其余则被屏蔽。具体支持的参数和含义可以用 \dFp+ zhparser 显示:

WITH simple 表示词典使用的是内置的simple词典,即仅做小写转换。根据需要可以灵活定义词典和token映射,以实现屏蔽词和同义词归并等功能。

比如我们看下面这个例子:

可以看到 江淮 这个词组在查询的时候被忽略了,我们启用 j (abbreviation,简称)再看看结果:

所以实际使用中要设置合理的token types,过少将导致搜索结果不准确,过多将导致性能下降。此外,还有一些诸如 短词复合: zhparser.multi_short = f 这一类的控制分词结果的选项,根据实际使用酌情开启。


文章名称:包含postgresql默认的词条
新闻来源:http://cqcxhl.cn/article/dscjdjp.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP