问题标签 [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.
bash - 在 BASH 中使用与 PostgreSQL 的开放数据库连接?
我必须使用 BASH 连接到我们的 PostgreSQL 9.1 数据库服务器来执行各种 SQL 语句。
我们有一个由于重复打开/关闭太多数据库连接而导致的性能问题(现在,我们将每个语句发送到 psql 命令)。
我正在研究使用命名管道为 SQL 语句块维护开放数据库连接的可能性。
我遇到的问题是,一旦打开连接并执行 SQL 语句,我不知道何时停止从 psql 读取。我考虑过解析输出以查找提示,但考虑到字符可能嵌入到 SELECT 输出中的可能性,我不知道这是否安全。
有人有建议吗?
这是迄今为止我所拥有的简化示例...
sql - 在 postgresql 上执行查询的奇怪行为
我将尝试解释发生在我身上的事情,而不是粘贴我的每一段代码,因为它很多。
如果我单独运行此查询,它将返回 6.0(预期行为)
如果我运行这个其他查询,它会返回 2(再次是预期的行为)
然而,有了这个小小的改变,它就会停止工作并且什么也不返回
如果您能帮助我,我将不胜感激,因为我不知道是什么导致了这个问题。此外,我一直在以 TDD 风格进行编码,所以我有测试来证明正确的行为,而且我很高兴它会起作用
谢谢
database - PostgreSQL:创建 .sql 文件以最快的方式将数据插入表中
我正在做一个项目,我必须解析一堆 .csv 文件,所有不同的格式并通过一些 C++ 函数包含不同类型的数据。之后,我从文件中提取数据并创建一个 .sql 文件,该文件可以在 psql 中导入,以便稍后将数据插入 PostgreSQL 数据库。
但我无法找出 .sql 文件的正确语法。这是一个示例表和一个示例 .sql 文件,重现了我遇到的相同错误:
表创建代码:
insert.sql(在复制行之后,由单个制表符分隔的字段)
现在如果我执行上面的 sql 文件,我会得到以下错误:
如果有帮助,我正在运行 PostgreSQL 9.1 版本,并且所有上述查询都是通过 PGAdmin III 软件执行的。
sql - 无法在 PostgreSQL 中查询表的详细信息
我只是想查询Users
表中存在的所有详细信息:
但它说表Users
不存在:
我可能犯了一个愚蠢的错误。
postgresql - 在实际模式上执行另一个模式的触发器功能
我的问题很容易用一个例子来解释:我有一个“公共”模式(公共模式?),我在集群应用程序之间存储公共数据。
对于我的应用程序的每个实例,我都有一个角色(用作应用程序用户)。而且我有一个共同的角色,app_users
拥有read-only
共同模式的特权,并且每个应用程序角色都是一个member
。app_users
现在我的问题是:如何在 app_a 方案上设置触发器,以执行通用方案中的函数(过程),但影响(且仅影响)app_a 表?
我是说:
将访问 app_foo 的用户对 common_schema 中的 update_etime() 函数具有执行权限。
任何想法?
我已经四处搜索,但我找到从其他模式调用函数的唯一解决方案是类似的,execute 'select * from ' || schema_name || '.table_name';
但我认为这在我的情况下不会起作用,因为该函数必须与“本地”方案一起使用。
postgresql - 为什么 PostgreSQL 在函数中以不同的方式处理我的查询?
我有一个非常简单的查询,它并不比:
...运行时间不到 50 毫秒。
接受该查询并将其放入一个函数中:
此函数执行时select * from pie(123);
需要 22 秒。
如果我硬编码一个整数来代替 id_param,该函数将在 50 毫秒内执行。
为什么我在 where 语句中使用参数会导致我的函数运行缓慢?
编辑以添加具体示例:
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 varying
或column "FdataID" is of type integer
but expression is of type record
我的函数的代码如下:
postgresql - 更改域类型
我有一个 varchar(35) 的域类型,想将长度增加到 40。
我可以创建一个新域,然后只做 ALTER TABLE table ALTER COLUMN column TYPE new_domain;
但是,我必须对所有使用该域的表执行此操作。无论如何使用 ALTER DOMAIN 语法来增加长度/更改数据类型?
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 的经历。
请指出网络上任何相关的有用链接。我试过谷歌搜索,但到目前为止没有成功。
谢谢并恭祝安康
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):不允许操作
有人知道如何解决这个问题吗?
谢谢