我将用户添加myuser
到 Postgres。
然后我mydatabase
在 pgAdmin III GUI 中添加了数据库并从备份文件中恢复。所以拥有者mydatabase
是超级用户postgres
。
然后我试图给所有的访问权和修改mydatabase
来myuser
。我psql
以用户身份登录postgres
:
psql -d template1 -U postgres
Run Code Online (Sandbox Code Playgroud)
然后我运行了这个查询:
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser
Run Code Online (Sandbox Code Playgroud)
现在我可以myuser
用来记录,但如果我尝试一个简单的查询,我会得到这个错误:
Run Code Online (Sandbox Code Playgroud)ERROR: permission denied for relation table_name
我错过了什么吗?你能帮我解决吗?
在数据库中,我有两个表:
taxonomy_id
是一个integer
ID
是一个character varying
这两个表是相关的:如果它在第一个表中存在一行,那么taxonomy_id = N
它就会在第二个表中存在一行ID = N.toString
。
现在,我想在这两个表之间进行连接;由于类型不匹配,“正常”连接自然不起作用。
你能帮我解决这个问题吗?
我正在使用PostgreSQL
.
我有一张如下表:
Annotation (
document,
term,
category
)
Run Code Online (Sandbox Code Playgroud)
其中document
和term
是一些ID,category
而是一个整数。
这对夫妇document
-term
不是唯一的,即我可以拥有不同类别的同一对夫妇。
document_id_1, term_id_1, category_1
document_id_1, term_id_1, category_2
document_id_1, term_id_1, category_3
Run Code Online (Sandbox Code Playgroud)
我想设计一个查询,使其仅返回一对夫妇document
-term
对于他们来说,只有一行category = 1
.
例如,在前面的例子中,没有返回这对夫妇document_id_1
-term_id_1
因为还存在其他两行,具有不同的 值category
。
你能给我一些关于如何做到这一点的提示吗?
假设我有一个查询 Q1,我需要运行如下查询:
Q1
union
select *
from (some query that uses Q1 outcome)
Run Code Online (Sandbox Code Playgroud)
我想这样做:
我怎样才能在 PostgreSQL 上做到这一点?
假设我有一个包含架构的表:
id value
1 0.3
2 0.6
5 0.1
4 0.7
Run Code Online (Sandbox Code Playgroud)
由...提供
CREATE TABLE foo AS
SELECT * FROM (
VALUES (1,0.3::float),(2,0.6),(5,0.1),(4,0.7)
) AS x(id, value)
Run Code Online (Sandbox Code Playgroud)
我想离散值列。
这个想法是对值进行排序,并将 1 与前半部分相关联,将 2 与第二部分相关联。
id value normalized
1 0.3 1
2 0.6 2
5 0.1 1
4 0.7 2
Run Code Online (Sandbox Code Playgroud)
我不知道如何在 SQL 中做到这一点,有什么帮助吗?
PS:我正在使用 Postgres,所以任何依赖 Postgres 的解决方案也可以