Questions tagged «postgresql»

PostgreSQL是一个开放源代码的,对象关系数据库管理系统(ORDBMS),可用于所有主要平台,包括Linux,UNIX,Windows和OSX。提出问题时,请注明确切的Postgres版本。有关管理或高级功能的问题最好直接到dba.stackexchange.com。

6
PostgreSQL交叉表查询
有谁知道如何在PostgreSQL中创建交叉表查询? 例如,我有下表: Section Status Count A Active 1 A Inactive 2 B Active 4 B Inactive 5 我希望查询返回以下交叉表: Section Active Inactive A 1 2 B 4 5 这可能吗?
196 sql  postgresql  pivot  case  crosstab 

6
检查Postgres数组中是否存在值
使用Postgres 9.0,我需要一种方法来测试给定数组中是否存在值。到目前为止,我想到的是这样的: select '{1,2,3}'::int[] @> (ARRAY[]::int[] || value_variable::int) 但是我一直认为应该有一个更简单的方法,我只是看不到它。这似乎更好: select '{1,2,3}'::int[] @> ARRAY[value_variable::int] 我相信就足够了。但是,如果您还有其他方法,请分享!
192 sql  arrays  postgresql 


8
如何在PostgreSQL中将平均值四舍五入到小数点后两位?
我正在通过Ruby gem'sequel'使用PostgreSQL。 我试图将其舍入到小数点后两位。 这是我的代码: SELECT ROUND(AVG(some_column),2) FROM table 我收到以下错误: PG::Error: ERROR: function round(double precision, integer) does not exist (Sequel::DatabaseError) 运行以下代码时没有错误: SELECT ROUND(AVG(some_column)) FROM table 有人知道我在做什么错吗?
191 sql  ruby  postgresql  sequel 



4
如何在PostgreSQL中查找重复记录
我有一个名为“ user_links”的PostgreSQL数据库表,该表当前允许以下重复字段: year, user_id, sid, cid 唯一的限制是目前所谓的“ID”的第一场,但是我现在希望增加一个约束,以确保year,user_id,sid和cid都是独一无二的,但由于重复的值已存在违反此约束我不能应用约束。 有没有办法找到所有重复项?

5
Postgres手动更改顺序
我正在尝试将序列设置为特定值。 SELECT setval('payments_id_seq'), 21, true 这给出了一个错误: ERROR: function setval(unknown) does not exist 使用ALTER SEQUENCE似乎也不起作用? ALTER SEQUENCE payments_id_seq LASTVALUE 22 如何才能做到这一点? 参考:https : //www.postgresql.org/docs/current/static/functions-sequence.html

3
在Postgresql中,在两列组合上强制唯一
我想在PostgreSQL中建立一个表,使得两列在一起必须是唯一的。只要没有两个共享这两个值,就可以有多个值。 例如: CREATE TABLE someTable ( id int PRIMARY KEY AUTOINCREMENT, col1 int NOT NULL, col2 int NOT NULL ) 所以,col1和col2可以重复,但不能在同一时间。因此,这将被允许(不包括ID) 1 1 1 2 2 1 2 2 但不是这个: 1 1 1 2 1 1 -- would reject this insert for violating constraints
187 sql  postgresql  unique 


4
如何在Postgresql的datetime字段中比较日期?
比较PostgreSQL中的日期(Windows中的9.2.4版)时,我一直面临一个奇怪的情况。我的表中有一列说update_date,类型为“没有时区的时间戳”。客户只能在该字段中搜索日期(即:2013-05-03)或带时间的日期(即:2013-05-03 12:20:00)。此列当前所有行的时间戳记值为值,日期部分相同(2013-05-03),但时间部分不同。 当我在本专栏进行比较时,会得到不同的结果。如下所示: select * from table where update_date >= '2013-05-03' AND update_date <= '2013-05-03' -> No results select * from table where update_date >= '2013-05-03' AND update_date < '2013-05-03' -> No results select * from table where update_date >= '2013-05-03' AND update_date <= '2013-05-04' -> results found select * …
186 sql  database  postgresql  date 


13
在OS X上安装PG gem-无法构建本机扩展
似乎许多其他人在安装pg gem时遇到问题。为他人提出的解决方案中没有一个对我有用。 我试图安装pg gem和postgres.app。pg gem不会安装。我得到的第一个错误是: 安装pg(0.17.0)时发生错误,并且Bundler无法继续。gem install pg -v '0.17.0'捆绑前确保成功。 有关将我的gem安装指向pg的配置的安装建议失败,并显示以下错误消息(此论坛上的许多其他人都遇到过): Failed to build native extensions... Results logged to /Users/melanie/.rvm/gems/ruby-1.9.3-p448/gems/pg-0.17.0/ext/gem_make.out 我不知道如何查找或访问此日志文件以搜索更多线索。 当我尝试使用sudo apt-get install命令时,我还会收到一条错误消息(找不到命令)。在过去的6个小时中,我一直在这个论坛上进行搜索,尝试每条建议以使pg与我的rails项目一起工作。 我找不到有关如何更改路径的建议,或者确切地说,需要进行哪些更改。我which pg_config返回一个文件源。我已将其与使用该配置安装pg的命令一起使用。它失败。 有太多人对此感到困扰。许多答案表明自制。我不得不删除它,因为它引发了其他问题。

7
PostgreSQL查询列出所有表名?
是否有任何查询可列出我的Postgres DB中的所有表。 我尝试了一个查询,例如: SELECT table_name FROM information_schema.tables WHERE table_schema='public' 但是此查询也返回视图。 我如何只获取表名,而不获取视图?

10
不能简单地使用PostgreSQL表名(“关系不存在”)
我正在尝试运行以下PHP脚本来执行简单的数据库查询: $db_host = "localhost"; $db_name = "showfinder"; $username = "user"; $password = "password"; $dbconn = pg_connect("host=$db_host dbname=$db_name user=$username password=$password") or die('Could not connect: ' . pg_last_error()); $query = 'SELECT * FROM sf_bands LIMIT 10'; $result = pg_query($query) or die('Query failed: ' . pg_last_error()); 这将产生以下错误: 查询失败:错误:关系“ sf_bands”不存在 在所有示例中,我都能找到有人指出该关系不存在的错误,这是因为他们在表名中使用大写字母。我的表格名称没有大写字母。有没有一种方法可以查询我的表而不包含数据库名称,即showfinder.sf_bands?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.