Questions tagged «postgresql»

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

6
如何在COUNT个汇总中包含“零” /“ 0”结果?
我刚刚陷入了一些SQL问题。我认为我不能很好地表达问题-所以让我告诉你。 我有两个桌子,一个叫人,一个叫约会。我正在尝试返回一个人的约会数量(包括零个约会)。约会包含person_id和,并且person_id每个约会都有一个。因此COUNT(person_id)是明智的做法。 查询: SELECT person_id, COUNT(person_id) AS "number_of_appointments" FROM appointment GROUP BY person_id; 将正确返回person_id拥有的约会数量。但是,约会不为0的人不会返回(显然是因为他们不在该表中)。 调整语句以从人员表中获取person_id可以得到以下信息: SELECT person.person_id, COUNT(appointment.person_id) AS "number_of_appointments" FROM appointment JOIN person ON person.person_id = appointment.person_id GROUP BY person.person_id; 但是,这仍然只会返回有约会的person_id,而不是我想要的有0个约会的人的返回! 有什么建议吗?




4
仅使用默认NOW()为新行添加时间戳列
我有一个具有数千行的表。由于表最初不是使用created_at列构建的,因此无法获取其创建时间戳。不过,开始获取未来行的时间戳至关重要。 有没有一种方法可以添加带有默认值NOW()的时间戳记列,以便它不会将值填充到先前的行中,而只会填充将来的行? 如果我执行ALTER查询,它将使用时间戳填充所有行: ALTER TABLE mytable ADD COLUMN created_at TIMESTAMP DEFAULT NOW()
112 postgresql 


8
如何在PostgreSQL中导出数据库的架构?
我的计算机坏了,但是幸运的是我备份了文件夹C:\ Program Files \ PostgreSQL。 现在,我正在新计算机上工作,我想导入存储在外部磁盘中的以前的Postgres数据库。 我想导出位于备份文件夹中的特定数据库的架构。 该文件PostgreSQL\8.3\data\global\pg_database包含有关数据库及其OID的信息;例如: "db1" 20012 "db2" 23456 我想导出“ db1”的模式。 文件夹中有一个名为“ 20012”的文件夹"PostgreSQL\8.3\data\base\20012" ,其中包含许多文件[500个文件]。 有什么方法可以导出该数据库的架构? 请注意,所有的Postgresql数据库文件都位于外部硬盘上,我想将该数据库的模式导出到SQL文件中,然后将该文件运行,在本地创建相同的数据库。

7
在PostgreSQL中存储图像
好吧,所以我正在开发一个应用程序,该应用程序将使用运行PostgreSQL的Linux后端将图像用前端用C#.NET编写到Windows盒中,尽管前端几乎没有关系。我的问题是: 在Postgres中处理图像的最佳方法是什么? 这些图像每个约为4-6兆像素,我们存储的图像多达3000个。可能还需要注意:这不是一个Web应用程序,最多将有大约两个前端同时访问数据库。
111 postgresql  image 


1
如何在Postgres中的JSON字段上创建索引?
在PostgreSQL 9.3 Beta 2(?)中,如何在JSON字段上创建索引?我使用了->用于的运算符进行hstore了尝试,但出现以下错误: CREATE TABLE publishers(id INT, info JSON); CREATE INDEX ON publishers((info->'name')); 错误:数据类型json没有访问方法“ btree”的默认操作符类提示:您必须为索引指定一个操作符类或为该数据类型定义一个默认操作符类。

2
Postgres:如何制作复合键?
我无法理解创建复合键时的语法错误。这可能是一个逻辑错误,因为我已经测试了很多品种。 如何在Postgres中创建复合键? CREATE TABLE tags ( (question_id, tag_id) NOT NULL, question_id INTEGER NOT NULL, tag_id SERIAL NOT NULL, tag1 VARCHAR(20), tag2 VARCHAR(20), tag3 VARCHAR(20), PRIMARY KEY(question_id, tag_id), CONSTRAINT no_duplicate_tag UNIQUE (question_id, tag_id) ); ERROR: syntax error at or near "(" LINE 3: (question_id, tag_id) NOT NULL, ^


9
SQL SELECT Speed Int与varchar
我正在创建表格,这让我感到奇怪。 如果我存储有品牌的汽车(例如宝马,奥迪等),如果将品牌存储为int或varchar会对查询速度产生任何影响。 也是 SELECT * FROM table WHERE make = 5 AND ...; 快/慢于 SELECT * FROM table WHERE make = 'audi' AND ...; 还是速度会大致相同?

9
为什么要遍历大型Django QuerySet消耗大量内存?
该表包含大约一千万行。 for event in Event.objects.all(): print event 这会导致内存使用量稳定增加到4 GB左右,这时行将快速打印。第一行打印之前漫长的延迟让我感到惊讶–我希望它几乎可以立即打印。 我也尝试过Event.objects.iterator()以相同的方式表现。 我不明白Django正在将什么加载到内存中或为什么这样做。我希望Django在数据库级别遍历结果,这意味着结果将以大致恒定的速率打印(而不是经过漫长的等待一次全部打印)。 我误会了什么? (我不知道它是否相关,但是我正在使用PostgreSQL。)

9
如何在postgres中删除枚举类型值?
如何删除我在postgresql中创建的枚举类型值? create type admin_level1 as enum('classifier', 'moderator', 'god'); 例如,我想moderator从列表中删除。 我似乎在文档上找不到任何内容。 我正在使用Postgresql 9.3.4。
109 postgresql  enums 

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.