Questions tagged «postgresql»

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


7
将SQLITE SQL转储文件转换为POSTGRESQL
我一直在使用SQLITE数据库和POSTGRESQL中的生产进行开发。我刚刚用大量数据更新了本地数据库,并且需要将特定的表传输到生产数据库。 基于运行sqlite database .dump > /the/path/to/sqlite-dumpfile.sql,SQLITE以以下格式输出表转储: BEGIN TRANSACTION; CREATE TABLE "courses_school" ("id" integer PRIMARY KEY, "department_count" integer NOT NULL DEFAULT 0, "the_id" integer UNIQUE, "school_name" varchar(150), "slug" varchar(50)); INSERT INTO "courses_school" VALUES(1,168,213,'TEST Name A',NULL); INSERT INTO "courses_school" VALUES(2,0,656,'TEST Name B',NULL); .... COMMIT; 如何将以上内容转换为可导入到生产服务器的POSTGRESQL兼容转储文件?

7
Postgres不在数组中
我正在使用Postgres的本机数组类型,并尝试查找ID不在数组收件人ID中的记录。 我可以找到他们的位置: SELECT COUNT(*) FROM messages WHERE (3 = ANY (recipient_ids)) 但这不起作用: SELECT COUNT(*) FROM messages WHERE (3 != ANY (recipient_ids)) SELECT COUNT(*) FROM messages WHERE (3 = NOT ANY (recipient_ids)) 测试这种情况的正确方法是什么?

7
使用node.js postgresql模块的正确方法是什么?
我正在Heroku上编写一个node.js应用程序,并使用pg模块。我无法弄清楚为查询数据库所需的每个请求获取客户端对象的“正确”方法。 该文档使用如下代码: pg.connect(conString, function(err, client) { // Use the client to do things here }); 但是,您肯定不需要pg.connect在使用数据库的每个函数中调用对吗?我看过其他执行此操作的代码: var conString = process.env.DATABASE_URL || "tcp://postgres:1234@localhost/postgres"; var client = new pg.Client(conString); client.connect(); // client is a global so you can use it anywhere now 我倾向于第二种选择,因为我仍然相信Heroku的免费数据库实例仅限于一个连接,但是以这种方式进行操作是否有任何弊端?每次使用之前,是否需要检查我的客户端对象是否仍处于连接状态?


7
生成1-10范围内的随机数
由于我针对该问题进行的测试查询方法无法解决,因此我现在正在尝试其他方法。有没有办法告诉pg的random()函数让我只得到1到10之间的数字?
95 sql  postgresql  random 

3
Postgres转储仅一部分表以获取开发快照
在生产中,我们的数据库大小为数百GB。为了进行开发和测试,我们需要创建此数据库的快照,这些快照在功能上等效,但大小仅为10或20个演出。 挑战在于我们业务实体的数据分散在许多表中。我们想要创建某种过滤后的快照,以便转储中仅包含某些实体。这样,我们可以每个月左右获取新的快照以进行开发和测试。 例如,假设我们有具有以下多对多关系的实体: 公司有N个部门 部门有N名员工 员工有N个出勤记录 可能有1000家公司,2500个部门,175000名员工以及数千万的出勤记录。我们希望采用一种可复制的方式来获取前100家公司及其所有组成部门,员工和出勤记录。 当前,我们将pg_dump用于架构,然后使用--disable-triggers和--data-only运行pg_dump,以从较小的表中获取所有数据。我们不想编写自定义脚本来提取部分数据,因为我们的开发周期很快,并且担心自定义脚本会很脆弱,并且可能会过时。 我们应该怎么做?是否有第三方工具可以帮助从数据库中提取逻辑分区?这些工具叫什么? 任何一般建议也表示赞赏!
95 postgresql 


20
美洲狮(OS X Server)中缺少套接字文件“ /var/pgsql_socket/.s.PGSQL.5432”
我刚刚使用OS X Server将MacMini Server从Lion Server升级到Mountain Lion。与PostgreSQL一样,我去年安装Lion Server时遇到了同样的问题。 当我尝试执行任何一种PostgreSQL终端命令时,我会收到以下臭名昭著的错误消息,这些错误消息多年来已经得到了解决: psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"? 出现错误时,我试图更改_postgres的密码。我尝试了几个命令,但是得到了相同的错误。我只是重新启动了服务器,但是没有运气。我以root用户身份登录,查看/ var / pgsql_socket,文件夹为空。文件夹/ var / pgsql_socket_alt也为空。 我已经在网上检查了一下。但是,我阅读的几乎所有解决方案(包括Stack Overflow上)都建议删除并重新安装PostgreSQL。我不知道,但这似乎不是一个可行的选择,因为Server App上的几个选项都使用PostgreSQL。我联系了Apple Enterprise支持部门(未达成协议),并被告知开发人员必须解决我的问题,否则将投入695美元。 我有一个现在关闭的网站,因为我无法重建它。目前,我不知道该向哪里寻求帮助。我将继续在线寻找是否可以找到一些东西。但是,我希望有人能尽快给我答案,以便我重建数据库。 更新:2012年12月13日15:33 GMT-6 这是ps auwwx | grep …

7
Postgres中的快速随机行选择
我在postgres中有一张表格,其中包含数百万行。我已经检查了互联网,发现以下内容 SELECT myid FROM mytable ORDER BY RANDOM() LIMIT 1; 它可以工作,但速度确实很慢...还有另一种方法可以进行该查询,还是直接选择随机行而不读取所有表?顺便说一句,“ myid”是一个整数,但它可以是一个空字段。

4
ALTER TABLE,在PostgreSQL 9.1的not null列中设置null
我有一个不包含空列的表,如何在此列中将空值设置为默认值? 我的意思是,我想做这样的事情: postgres=# ALTER TABLE person ALTER COLUMN phone SET NULL; 但它显示: postgres=# ALTER TABLE person ALTER COLUMN phone SET NULL; ERROR: syntax error at or near "NULL" LINE 1: ALTER TABLE person ALTER COLUMN phone SET NULL;

4
PostgreSQL聚合数组
嗨,我有两个桌子 Student -------- Id Name 1 John 2 David 3 Will Grade --------- Student_id Mark 1 A 2 B 2 B+ 3 C 3 A 是否可以选择本机Postgresql来获得如下结果: Name Array of marks ----------------------- 'John', {'A'} 'David', {'B','B+'} 'Will', {'C','A'} 但不是这样 Name Mark ---------------- 'John', 'A' 'David', 'B' 'David', 'B+' 'Will', 'C' 'Will', …
94 sql  arrays  postgresql 

9
sql ORDER BY特定值的多个值?
好的,我有一个带有索引键和一个未索引字段的表。我需要找到具有特定值的所有记录并返回该行。我想知道是否可以按多个值排序。 例: id x_field -- ----- 123 a 124 a 125 a 126 b 127 f 128 b 129 a 130 x 131 x 132 b 133 p 134 p 135 i 伪:希望像这样对结果进行排序, where ORDER BY x_field = 'f', 'p', 'i', 'a' SELECT * FROM table WHERE id NOT IN …

5
闲置的PostgreSQL连接是否超时?
1 S postgres 5038 876 0 80 0 - 11962 sk_wai 09:57 ? 00:00:00 postgres: postgres my_app ::1(45035) idle 1 S postgres 9796 876 0 80 0 - 11964 sk_wai 11:01 ? 00:00:00 postgres: postgres my_app ::1(43084) idle 我看到很多。我们正在尝试修复连接泄漏。但是,与此同时,我们想为这些空闲连接设置一个超时,最大可能为5分钟。


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.