问题标签 [postgresql-9.1]

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 投票
3 回答
2535 浏览

bash - 在 BASH 中使用与 PostgreSQL 的开放数据库连接?

我必须使用 BASH 连接到我们的 PostgreSQL 9.1 数据库服务器来执行各种 SQL 语句。

我们有一个由于重复打开/关闭太多数据库连接而导致的性能问题(现在,我们将每个语句发送到 psql 命令)。

我正在研究使用命名管道为 SQL 语句块维护开放数据库连接的可能性。

我遇到的问题是,一旦打开连接并执行 SQL 语句,我不知道何时停止从 psql 读取。我考虑过解析输出以查找提示,但考虑到字符可能嵌入到 SELECT 输出中的可能性,我不知道这是否安全。

有人有建议吗?

这是迄今为止我所拥有的简化示例...

0 投票
1 回答
81 浏览

sql - 在 postgresql 上执行查询的奇怪行为

我将尝试解释发生在我身上的事情,而不是粘贴我的每一段代码,因为它很多。

如果我单独运行此查询,它将返回 6.0(预期行为)

如果我运行这个其他查询,它会返回 2(再次是预期的行为)

然而,有了这个小小的改变,它就会停止工作并且什么也不返回

如果您能帮助我,我将不胜感激,因为我不知道是什么导致了这个问题。此外,我一直在以 TDD 风格进行编码,所以我有测试来证明正确的行为,而且我很高兴它会起作用

谢谢

0 投票
2 回答
3823 浏览

database - PostgreSQL:创建 .sql 文件以最快的方式将数据插入表中

我正在做一个项目,我必须解析一堆 .csv 文件,所有不同的格式并通过一些 C++ 函数包含不同类型的数据。之后,我从文件中提取数据并创建一个 .sql 文件,该文件可以在 psql 中导入,以便稍后将数据插入 PostgreSQL 数据库。

但我无法找出 .sql 文件的正确语法。这是一个示例表和一个示例 .sql 文件,重现了我遇到的相同错误:

表创建代码:

insert.sql(在复制行之后,由单个制表符分隔的字段)

现在如果我执行上面的 sql 文件,我会得到以下错误:

如果有帮助,我正在运行 PostgreSQL 9.1 版本,并且所有上述查询都是通过 PGAdmin III 软件执行的。

0 投票
1 回答
1976 浏览

sql - 无法在 PostgreSQL 中查询表的详细信息

我只是想查询Users表中存在的所有详细信息:

但它说表Users不存在:

我可能犯了一个愚蠢的错误。

0 投票
1 回答
2574 浏览

postgresql - 在实际模式上执行另一个模式的触发器功能

我的问题很容易用一个例子来解释:我有一个“公共”模式(公共模式?),我在集群应用程序之间存储公共数据。

对于我的应用程序的每个实例,我都有一个角色(用作应用程序用户)。而且我有一个共同的角色,app_users拥有read-only共同模式的特权,并且每个应用程序角色都是一个memberapp_users

现在我的问题是:如何在 app_a 方案上设置触发器,以执行通用方案中的函数(过程),但影响(且仅影响)app_a 表?

我是说:

将访问 app_foo 的用户对 common_schema 中的 update_etime() 函数具有执行权限。

任何想法?

我已经四处搜索,但我找到从其他模式调用函数的唯一解决方案是类似的,execute 'select * from ' || schema_name || '.table_name';但我认为这在我的情况下不会起作用,因为该函数必须与“本地”方案一起使用。

0 投票
1 回答
4086 浏览

postgresql - 为什么 PostgreSQL 在函数中以不同的方式处理我的查询?

我有一个非常简单的查询,它并不比:

...运行时间不到 50 毫秒。

接受该查询并将其放入一个函数中:

此函数执行时select * from pie(123);需要 22 秒。

如果我硬编码一个整数来代替 id_param,该函数将在 50 毫秒内执行。

为什么我在 where 语句中使用参数会导致我的函数运行缓慢?


编辑以添加具体示例:

0 投票
1 回答
2726 浏览

postgresql - Postgresql 触发器选择数据并将其写入新表

我在 Windows 上使用 PostgreSQL 9.1。

我正在自动将数据从机器收集到 PostgreSQL 数据库中,并且工作正常。数据保存在几个表中,我感兴趣的一个叫做testrecord. 我有第二个静态表调用testcode和表之间的连接。我想在其中选择一些传入数据testrecord并填充一个名为 的新表finaldata,其中有一个匹配项,parameter并且该表testid不为空(null)。

问题 1

INSERT INTO这样做是JOIN最好的方法吗?

问题2

目前所有的字段都是varchar。当我在表中添加一个整数字段finaldata(例如自动递增序列)时,我会收到诸如column "FdataID" is of type integer but expression is of type character varyingcolumn "FdataID" is of type integer but expression is of type record

我的函数的代码如下:

0 投票
1 回答
2495 浏览

postgresql - 更改域类型

我有一个 varchar(35) 的域类型,想将长度增加到 40。

我可以创建一个新域,然后只做 ALTER TABLE table ALTER COLUMN column TYPE new_domain;

但是,我必须对所有使用该域的表执行此操作。无论如何使用 ALTER DOMAIN 语法来增加长度/更改数据类型?

0 投票
2 回答
2847 浏览

python - 在 Django 中为 ubuntu 11.10 设置 Postgresql 9.1 数据库


我正在尝试在 Django 1.3 中配置 Postgresql 9.1 。
注意:我在 Ubuntu 11.10 (oneric) 中执行此操作。我还安装了 postgis 1.5 以与 Postgresql 9.1 一起使用

据我所知,我已经安装了所有需要的依赖项。
我也阅读了这个博客的说明。

在执行以下操作时:

我收到了这个错误堆栈。

在 local_settings.py 中,我将引擎名称设置为“django.db.backends.postgresql_psycopg2”。

但是在参考这个之后,我将引擎名称设置为 'django.contrib.gis.db.backends.postgis' ,我得到以下错误堆栈:

我什至确保,我安装了 postgis (Postgresql-9.1-postgis)。

我哪里错了?我错过了什么?这些是我早期使用 Python、Django、Postgresql 和 Postgis 的经历。
请指出网络上任何相关的有用链接。我试过谷歌搜索,但到目前为止没有成功。

谢谢并恭祝安康

0 投票
2 回答
9754 浏览

postgresql-9.1 - Postgresql 9.1 无法发送停止信号。不允许操作

我最近在我的 Mac 上安装了 PostgreSQL 9.1,我尝试使用 pg_ctl 命令启动和停止它,但没有成功。

数据文件的默认安装文件夹是 /Library/PostgreSQL/9.1/data

默认情况下只能由“postgres”访问(即其他任何人都没有权限),所以我不得不更改该文件夹的权限(为什么要安装默认情况下无法使用的东西?)

但是,发出命令:

[mitch@localhost ~]$ /Library/PostgreSQL/9.1/bin/pg_ctl -l ~/Library/Logs/postgreslog -D /Library/PostgreSQL/9.1/data stop

返回错误

pg_ctl:无法发送停止信号(PID:50):不允许操作

有人知道如何解决这个问题吗?

谢谢