Questions tagged «postgresql»

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


1
PostgreSQL在冲突更新中插入(向上更新)使用所有排除的值
当您升级一行(PostgreSQL> = 9.5),并且希望可能的INSERT与可能的UPDATE完全相同时,可以这样编写: INSERT INTO tablename (id, username, password, level, email) VALUES (1, 'John', 'qwerty', 5, 'john@mail.com') ON CONFLICT (id) DO UPDATE SET id=EXCLUDED.id, username=EXCLUDED.username, password=EXCLUDED.password, level=EXCLUDED.level,email=EXCLUDED.email 有没有更短的方法?只能说:使用所有EXCLUDE值。 在SQLite中,我曾经做过: INSERT OR REPLACE INTO tablename (id, user, password, level, email) VALUES (1, 'John', 'qwerty', 5, 'john@mail.com')

15
psycopg2:通过一个查询插入多行
我需要用一个查询插入多行(行数不是常数),所以我需要像这样执行查询: INSERT INTO t (a, b) VALUES (1, 2), (3, 4), (5, 6); 我知道的唯一方法是 args = [(1,2), (3,4), (5,6)] args_str = ','.join(cursor.mogrify("%s", (x, )) for x in args) cursor.execute("INSERT INTO t (a, b) VALUES "+args_str) 但我想要一些更简单的方法。


25
Postgresql 9.2 pg_dump版本不匹配
我正在尝试使用pg_dump工具转储Postgresql数据库。 $ pg_dump books > books.out 我怎么会收到此错误。 pg_dump: server version: 9.2.1; pg_dump version: 9.1.6 pg_dump: aborting because of server version mismatch 该--ignore-version选项现已弃用,即使它可行,也实际上不能解决我的问题。 如何升级pg_dump以解决此问题?



3
如何获取Postgres中两个字段的MIN()?
假设我有一个这样的表: name | score_a | score_b -----+---------+-------- Joe | 100 | 24 Sam | 96 | 438 Bob | 76 | 101 ... | ... | ... 我想选择最小的score_a和score_b。换句话说,类似: SELECT name, MIN(score_a, score_b) FROM table 结果当然是: name | min -----+----- Joe | 24 Sam | 96 Bob | 76 ... | …
140 sql  postgresql  min 

7
Postgres:在从bash脚本重新创建/重新填充之前,清除整个数据库
我正在写一个shell脚本(将成为cronjob),它将: 1:转储我的生产数据库 2:将转储导入我的开发数据库 在步骤1和2之间,我需要清除开发数据库(删除所有表?)。如何通过shell脚本最好地完成此工作?到目前为止,它看起来像这样: #!/bin/bash time=`date '+%Y'-'%m'-'%d'` # 1. export(dump) the current production database pg_dump -U production_db_name > /backup/dir/backup-${time}.sql # missing step: drop all tables from development database so it can be re-populated # 2. load the backup into the development database psql -U development_db_name < backup/dir/backup-${time}.sql

8
PostgreSQL错误:由于与恢复冲突而取消语句
在待机模式下在PostgreSQL数据库上运行查询时,出现以下错误。导致该错误的查询可以在1个月内正常工作,但是当您查询1个月以上时,将导致错误。 ERROR: canceling statement due to conflict with recovery Detail: User query might have needed to see row versions that must be removed 有关如何解决的任何建议?谢谢

12
还原sql时psql无效命令\ N
我正在尝试还原我的转储文件,但是导致了错误: psql:psit.sql:27485: invalid command \N 有解决方案吗?我进行了搜索,但没有得到明确的答案。
137 sql  postgresql  dump 

22
PostgreSQL错误“无法连接到服务器:没有这样的文件或目录”
像其他人一样,当我在项目中运行rake db:migrate或什至尝试为Ruby on Rails 3.2应用程序执行大多数数据库任务时,都会遇到此错误。 PGError(无法连接到服务器:没有这样的文件或目录。服务器是否在本地运行并且接受Unix域套接字“ /tmp/.s.PGSQL.5432”上的连接? 我很早以前就用Homebrew安装了PostgreSQL,最近尝试安装MongoDB之后,我的PostgreSQL安装从未如此。我正在运行OS X v10.6 Snow Leopard。 出了什么问题?如何更好地了解PostgreSQL是什么,应该在Mac上设置它? 到目前为止(我认为),这告诉我PostgreSQL没有运行(?)。 ps -aef|grep postgres (ruby-1.9.2-p320@jct-ana) (develop) ✗ 501 17604 11329 0 0:00.00 ttys001 0:00.00 grep postgres 但这是否告诉我PostgreSQL正在运行? ✪ launchctl load -w /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist (ruby-1.9.2-p136) homebrew.mxcl.postgresql: Already loaded 我该如何解决?我没看到什么? PS:~/Library/LaunchAgents包括两个PostgreSQL .plist文件。我不确定这是否相关。 org.postgresql.postgres.plist homebrew.mxcl.postgresql.plist 我尝试了以下操作,并得到如下结果。 $ psql -p 5432 -h本地主机 …


4
PostgreSQL:不允许角色登录
我无法连接到本地服务器上的自己的postgres数据库。我用谷歌搜索了一些类似的问题,并提出了本手册 https://help.ubuntu.com/stable/serverguide/postgresql.html 所以: pg_hba.conf 说: # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 trust 然后创建一个用户并为其分配密码: postgres=# create role asunotest; CREATE ROLE postgres=# …

9
如何获得PostgreSQL中特定模式的数据库中存储的所有功能的列表?
我希望能够连接到PostgreSQL数据库并找到特定模式的所有功能。 我的想法是我可以对pg_catalog或information_schema进行查询,并获得所有函数的列表,但是我无法弄清楚名称和参数的存储位置。我正在寻找一个查询,该查询将为我提供函数名称和参数类型(以及它们采用的顺序)。 有没有办法做到这一点?

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.