Questions tagged «postgresql»

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

5
已存在的Rails自动分配ID
我像这样创建新记录: truck = Truck.create(:name=>name, :user_id=>2) 我的数据库目前有数千个用于卡车的实体,但是我以一些可用的方式将ID分配给了其中的几个。因此,发生的事情是rails创建id = 150的项目,并且工作正常。但是随后它尝试创建一个项目并将其分配为id = 151,但是该id可能已经存在,因此我看到此错误: ActiveRecord::RecordNotUnique (PG::Error: ERROR: duplicate key value violates unique constraint "companies_pkey" DETAIL: Key (id)=(151) already exists. 下次我执行该操作时,它将仅分配ID 152,如果尚未使用该值,它将正常工作。如何在分配ID之前让Rails检查ID是否已经存在? 谢谢! 编辑 卡车ID是要复制的内容。用户已经存在,并且在这种情况下为常数。实际上,这是我必须处理的遗留问题。一种选择是在此时让轨道自动分配每个id的位置重新创建表。我开始认为这可能是最好的选择,因为我还有其他一些问题,但是这样做的迁移将非常复杂,因为Truck是许多其他表中的外键。有没有一种简单的方法可以让Rails使用已经在Truck下存储的相同数据,使用自动分配的ID并维护所有现有关系来创建新表?


7
在Postgres中查询表的授权
如何查询在postgres中授予对象的所有格兰仕? 例如,我有表“ mytable”: GRANT SELECT, INSERT ON mytable TO user1 GRANT UPDATE ON mytable TO user2 我需要带给我的东西: user1: SELECT, INSERT user2: UPDATE
92 sql  postgresql  grant 

5
PostgreSQL:如何从命令行传递参数?
我在使用?占位符的脚本中有一个比较详细的查询。我想直接从psql命令行(脚本之外)测试相同的查询。我想避免进入并将所有的都替换为?实际值,而是想在查询后传递参数。 例: SELECT * FROM foobar WHERE foo = ? AND bar = ? OR baz = ? ; 寻找类似的东西: %> {select * from foobar where foo=? and bar=? or baz=? , 'foo','bar','baz' };

9
Createuser:无法连接到数据库postgres:严重:角色“ tom”不存在
我正在尝试首次设置Postgres,我需要创建一个具有读取和创建数据库权限的用户。但是,当我使用: createuser username 在我的终端中,我收到以下消息: createuser:无法连接到数据库postgres:严重:角色“ tom”不存在 Tom是我现在登录的Ubuntu用户帐户。我试图创建一个用户名“ postgres”,然后执行一个操作,psql -U psql template1这样我就可以创建一个数据库并为我的Rails应用程序分配一个所有者。

6
使用pgAdmin导出和导入表转储(.sql)
我有pgAdmin版本 1.16.1 因此,我要导出表dumm: 右键单击表格,然后在菜单中单击backup,然后在Format选择Plain并将文件另存为some_name.sql 然后我删除表。 好,现在我需要导入表备份 some_name.sql导入数据库。 这该怎么做?我找不到如何.sql使用pgAdmin将表的转储导入数据库。 你能帮我吗?

4
在PostgreSQL中生成两个日期之间的时间序列
我有这样的查询,它很好地生成了两个给定日期之间的一系列日期: select date '2004-03-07' + j - i as AllDate from generate_series(0, extract(doy from date '2004-03-07')::int - 1) as i, generate_series(0, extract(doy from date '2004-08-16')::int - 1) as j 它在2004-03-07和之间生成162个日期2004-08-16,这正是我想要的。该代码的问题在于,当两个日期来自不同年份时(例如,当我尝试使用2007-02-01和时),它将无法给出正确的答案2008-04-01。 有更好的解决方案吗?

3
将'serial'添加到Postgres中的现有列
我的Postgres 9.0数据库中有一个小表(约30行),带有一个整数ID字段(主键),该字段当前包含从1开始的唯一连续整数,但不是使用'serial'关键字创建的。 如何更改此表,以便从现在开始对该表进行插入将导致此字段的行为就像它是使用“ serial”作为类型创建的一样?
91 postgresql 

2
将db中特定模式上的全部授予PostgreSQL中的组角色
使用PostgreSQL 9.0,我有一个名为“ staff”的组角色,并希望在特定模式下的表上授予该角色所有(或某些)特权。没有以下工作 GRANT ALL ON SCHEMA foo TO staff; GRANT ALL ON DATABASE mydb TO staff; 除非我授予该特定表的全部权限,否则 “ staff”的成员仍无法对模式“ foo”中的单个表进行选择或更新,或者(对于第二个命令而言)无法访问数据库中的任何表。 我该怎么办才能使我和用户的生活更轻松? 更新:在serverfault.com上的类似问题的帮助下解决了这个问题。 GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA foo TO staff;

1
在Ubuntu上重置PostgreSQL的密码[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 7年前关闭。 改善这个问题 在Ubuntu中,我安装了PostgreSQL数据库并为服务器创建了一个超级用户。 如果我忘记了postgresql超级用户的密码,该如何为该用户重置密码(密码)? 我尝试卸载它,然后再次安装它,但是保留了先前创建的超级用户。
91 postgresql  unix 

2
FROM中的子查询必须具有别名
我有我在PostgreSQL中编写的查询,该查询返回错误消息: [Err]错误:第 3行:从(选择不同(可识别)AS AS_made_only_recharge 这是整个查询: SELECT COUNT (made_only_recharge) AS made_only_recharge FROM ( SELECT DISTINCT (identifiant) AS made_only_recharge FROM cdr_data WHERE CALLEDNUMBER = '0130' EXCEPT SELECT DISTINCT (identifiant) AS made_only_recharge FROM cdr_data WHERE CALLEDNUMBER != '0130' ) 我在Oracle中有一个类似的查询,工作正常。唯一的变化是我EXCEPT在Oracle中的位置已用MINUS关键字替换。我是Postgres的新手,不知道它要什么。处理此问题的正确方法是什么?

8
Postgres用户不存在?
我刚刚安装了Postgres,并且一直在1-2小时内修改它和各种配置。 我坚持无法更改为postgres用户 $ su - postgres 产生以下错误: su: unknown login: postgres $ sudo -u postgres psql 产生以下错误: sudo: unknown user: postgres 这些尝试是作为普通用户进行的。以root身份尝试具有完全相同的结果。我已经在OS X上通过Homebrew安装了postgres,并且已经阅读了多次说明。
91 macos  postgresql 

15
Mac + virtualenv + pip + postgresql =错误:找不到pg_config可执行文件
我试图为教程安装postgres,但pip出现错误: pip install psycopg 我得到一小段错误: Error: pg_config executable not found. Please add the directory containing pg_config to the PATH or specify the full executable path with the option: python setup.py build_ext --pg-config /path/to/pg_config build ... or with the pg_config option in 'setup.cfg'. pg_config我的virtualenv在哪里?如何配置呢?我使用virtualenv是因为我不想在系统范围内安装postgres。


2
出现错误:部署到heroku时,必须至少安装一个postgresql-client- <version>软件包。
sdilshod@sdilshod-Lenovo-B590:~/webapp/saturn$ heroku run rake db:migrate Running `rake db:migrate` attached to terminal... up, run.6194 DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* …

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.