标签: postgresql-extensions

如何安装附加模块 pg_trgm

我只想知道如何安装在 trigram 索引方案中使用的模块pg_tgrm,该方案允许您在索引上执行非锚定搜索模式

WHERE foo LIKE '%bar%';
Run Code Online (Sandbox Code Playgroud)

postgresql index installation postgresql-9.3 postgresql-extensions

39
推荐指数
2
解决办法
5万
查看次数

PostgreSQL 生成 UUID 的两种不同方式:gen_random_uuid 与 uuid_generate_v4?

下面两个函数有什么区别

他们在幕后是一样的吗?使用一个有任何性能影响吗?

postgresql uuid postgresql-extensions

17
推荐指数
1
解决办法
1万
查看次数

Postgresql 无需超级用户即可启用扩展

我有一个 PostgreSQL 9.5 服务器,上面有自动为用户创建角色和数据库的脚本。在这些数据库中启用特定扩展(例如 pgcrypto)会很有帮助,但据我所知,必须是超级用户才能运行CREATE EXTENSION. 有没有办法在不使用超级用户帐户手动登录的情况下启用此类扩展?

postgresql permissions postgresql-extensions

15
推荐指数
1
解决办法
2万
查看次数

是否建议将扩展安装到 pg_catalog 架构中?

由于pg_catalog架构中的对象隐含在search_path( docs ) 中,是否建议在该架构中安装扩展?

postgresql best-practices postgresql-9.4 postgresql-extensions

13
推荐指数
2
解决办法
9536
查看次数

无法打开扩展控制文件 plpython3u.control : 没有这样的文件或目录

我想在我的 postgresql 数据库中有 python3 来编写存储过程。

psql客户端中,当我输入命令时create extension plpython3u,出现错误:

couldn't open extension control file /usr/share/postgresql/9.1/extension/plpython3u.control : No such file or directory
Run Code Online (Sandbox Code Playgroud)

我已经检查过,目录中有 plpythonu.control 和 plpython2u.control ,但不是版本 3 的那个。

但是,我已经从 depot安装了软件包python3python3-postgresql(除其他外)。我使用的是 Ubuntu 12.04,内核 3.2.0.38,安装了 postgresql 9.1。

我应该安装(或做什么)才能在我的机器上安装 plpython3u.control 文件并在我的数据库中使用 python3?

postgresql postgresql-9.1 python postgresql-extensions

8
推荐指数
1
解决办法
5123
查看次数

如何在 Postgres 9.3 上安装/启用 uuid-ossp 扩展?

我在 Ubuntu Linux 14.04 上使用 Postgres 9.3。如何安装/启用 uuid-ossp 扩展?我首先验证了 contrib 包是否已安装……

root@prodbox:/home/rails/myproject# apt-get install postgresql-contrib
Reading package lists... Done
Building dependency tree       
Reading state information... Done
postgresql-contrib is already the newest version.
Run Code Online (Sandbox Code Playgroud)

然后我登录并尝试创建扩展...

root@prodbox:/home/rails/myproject# su - postgres
postgres@prodbox:~$ psql
psql (9.6.0, server 9.3.11)
Type "help" for help.

postgres=# CREATE EXTENSION "uuid-ossp";
ERROR:  could not open extension control file "/usr/share/postgresql/9.3/extension/uuid-ossp.control": No such file or directory
Run Code Online (Sandbox Code Playgroud)

我都没有想法了。我错过了什么?

postgresql postgresql-9.3 uuid postgresql-extensions

8
推荐指数
1
解决办法
2万
查看次数

以非超级特权用户身份创建 UUID 扩展

我需要在我的数据库上加载 uuid 扩展,这是在运行时创建的。创建数据库的用户不是超级用户,她只有“CREATEDB”权限。

有没有办法做到这一点?谢谢。

postgresql postgresql-extensions

7
推荐指数
1
解决办法
4319
查看次数

PostgreSQL 9.3 Amazon RDS 在使用 UUID-OSSP 扩展生成 uuid 时出错

我在 RDS 上创建了数据库实例并使用了以下功能。它在本地开发机器上使用相同的 PostgreSQL 版本时出错。

create or replace function uuid() returns uuid as 'uuid-ossp', 'uuid_generate_v1' volatile strict language C;
Run Code Online (Sandbox Code Playgroud)

这是错误日志:

ERROR:  permission denied for language c
********** Error **********

ERROR: permission denied for language c
SQL state: 42501
Run Code Online (Sandbox Code Playgroud)

我在 ruby​​ on rails 3.2 中使用此函数为我的模式生成 uuid。

postgresql postgresql-9.2 postgresql-9.3 rails postgresql-extensions

6
推荐指数
1
解决办法
6161
查看次数

三元组词相似度究竟是如何工作的?

word_similarity 函数的文档说:

返回一个数字,该数字指示第一个字符串与第二个字符串中最相似的单词的相似程度。该函数在第二个字符串中搜索最相似的词,而不是最相似的子字符串。结果的范围是零(表示两个字符串完全不同)到一(表示第一个字符串与第二个字符串的一个单词相同)。

但是,如果“第一个字符串”包含多个单词,他们对结果应该是什么有点含糊。以下结果的解释是什么:

select word_similarity('foo bar','foo bar baz');
Run Code Online (Sandbox Code Playgroud)
| word_similarity |
| :-------------- |
| 1 |
select word_similarity('baz bar','foo bar baz');
Run Code Online (Sandbox Code Playgroud)
| word_similarity |
| :-------------- |
| 1 |
select word_similarity('baz foo','foo bar baz');
Run Code Online (Sandbox Code Playgroud)
| word_similarity |
| :-------------- |
| 0.8 |

dbfiddle在这里

postgresql postgresql-extensions postgresql-9.6

6
推荐指数
1
解决办法
2904
查看次数

如何选择属于 PostgreSQL 中给定扩展的函数?

我正在尝试编写一个SELECT从中pg_catalog提取函数名称、其架构名称和创建该函数的扩展名的函数。

拉取我使用的函数列表(简化版本)

SELECT pg_proc.proname, pg_namespace.nspname AS proschema
FROM pg_proc
    INNER JOIN pg_namespace ON (pg_namespace.oid = pg_proc.pronamespace)
Run Code Online (Sandbox Code Playgroud)

要选择我可以运行的扩展

SELECT pg_extension.extname, pg_namespace.nspname as extschema
FROM pg_catalog.pg_extension
    INNER JOIN pg_catalog.pg_namespace ON (pg_namespace.oid = pg_extension.extnamespace)
Run Code Online (Sandbox Code Playgroud)

现在我正在寻找它们在“”时创建的扩展和函数之间的链接CREATE EXTENSION。理想情况下,SELECT 应该生成 extension_name、extension_schema、foo_name、foo_schema 的列表

postgresql functions postgresql-extensions

6
推荐指数
1
解决办法
3002
查看次数