问题标签 [postgresql-extensions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
150 浏览

postgresql - 如何使用 MSVC 编写 Postgres 语言处理程序

这是代码,直接来自示例。64 位安装,x64 构建。

它编译并链接OK。这是SQL:

这是错误消息。

如此之近,却又如此之远。真的不知道在哪里看。


根据尼克·巴恩斯(Nick Barnes)编辑以显示答案。请注意,查看depends.exe 之前显示了2 个导出,现在是3 个。

0 投票
1 回答
1181 浏览

postgresql - 如何在 postgres 扩展的 Makefile 中为 installcheck 设置用户?

我正在测试一个创建简单 base36 PostgreSQL 扩展的示例。

但是,我在编写和使用单元测试用例 ( REGRESS =) 时遇到了问题。如果我使用sudo make installcheck,会有一个错误说

... ============== 删除数据库“contrib_regression” ==============

psql:致命:角色“root”不存在......

似乎 PostgreSQL 正在尝试使用当前登录用户来执行测试,在这种情况下不存在。如果我省略sudoand just do make installcheck,它会产生一个不同的错误,说明permission denied某事

CREATE DATABASE ERROR: permission denied to set parameter "lc_messages" command failed: "/usr/lib/postgresql/9.5/bin/psql" -X -c "ALTER DATABASE \"contrib_regression\" SET lc_messages TO 'C';ALTER DATABASE \"contrib_regression\" SET lc_monetary TO 'C';ALTER DATABASE \"contrib_regression\" SET lc_numeric TO 'C';ALTER DATABASE \"contrib_regression\" SET lc_time TO 'C';ALTER DATABASE \"contrib_regression\" SET timezone_abbreviations TO '默认';” “contrib_regression”/usr/lib/postgresql/9.5/lib/pgxs/src/makefiles/pgxs.mk:272:目标“installcheck”的配方失败 make:*** [installcheck] 错误 2

我的问题是:

Makefile我可以在 PostgreSQL 扩展中指定不同的用户(例如超级用户)吗?

或者,我可以解决问题,以便非超级用户可以执行installcheck

注意:Makefile是:

0 投票
1 回答
4116 浏览

postgresql - postgresql函数调用webservice

我想从 Postgresql 函数调用 web 服务。我已经看到了这个链接,其中显示了如何使用 pgpsql 代码 http://boundlessgeo.com/2012/04/http-for-postgresql/发出 http 请求

也显示在 Github https://github.com/pramsey/pgsql-http

但是我如何将此扩展添加到我的 PostgresSQL 中,或者是否有其他方法可以从 postgres 调用 http 服务?

我正在使用 PostgreSQL 9.5 Windows 版本。

0 投票
0 回答
315 浏览

postgresql - 为什么创建 postgis 扩展的过程会挂起?

在执行命令“create extension postgis;”时 我看到 psql 进程无限期挂起,strace 给我的唯一信息是它卡在这个无限期的 futex 调用中futex(0x2ac7aac6928c, FUTEX_WAIT, 1, NULL,我似乎无法弄清楚导致这个挂起进程的问题是什么。如果有人可以帮助我解决这个问题,将不胜感激。

0 投票
1 回答
2253 浏览

postgresql - 安装了附加模块 citext,但找不到类型“citext”?

我正在尝试在我的数据库上运行内联查询 - 已citext安装扩展程序(使用CREATE EXTENSION) - 但执行的查询在调用函数时不断抛出此错误:

如果我省略::citext演员表,它会说:

添加了citext扩展,它是架构的一部分并与其他查询一起使用。这一直随机出现 - 是什么原因造成的?

编辑:已安装的扩展:

搜索路径:

0 投票
2 回答
11671 浏览

postgresql - 用户不能使用扩展“uuid-ossp”

我正在开发一个应用程序,我决定在其中使用 UUID 作为主键和外键。为此,我使用了在开发环境中运行良好的扩展“uuid-ossp”。

现在,我正在安装测试环境。数据库设置是由客户编写的脚本强加的。结构是标准的:管理员用户、应用程序用户、应用程序命名空间等。

我可以使用管理员帐户创建扩展:

但是当我与数据库应用程序用户连接时,我无法生成 uuid :

admin_user 和 app_user 都在同一个数据库中。app_user 可以“看到”扩展但不能使用它:

有任何想法吗?

0 投票
1 回答
647 浏览

c - 带有 Visual Studio 2015 的 PostgreSQL 9.6.1 扩展

我正在尝试将 POWA 添加到我的 PostgreSQL 安装中。为此,我必须添加一个名为 pg_stat_statements 的扩展。由于我在 Windows 平台上,我必须创建此扩展的 DLL 并将其添加到 PostgreSQL 的 lib 文件夹中。我按照此链接中的教程进行操作。它适用于使用 Visual Studio 2010 的 PostgreSQL 9.3。但我使用的是 PostgreSQL 9.6.1 和 Visual Studio 2015。

我确信我没有错过该教程中的任何步骤。我已将编译模式设置为 C 并包含源文件路径。但是当我尝试构建我的项目时,我遇到了很多编译错误。

有关包含的路径和编译错误,请参见此图像

为什么即使在包含所有必要的源文件后仍会出现错误?当我包含 pg_stat_statements.c 文件时,我得到更多错误?

我不熟悉 C/C++ 编码。请帮我解决这个问题。

0 投票
1 回答
820 浏览

postgresql - 创建 Postgres 扩展 www_fdw 时出错

我想使用 PostgreSQL 的 www_fdw 扩展来从 Web 服务中读取数据。我使用这个命令来创建扩展:

但它给了我以下错误:

无法打开扩展控制文件“C:/Program Files (x86)/PostgreSQL/9.6/share/extension/www_fdw.control”:没有这样的文件或目录

我在 Windows 中工作。

知道错误的原因是什么吗?

0 投票
2 回答
4115 浏览

sql - 如何在安装了 SQL Extensions Toolkit 的 netezza 中找到数据库名称?

我试图找出安装了 SQL Extensions Toolkit 的数据库。

0 投票
2 回答
127 浏览

sql - release postgresql extension

I'm developing application that holds data in postgres. So i must prepare database before working with application, there must be created few tables. I'm creating this tables by running sql code but i think it's not convenient after i found this doc:

A useful extension to PostgreSQL typically includes multiple SQL objects; for example, a new data type will require new functions, new operators, and probably new index operator classes. It is helpful to collect all these objects into a single package to simplify database management

The main advantage of using an extension, rather than just running the SQL script to load a bunch of "loose" objects into your database, is that PostgreSQL will then understand that the objects of the extension go together

I believe that i must use this approach

What i don't understand is that how can i share my extension. I thought that it works like maven, you create your extension with custom types, functions, tables and than you can pack it, name it (eg my-ext-0.1), give a version and release into some kind of a repository. After that you can connect to a database, run sql 'create extension my-ext-0.1' and have everything done :)

I thought that 'create extension' command will download extension and install it without downloading this by hands. I use maven, ivy and i expected similar behaviour from postgresql.

Documentation says that you need to place your extension files under some directory and only than run 'create extension' under some database.

How do you create your extensions and share them between different servers?