Questions tagged «postgresql»

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

2
为什么pg_restore成功返回却没有真正恢复我的数据库?
我在使用以下命令转储的Linux服务器上有一个Postgres 8.4数据库: pg_dump --format=c --exclude-table=log --file=/path/to/output my_db 然后,我将创建的文件通过FTP传输到本地Windows 7计算机,并尝试使用以下命令将文件还原到本地Postgres 8.4实例: pg_restore --create --exit-on-error --verbose c:\path\to\file restore命令会产生大量输出,声称它创建了我的数据库,并连接到该数据库,然后按预期创建了所有其他表。但是,当我通过pgAdmin查看本地计算机上的数据库时,还原的数据库根本不存在。 为了排除故障,我尝试了以下命令: pg_restore --create --exit-on-error --verbose --host=blahblah --username=no_one c:\path\to\file 即使给出的主机名和用户名完全是胡说八道,当我运行此命令时,我仍然从命令中获得完全相同的输出,而没有任何错误。 有没有人遇到过这个问题或知道会导致什么呢?


1
Postgres:将varchar转换为文本
我搞砸了,并创建了一个列作为varchar(255),在那里不再足够了。我读过varchar相对于Postgres上的文本没有性能上的好处,因此希望以一种安全的方式将varchar转换为text列,以保留数据。 对我来说最好的方法是什么?


19
CURRENT_TIMESTAMP(以毫秒为单位)
有什么办法可以使时间戳记中的毫秒数变为MySql或PostgreSql(或出于好奇而使其他时间)变为毫秒数? SELECT CURRENT_TIMESTAMP --> 2012-03-08 20:12:06.032572 是否有这样的事情: SELECT CURRENT_MILLISEC --> 1331255526000 或者,唯一的选择是使用DATEDIFF从era?

5
在PostgreSQL中删除索引的唯一性
在我的PostgreSQL数据库中,我以这种方式创建了一个唯一索引: CREATE UNIQUE INDEX <my_index> ON <my_table> USING btree (my_column) 有没有办法更改索引以消除唯一约束?我查看了ALTER INDEX文档,但它似乎没有满足我的需求。 我知道我可以删除索引并创建另一个索引,但是我想找到一种更好的方法(如果存在)。

20
找不到Psycopg2图像
尝试使用postgres mac应用设置postgres并遇到此错误,我无法解决。有什么想法吗? ImportError: dlopen(/Users/Craig/pyenv/mysite/lib/python2.7/site-packages/psycopg2/_psycopg.so, 2): Library not loaded: @executable_path/../lib/libssl.1.0.0.dylib Referenced from: /Applications/Postgres.app/Contents/MacOS/lib/libpq.dylib Reason: image not found

9
PostgreSQL GROUP BY与MySQL不同吗?
我一直在将一些MySQL查询迁移到PostgreSQL以使用Heroku。我的大多数查询工作正常,但是当使用group by时,我仍然遇到类似的重复错误: 错误:“ XYZ”列必须出现在GROUP BY子句中或在聚合函数中使用 有人可以告诉我我在做什么错吗? 可以100%运行的MySQL: SELECT `availables`.* FROM `availables` INNER JOIN `rooms` ON `rooms`.id = `availables`.room_id WHERE (rooms.hotel_id = 5056 AND availables.bookdate BETWEEN '2009-11-22' AND '2009-11-24') GROUP BY availables.bookdate ORDER BY availables.updated_at PostgreSQL错误: ActiveRecord :: StatementInvalid:PG错误:错误:列“ availables.id”必须出现在GROUP BY子句中或在聚合函数中使用: SELECT“ availables”。* FROM“ availables” INNER JOIN“ rooms” ON“ rooms”。 id …

4
如何在Postgresql中删除回车符和换行符?
所有, 我再次陷入尝试以我需要的格式获取数据的问题。我有一个像这样的文本字段。 “ deangelo 001 deangelo 名称的本地来历:italain 来自美国名字deangelo 含义:天使之 情感谱•他是所有人欢乐的源泉。 个人品格•他的好名声是他最宝贵的财富。个性•被火鸡包围时,老鹰很难飞翔!关系•起步很慢,但与deangelo的关系会随着时间而建立。旅行与休闲•他的未来将是一生的旅程。 事业和金钱•天才的孩子,迪安吉洛将需要不断受到挑战。 人生的机会•快乐和幸福等待着这个有福的人。 迪安吉洛的幸运数字:12•38•18•34•29•16 ” 在Postgresql中删除回车符和换行的最佳方法是什么?我已经尝试了几件事,但没有一件事情想要表现。 select regexp_replace(field, E'\r\c', ' ', 'g') from mytable WHERE id = 5520805582 SELECT regexp_replace(field, E'[^\(\)\&\/,;\*\:.\>\<[:space:]a-zA-Z0-9-]', ' ') FROM mytable WHERE field~ E'[^\(\)\&\/,;\*\:.\<\>[:space:]a-zA-Z0-9-]' AND id = 5520805582; 在此先感谢亚当
70 regex  postgresql 

11
IntegrityError重复键值违反唯一约束-django / postgres
我正在跟我刚才提出的一个问题进行跟进,在这个问题中,我寻求从愚蠢/编写不佳的mysql查询转换为postgresql。我相信我成功了。无论如何,我使用的是从mysql数据库手动移动到postgres数据库的数据。我正在使用如下查询: """ UPDATE krypdos_coderound cru set is_correct = case when t.kv_values1 = t.kv_values2 then True else False end from (select cr.id, array_agg( case when kv1.code_round_id = cr.id then kv1.option_id else null end ) as kv_values1, array_agg( case when kv2.code_round_id = cr_m.id then kv2.option_id else null end ) as kv_values2 from …

4
在PostgreSQL中创建表
我不明白此查询出了什么问题?查询工具不想在PostgreSQL中创建表。 CREATE TABLE article ( article_id bigint(20) NOT NULL auto_increment, article_name varchar(20) NOT NULL, article_desc text NOT NULL, date_added datetime default NULL, PRIMARY KEY (article_id) );

3
连接到数据库后切换角色
在初始连接后与postgres交互时,是否可以更改用户正在使用的postgresql角色? 该数据库将在Web应用程序中使用,我想在具有连接池的表和模式上采用数据库级规则。通过阅读postgresql文档,如果我最初以超级用户角色作为用户连接,则似乎可以切换角色,但我希望最初以最小的权限作为用户连接并根据需要进行切换。切换时不必指定用户密码就可以了(事实上,我更喜欢这样)。 我想念什么? 更新:我已经尝试了这两种方法,SET ROLE并SET SESSION AUTHORIZATION按照@Milen的建议进行了尝试,但是如果用户不是超级用户,那么这两个命令似乎都不起作用: $ psql -U test psql (8.4.4) Type "help" for help. test=> \du test List of roles Role name | Attributes | Member of -----------+------------+---------------- test | | {connect_only} test=> \du test2 List of roles Role name | Attributes | Member of -----------+------------+---------------- test2 …
70 postgresql 

2
选择没有表的硬编码值
我需要运行一个选择而不实际连接到任何表。我只需要预定义一组硬编码的值即可: foo bar fooBar 我想遍历这些值。我可以: select 'foo', 'bar', 'fooBar'; 但这将其返回为一行: ?column? | ?column? | ?column? ----------+----------+---------- foo | bar | fooBar (1 row) 我正在使用Postgresql。
70 postgresql 


2
PostgreSQL从3个表中加入数据
我是PostgreSQL的新手,正在尝试编写查询。我敢肯定,对于知道他们在做什么的人来说这很容易-我只是不知道!:) 基本上我有三个表。首先,我存储有关患者的详细信息。在第二篇中,我存储了对它们每个图像的引用。在第三部分中,我存储了指向图像文件路径的链接。我没有设计数据库,所以我不确定为什么要分离图像文件表,但是确实如此。 我想要做的是从第一个表中选择数据,然后从第二个表至第三个表中加入数据,因此我最终得到了结果中的名称和文件路径。 所以基本结构是: Table 1: person_id | name Table 2: person_id | image_id Table 3: image_id | `path filename` 我想做的是在一个查询中,抓取该人的“姓名”和图像“路径文件名”。 对于需要的联接,我对“模板”样式的答案感到满意。我不需要用实际代码编写它。(即我认为您可以给我写一个答案,说SELECT table1.name, table3.pathfilename FROM JOIN ... etc...)。
70 postgresql 

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.