问题标签 [postgresql-11]

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 投票
1 回答
1341 浏览

go - 如何查询和处理使用 go.uuid 创建并插入 PostgreSQL 11 的 UUID?

我在 PostgreSQL 表中插入了一个使用 go.uuid 创建的 UUID:

实际上在 postgreSQL 数据库中插入了一行:

为了使用 golang 变量进行查询,我首先尝试使用准备好的语句。首先,使用 db.PrepareContext :

其执行保持“空闲”,处于待机状态,没有结束并产生任何输出:

然后我用 db.Prepare() 尝试了这种方式:

在第二种情况下,执行似乎成功结束,但我不知道如何将 sql.Result 转换为可以处理的正确形式,例如简单地使用 fmt.Println() 显示或获取其他处理。那么...如何正确查询和处理使用 go.uuid 创建并插入 PostgreSQL 11 的 UUID?

期待您的帮助。马可

0 投票
1 回答
765 浏览

postgresql - Postgresql 11 如何根据时间戳重新排序数据库中的物理行

我有一个名为流的表,它有几行,我喜欢根据 created_on 列更改数据库中物理行的顺序。我总共有 179 行, row (id) 179 应该有最新的 created_on 日期,然后 row (id) 178 应该有第二个最新的 created_on 日期。正如您从下面的小片段中看到的那样,事情不是按顺序排列的,例如 id 172 上的日期比 id 179 上的日期新。我可以通过这样做得到正确的数据

但是他们希望它通过这样的 id 搜索

上面的以下查询产生了以下结果。我们的一切工作正常,但我们从 Postgres 10 迁移到 Postgres 11 并搞砸了事情的顺序。

在此处输入图像描述

0 投票
1 回答
474 浏览

postgresql - Postgres 顺序错误

Postgres order by 得到错误的结果:

如您所见,“ http://nautil.us/issue/70/variables/aging-is-a-communication-breakdown ”存在问题。它没有正确排序。

我使用 Python 和 psycopg2 将解析结果保存在 Postgres 中,并指出,我无法测试排序,导致 Postgres 返回 order by 错误。

UPD:再现:

x86_64-pc-linux-gnu 上的 PostgreSQL 11.2 (Debian 11.2-1.pgdg90+1),由 gcc (Debian 6.3.0-18+deb9u 1) 6.3.0 20170516,64 位编译

0 投票
2 回答
3917 浏览

bash - 从 postgres 函数/过程/触发器执行 Bash 脚本(Shell 脚本)

exec /home/postgres/test.sh 及其显示语法错误。您能否帮助如何将 bash 脚本调用到 postgres 功能/程序中

0 投票
1 回答
266 浏览

sql - 如何在不与 postgresql 11.2 冲突的情况下解决重复键错误

插入代码

如果我像上面那样插入,那么它工作得很好。而不是 CONFLICT 我使用了以下功能

这需要一些论据

但是当我在同一 id(12) 内更新 lts_i、lts_O 和 p_status

然后它也显示重复键错误。我不想在这里使用 CONFLICT,因为我在同一个表上有一个 UPDATE RULE,并且 postgresql 已经说“该事件是 SELECT、INSERT、UPDATE 或 DELETE 之一。请注意,包含 ON CONFLICT 子句的 INSERT不能用于具有 INSERT 或 UPDATE 规则的表。请考虑改用可更新视图。”

更新规则

如果 lts_i、lts_o 或 p_status 已更新,则将 current_date 插入同一员工表中的“今天”字段。

但绝对我需要规则,在这种情况下我该怎么办?

任何帮助,将不胜感激。谢谢。

0 投票
2 回答
169 浏览

node.js - 如何使用 datetime INTERVAL 编写 nodeJS 查询以获取 postgreSQL 数据库的最后 24 小时记录

我正在使用CURRENT_TIMESTAMP - INTERVAL '24 hours'我的.js文件中的 PostgreSQL DB 获取最近 24 小时的记录。但是由于查询中的单引号,我无法正确编写它。

我正在从 PostgreSQL 数据库中获取记录,并使用 angular 6 以条形图的形式显示它们。

这是我试图从.js文件运行以获取最近 24 小时记录的查询:

查询的最终结果应该是数据库最近的 24 小时记录。目前我收到错误

意外号码

0 投票
1 回答
3388 浏览

python - Python3 psycopg2:使用返回“没有要获取的结果”

我正在使用:

  • psvcopg2
  • python3.6
  • postgresql-11.2
  • 库本图 18.10

我正在成功插入一行,但 cursor.fetchall() 正在提升

即使我在 SQL 中使用 RETURNING 来检索 id。

我发现了 cursor.description 但它是空的(cursor.description == None)。

SQL 在 psql 终端中正常使用,根据请求返回 id。

蟒蛇代码

0 投票
2 回答
9020 浏览

postgresql - Postgres 提交可以存在于具有异常块的过程中吗?

我很难理解 Postgres 中的事务。我有一个可能会遇到异常的过程。到目前为止,我可能希望在程序的某些部分提交我的工作,以便在出现异常时不会回滚。

我希望在捕获异常并将异常信息插入日志记录表的过程结束时有一个异常处理块。

我将问题归结为一个简单的过程,如下所示,该过程在 PostgreSQL 11.2 上失败了

为什么这个存储过程不起作用?为什么我们从来没有看到它的输出,raise notice 'B'而是进入了异常块?是否可以使用 Postgres 11 存储过程执行我上面描述的操作?

编辑:这是一个完整的代码示例。将上述完整代码示例(包括create procedureandcall语句)粘贴到 sql 文件中,并在 Postgres 11.2 数据库中运行以进行重现。所需的输出将是函数打印Athen B,但它会打印AthenC以及异常信息。

另请注意,如果您注释掉所有异常处理块,使得该函数根本不捕获异常,则该函数将输出“A”然后“B”而不会发生异常。这就是为什么我将这个问题命名为“在具有异常块的过程中是否存在 Postgres 提交?”

0 投票
2 回答
675 浏览

postgresql-11 - 如何在 postgres 中使用序列名获取表名和列名?

我知道序列名称,但我不知道它的表名和列名。所以请帮助我如何找到它。

0 投票
1 回答
192 浏览

postgresql - 导入包含索引中使用的函数的 SQL 转储时出错

在 PostgreSQL 11 上,我定期转储备份快照,有时将它们导入具有相同设置的开发系统。那里没什么好看的:

但是,转储中的两个索引在还原时会引发错误。我把它归结为以下转储,所有无关的东西都被剥离了:

恢复此转储会产生以下错误:

以下解决了这个问题:add_days模式前缀如下:

结案?不完全的。我想了解这里的问题。

我猜,除非带有显式前缀前缀,否则SELECT pg_catalog.set_config('search_path', '', false);pg_dump 生成的行会阻止被发现。add_days

但是,为什么以下替代方法(添加 search_path)不起作用?

这会触发一个完全不同的错误:

好吧,现在我很困惑。有人能告诉我这里发生了什么吗?