我在postgresql数据库中有一堆数据。我认为两个键应该形成一个唯一的对,所以我想在数据库中强制执行这一点。我试着
create unique index key1_key2_idx on table(key1,key2)
但是失败了,告诉我我有重复的条目。
我如何找到这些重复的条目,以便删除它们?
我在AWS (RDS)上托管了一个PostgreSQL。我创建了几个表,并使用PgAdmin4上的“导入/导出”工具将一些PgAdmin4文件导入到这个表中。
每月我将需要更新我的表上的数据,我将通过上传.csv文件来做到这一点。
我现在面临的问题是:我试图从.csv文件中向表中插入新数据,但是我需要忽略重复值。
我找到了一种方法来实现 (下面的代码),但是copy命令在PgAdmin上不起作用。仅当我使用导入/导出工具时,复制才有效。
CREATE TEMP TABLE tmp_table
ON COMMIT DROP
AS
SELECT *
FROM indice-id-cnpj
WI
我是postgresql新手,我正在学习一个用于复制的教程
下面是我的pg_hba.conf的样子:
# Database administrative login by Unix domain socket
local all postgres trust
# TYPE DATABASE USER ADDRESS METHOD
host all all 0.0.0.0/0
当我查询创建报告时,Django postgresql数据库中的两个条目给我带来了很多麻烦。当我尝试删除这些条目(通过phpPgAdmin)时,我得到错误消息"No this identifier for this row“。没有重复的ID。我已经尝试更新了所有的字段。我已经尝试过使用delete按钮和手动SQL命令来删除它们。我没主意了。有没有人知道如何给行一个唯一的标识符,这样我就可以摆脱它了?
谢谢!
我试图将数据从一个表复制到具有Postgresql中相同模式的另一个表中。表上有一个主键约束,因此运行这个约束会因为一个重复的键问题而失败:
INSERT INTO "A" SELECT * From "Temp";
SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint "A_Id_pkey"
在MySQL中,我可以通过调用每个模式列并将主键替换为NULL来解决这个问题。
INSERT INTO "A"
postgresql数据库中有一个具有重复值的表,希望添加一个约束来防止这种情况发生,但由于delete查询运行时间过长,我无法删除重复的查询。我正在尝试运行的查询:
delete from table
where id in
(
SELECT id
FROM
(
SELECT id,
ROW_NUMBER() OVER( PARTITION BY a.user_id, a.timestamp_utc ORDER BY id ) AS row_num
这个问题有很多重复的地方,到目前为止我发现的都是错误和/或不完整的,所以我觉得我们需要一个规范的答案。
In PostgreSQL,如何将数据库上的所有权限授予用户,而不授予他们超级用户权限?
这包括数据库中当前的所有表、序列、类型、触发器、索引、过程和任何其他对象,以及该用户或其他人稍后在数据库中创建的任何对象。当然,它还包括在数据库中创建对象的能力。
查询
SELECT COUNT(*), name, number
FROM tbl
GROUP BY name, number
HAVING COUNT(*) > 1
它有时找不到小写和大写之间的重复项。
例如:sunny和Sunny不会重复出现。
那么如何在两列的PostgreSQL中找到所有可能的重复项呢?