postgresql相关内容

无法在安装了Python3.8的Windows 10上安装";ological copg2";

昨天我错误地卸载了python3.7版本。然后,我再次安装了Python(这次是3.8版),并再次设置了我的环境。但我无法启动我的Django项目,因为它与Postgres有关。实际上,我不能在我的环境中安装“心理拷贝2”。我搜索了几个小时,并实施了我从网上得到的每一个解决方案,但它不起作用。让我告诉你我到目前为止做了什么。 首先它说要在我的路径中添加postgres,所以我在我的路径中添加 ..
发布时间:2022-04-14 12:56:44 其他开发

是否可以忽略引号中的分隔符(获取错误)?

我正在尝试使用COPY_FROM命令(在Postgres中使用COPY命令的函数)以类似CSV的结构将数据行加载到postgres中。我的数据用逗号分隔(不幸的是,因为我不是数据所有者,所以不能只更改分隔符)。当我尝试加载行时遇到问题,该行的值用引号引起来,其中包含逗号(即该逗号不应视为分隔符)。 例如,此行数据没有问题: ",Madrid,SN,,SEN,,,SN,173,157" ..
发布时间:2022-04-14 12:54:36 Python

Plpgsql-选择多列的数组

我正在尝试创建选择数据、处理并返回数据的过程,但我正在为如何为多列定义数组变量而苦苦挣扎。 这行得通: CREATE OR REPLACE FUNCTION testing_array_return() RETURNS TABLE(id BIGINT) AS $body$ DECLARE l_rows BIGINT[]; BEGIN -- select data usi ..
发布时间:2022-04-14 10:48:31 其他开发

将函数动态应用于postgres表中的所有列

使用postgres 13.1,我希望将前向填充函数应用于表的所有列。前向填充功能在我前面的问题中进行了解释: How to do forward fill as a PL/PGSQL function 但是,在这种情况下,将指定列和表。我想将该代码应用于任意表,即。指定一个表,并对每一列应用正向填充。 以下表为例: CREATE TABLE example(row_num ..
发布时间:2022-04-14 10:44:51 其他开发

如何将前向填充作为PL/PGSQL函数

我正在尝试创建一个等同于 pandas ‘ffill’函数的pl/pgsql。该函数应转发填充空值。在本例中,我可以进行正向填充,但在尝试从我的过程创建函数时出现错误。该函数似乎准确地反映了过程,但我在... as $1部分遇到语法错误。 为什么?我应该读些什么来澄清? -- Forward fill experiment DROP TABLE IF EXISTS example; c ..
发布时间:2022-04-14 10:43:00 其他开发

PLpgSQL函数未返回匹配的标题

我正在尝试在收到文本时返回电影名称以及演员和工作人员的数量。当我输入字符串并使用ilike时,我的查询没有返回匹配的标题。我在前面创建了一个视图,其中包含要在函数中输入的电影标题和剧组人数。 我的代码是: create or replace view movies_crew as select movies.id, movies.title, principals.role from mo ..
发布时间:2022-04-14 10:39:06 其他开发

最长匹配子字符串

如何在varchar变量中搜索最长的匹配项?例如,表GOB具有如下条目: magic_word | prize =================== sh| $0.20 sha| $0.40 shaz| $0.60 shaza| $1.50 我想编写一个plpgsql函数,该函数在其他参数中接受一个字符串作为输入(例 ..
发布时间:2022-04-14 10:34:44 其他开发

PostgreSQL函数中的保存点

我想在PostgreSQL的函数内使用保存点功能。我读到在postgres的函数中不能使用保存点。 但在回滚时,我希望回滚到特定点,因为我想使用保存点。另一种方法是什么? 示例代码 CREATE or replace FUNCTION fn_loadData_Subha() RETURNS BIGINT AS $$ DECLARE batchId BIGINT; ..
发布时间:2022-04-14 10:30:59 其他开发

如何在PL/pgSQL中执行CTE查询(&Q)?

我尝试在下面的代码示例中模拟我的问题。在下面的代码中,我在一个过程中执行select * from test。我们知道,我们必须为此使用perform关键字。这很管用: perform * from test; 但是,如果我尝试将该简单查询重写为CTE,则无法使其工作。我收到一个语法错误。 with test_as_cte as(select * from test) perfor ..
发布时间:2022-04-14 10:29:30 其他开发

Pl/pgSQL:执行VS调用

在研究从另一个过程调用过程与在Postgres 13中重复代码对性能的影响时,我发现您可以使用CALL或PERFORM来调用其他过程。 我在谷歌上搜索了差异,但我找到的唯一相似的东西是 PL/pgSQL perform vs execute 地址PERFORM与EXECUTE而不是PERFORM与CALL。 有人知道有什么不同吗?我应该使用哪一个(从PL/pgSQL过程调用 ..
发布时间:2022-04-14 10:19:43 其他开发

如何批量更新Postgres中5500万条记录的单列

我想更新postgres表的一列。记录大约有5,500万条,所以我们需要一批10000条记录来更新它。 注意:我们希望更新所有行。但我们不想锁定我们的表。 我正在尝试以下查询- Update account set name = Some name where id between 1 and 10000 我们如何才能对每10000条记录更新一次循环? 如有任何建议和帮助,我 ..
发布时间:2022-04-14 10:17:48 其他开发