Tag: postgresql

在OS X上安装PG gem – 无法构build原生扩展

看来很多人在安装pg gem时遇到了问题。 没有任何其他解决scheme为我工作。 我试图安装pg gem和postgres.app。 PGgem将不会安装。 我得到的第一个错误是: 安装pg(0.17.0)时发生错误,并且Bundler无法继续。 确保在捆绑之前gem install pg -v '0.17.0'成功。 有关将我的gem install指向pgconfiguration的安装build议失败,并显示以下错误消息(本论坛中的许多其他人遇到此问题): Failed to build native extensions… Results logged to /Users/melanie/.rvm/gems/ruby-1.9.3-p448/gems/pg-0.17.0/ext/gem_make.out 我不知道如何查找或访问这个日志文件来寻找更多的线索。 我尝试使用sudo apt-get install命令时也收到错误消息(找不到命令)。 我已经search了这个论坛最近6个小时,尝试每一个build议,让我的铁路项目工作。 我无法find有关如何更改path的build议,或者具体而言,需要进行哪些更改。 我which pg_config返回一个文件源。 我用一个命令来使用该configuration来安装pg。 它失败。 有这么多的人有这个麻烦。 许多答案build议自制。 我不得不删除,因为它抛出了其他问题。

isnumeric()和PostgreSQL

我需要确定给定的string是否可以在SQL语句中被解释为数字(整数或浮点数)。 如下所示: SELECT AVG(CASE WHEN x ~ '^[0-9]*.?[0-9]*$' THEN x::float ELSE NULL END) FROM test 我发现Postgres的模式匹配可以用于这个。 所以我改编了这个地方给出的语句来结合浮点数。 这是我的代码: WITH test(x) AS ( VALUES (''), ('.'), ('.0'), ('0.'), ('0'), ('1'), ('123'), ('123.456'), ('abc'), ('1..2'), ('1.2.3.4')) SELECT x , x ~ '^[0-9]*.?[0-9]*$' AS isnumeric FROM test; 输出: x | isnumeric ———+———– | t . | t .0 […]

将常用查询存储为列?

使用PostgreSQL,我有一些看起来像这样的查询: SELECT <col 1>, <col 2> , (SELECT sum(<col x>) FROM <otherTable> WHERE <other table foreignkeyCol>=<this table keycol>) AS <col 3> FROM <tbl> 假设子select在每种情况下都是相同的,那么有没有办法将这个子select存储为表中的伪列? 从本质上讲,我希望能够从表A中select一个列,这是表B中与logging相关的特定列的总和。 这可能吗?

查询JSONtypes内的数组元素

我试图在PostgreSQL 9.3中testingjsontypes。 我有一个称为reports的json列称为data 。 JSON看起来像这样: {"objects":[{"src":"foo.png"},{"src":"bar.png"}],"background":"background.png"} 我想查询表中所有与“对象”数组中的“src”值相匹配的报告。 例如,是否可以查询所有与'src' = 'foo.png'匹配'src' = 'foo.png'报表的DB? 我成功地写了一个可以匹配"background"的查询: SELECT data AS data FROM reports where data->>'background' = 'background.png' 但是由于"objects"具有一系列的价值,我似乎无法写出一些有效的东西。 是否有可能查询所有符合'src' = 'foo.png' ? 我已经通过这些来源,但仍然无法得到它: http://www.postgresql.org/docs/9.3/static/functions-json.html 如何使用新的PostgreSQL JSON数据types中的字段进行查询? http://michael.otacoo.com/postgresql-2/postgres-9-3-feature-highlight-json-operators/ 我也尝试过这样的事情,但无济于事: SELECT json_array_elements(data->'objects') AS data from reports WHERE data->>'src' = 'foo.png'; 我不是SQL专家,所以我不知道我在做什么错。

Postgres:SQL列出表外键

有没有办法使用SQL来列出给定表的所有外键? 我知道表名/模式,我可以插入。

DatabaseError:当前事务中止,忽略命令,直到事务块结束

我收到很多错误消息: "DatabaseError: current transaction is aborted, commands ignored until end of transaction block" 之后从python-psycopg更改为python-psycopg2作为Django项目的数据库引擎。 代码保持不变,只是不知道这些错误来自哪里。

如何在psql中获得当前月份的周日数?

如何在postgresql中获取给定date的星期天总数

用空列创build唯一约束

我有这个布局的表格: CREATE TABLE Favorites ( FavoriteId uuid NOT NULL PRIMARY KEY, UserId uuid NOT NULL, RecipeId uuid NOT NULL, MenuId uuid ) 我想创build一个类似如下的唯一约束: ALTER TABLE Favorites ADD CONSTRAINT Favorites_UniqueFavorite UNIQUE(UserId, MenuId, RecipeId); 但是,如果MenuId IS NULL ,这将允许具有相同(UserId, RecipeId)多行。 我想在MenuId允许NULL存储没有关联菜单的collections夹,但是我只需要每个用户/配方对的这些行中的最多一个。 我到目前为止的想法是: 使用一些硬编码的UUID(如全零)而不是null。 但是, MenuId对每个用户的菜单都有一个FK约束,所以我必须为每个用户创build一个特殊的“空”菜单,这很麻烦。 请使用触发器检查是否存在空条目。 我认为这是一个麻烦,我喜欢尽可能避免触发器。 另外,我不相信他们保证我的数据永远不会处于不良状态。 只要忘记它,并检查中间件或插入函数中的空条目的存在,并没有这个约束。 我正在使用Postgres 9.0。 有什么方法可以忽略吗?

截断Postgres数据库中的所有表

我经常需要在重build之前从我的PostgreSQL数据库中删除所有的数据。 我将如何直接在SQL中做到这一点? 目前我已经设法提出了一条SQL语句,它返回我需要执行的所有命令: SELECT 'TRUNCATE TABLE ' || tablename || ';' FROM pg_tables WHERE tableowner='MYUSER'; 但是我看不到一种方法来一旦我拥有它们就可以通过编程来执行它们。

PostgreSQL“DESCRIBE TABLE”

如何在PostgreSQL中执行相当于Oracle的DESCRIBE TABLE (使用psql命令)?