小编vye*_*rov的帖子

带有'ANY'的PostgreSQL查询无效

SELECT "Ticket_id"  FROM "Tickets"
 WHERE "Status" = 1 AND ("Ticket_id" !=  ANY(array[1,2,3])) Limit 6
Run Code Online (Sandbox Code Playgroud)

结果是1,2,3,4,5,6

arrays postgresql

31
推荐指数
2
解决办法
6万
查看次数

从匿名函数postgresql返回值

如何?

举个简单的例子.我有一个简单的功能:

DO LANGUAGE plpgsql $$ DECLARE
BEGIN
EXECUTE 'SELECT NOW()';
END $$;
Run Code Online (Sandbox Code Playgroud)

我如何从匿名函数返回"NOW()"或其他值的值?该函数作为一个例子我有一个更复杂的功能.

postgresql anonymous-function plpgsql

20
推荐指数
2
解决办法
1万
查看次数

如何处理plpython中的import语句?

我有一个plypython函数,可以做一些json魔法.为此,它显然导入了json库.

每次调用函数时是否调用导入?我必须注意哪些性能影响?

python postgresql json plpython postgresql-9.1

16
推荐指数
2
解决办法
3181
查看次数

如何从.sql postgresql备份恢复单个表?

表的行被错误地从数据库中删除.我们有一个db备份,它会生成一个可以像这样恢复的sql文件:

psql -h localhost -d proddump -f /Users/U/Desktop/prod_db_backup/PostgreSQL/site_prod.sql
Run Code Online (Sandbox Code Playgroud)

这最终在本地进行完全恢复.但我们需要的是将单个表的行恢复为生产.有关如何使用PostgreSQL 9.1的任何提示?

谢谢

postgresql sed postgresql-9.1

15
推荐指数
4
解决办法
3万
查看次数

PostgreSQL:从列值向时间戳添加间隔

我需要添加来自整数列的分钟,并使用时间戳与另一列进行比较.

这是一个例子:

 SELECT t1.id_liame, t1.id_table, t1.periodicidade , t3.data_extracao, 
    CASE WHEN(NOW() < (e.data_extracao + INTERVAL t1.periodicidade || '
    MINUTES')) 
    THEN 'yes' ELSE 'no' END
    FROM table1 as t1 LEFT JOIN liame_has_extracao as t2 USING(id_liame)
    LEFT JOIN extracao as t3 USING(id_extracao)
Run Code Online (Sandbox Code Playgroud)

l.periodicidade是整数(分钟)
我需要验证是否data_extracao(timestamp)大于NOW() + l.periodicidade(integer - minutes).

我该怎么做?

postgresql postgresql-8.4

14
推荐指数
1
解决办法
1万
查看次数

PostgreSQL中夏令时的时区

我们正在部署我们自己的流量计(很像USGS规格:http://waterdata.usgs.gov/usa/nwis/uv?site_no = 03539600)所以我们皮划艇运动员知道是否有足够的水来划水流并且不要浪费时间和气体去那里.我们希望在横跨东部和中部时区的东南白水区安装其中一些.

我正在使用记录的默认值current_time存储插入记录的时间.我想稍后使用MM/DD/YYYY HH12:MI AM TZ格式显示数据,输出读数就像03/12/2012 01:00 AM CDT.我也希望输出能够意识到日光节省时间的变化,因此当我们"向前"和"退回"时,前一句的最后一部分将在CST和CDT之间发生变化.这一变化发生在今年3月11日,我在下面的DST线两侧都包含了日期.我正在使用我的Windows 7笔记本电脑进行开发,之后我们将在Unix机器上进行部署.Postgres显然发现我的Windows电脑设置在美国东部时区.我正在尝试使用"没有时区的时间戳"字段和"带时区的时间戳"字段但无法使其工作.

我已经尝试在我的选择中使用"在时区",并且每件事都在工作,直到显示时区为止.当我在CDT要求时间时,实际小时是时间戳的一部分被正确地减去一个小时.但EDT显示在输出中.

SELECT reading_time as raw,
       reading_time at time zone 'CDT',
       to_char(reading_time at time zone 'CDT',
           'MM/DD/YYYY HH12:MI AM TZ') as formatted_time
  FROM readings2;

"2012-04-29 17:59:35.65";"2012-04-29 18:59:35.65-04";"04/29/2012 06:59 PM EDT"
"2012-04-29 17:59:40.19";"2012-04-29 18:59:40.19-04";"04/29/2012 06:59 PM EDT"
"2012-03-10 00:00:00";"2012-03-10 00:00:00-05";"03/10/2012 12:00 AM EST"
"2012-03-11 00:00:00";"2012-03-11 00:00:00-05";"03/11/2012 12:00 AM EST"
"2012-03-12 00:00:00";"2012-03-12 01:00:00-04";"03/12/2012 01:00 AM EDT"
Run Code Online (Sandbox Code Playgroud)

我将每个仪表所在的时区存储在一个字符变化字段中的单独表格中.我考虑过只将这个值附加到时间输出的末尾,但我希望它在没有我干预的情况下从CST更改为CDT.

谢谢你的帮助.

postgresql timezone timestamp

12
推荐指数
2
解决办法
1万
查看次数

如何自定义列表首选项单选按钮

我已经在我的应用程序中自定义了所有的radioButtons,但listPreference中的radioButtons没有自定义.

我使用了这个名为btn_radio.xml的xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:state_window_focused="false"
      android:drawable="@drawable/radio_selected" />
<item android:state_checked="false" android:state_window_focused="false"
      android:drawable="@drawable/radio_unselected" />

<item android:state_checked="true" android:state_pressed="true"
      android:drawable="@drawable/radio_selected" />
<item android:state_checked="false" android:state_pressed="true"
      android:drawable="@drawable/radio_unselected" />

<item android:state_checked="true" android:state_focused="true"
      android:drawable="@drawable/radio_selected" />
<item android:state_checked="false" android:state_focused="true"
      android:drawable="@drawable/radio_unselected" />

<item android:state_checked="false" android:drawable="@drawable/radio_unselected" />
<item android:state_checked="true" android:drawable="@drawable/radio_selected" />
</selector>
Run Code Online (Sandbox Code Playgroud)

这是customRadioButton,它扩展了android自定义单选按钮

<style name="CustomRadioButton"    Parent="@android:style/Widget.CompoundButton.RadioButton">
    <item name="android:button">@drawable/btn_radio</item>
</style>
Run Code Online (Sandbox Code Playgroud)

在我的应用程序的主题中,我做了这个改变

<item name="android:radioButtonStyle">@style/CustomRadioButton</item>
    <item name="android:listChoiceIndicatorSingle">@style/CustomRadioButton</item>
Run Code Online (Sandbox Code Playgroud)

此更改会自定义我的应用程序中的所有radioButtons,但ListPreference中的radioButtons除外

customization android radio-button listpreference

12
推荐指数
1
解决办法
1万
查看次数

通过连接PostgreSQL中的列进行更新

我需要通过将其与vendorcitycode(由下划线分隔)连接来设置酒店代码,如下所示.

update schema.table_name set
       hotelcode = hotelcode+"_"+vendorcitycode)
 where vendorid = 'INV27' and vendorcitycode = 'LON'
Run Code Online (Sandbox Code Playgroud)

注意: hotelcode并且vendorcitycode是两列类型character varying(100).我使用PostgreSQL 8.0.

postgresql syntax-error

12
推荐指数
1
解决办法
7655
查看次数

BASH:当读取用户输入时,Enter带来新行

我需要以下示例bash脚本,行为如下:

echo -e "Enter name: \c"
read U_IP_NAME
echo -e "You said your name is : $U_IP_NAME"
Run Code Online (Sandbox Code Playgroud)

这将输出到:

Enter name: Alok
You said your name is : Alok
Run Code Online (Sandbox Code Playgroud)

但我希望它是:

You said your name is : Alok
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?

[解决方案:mouviciel]

bash

10
推荐指数
2
解决办法
8761
查看次数

Postgres触发功能

我在Postgres触发器中需要帮助.

我有两列的表:

sold boolean;
id_shop int;
Run Code Online (Sandbox Code Playgroud)

它存储物品是否被出售,或者它所在的商店.

我需要一个触发器,如果​​我将"sold"更改为true,那么它也会更改id_shopNULL(如果出售则不能在店内...)

我尝试了不同的方法,但它不起作用或在更新cmd时出错...

create or replace function pardota_masina_veikals() RETURNS trigger AS $pardota_masina$
begin
  IF NEW.sold=true THEN
    update masinas
      SET id_shop=null WHERE id=NEW.id;
  END IF;
  RETURN NEW;
END;
$pardota_masina$ LANGUAGE plpgsql;


CREATE TRIGGER pardota_masina_nevar_but_veikala 
    AFTER INSERT OR UPDATE ON masinas FOR EACH ROW EXECUTE PROCEDURE pardota_masina_veikals();
Run Code Online (Sandbox Code Playgroud)

postgresql triggers

9
推荐指数
1
解决办法
1万
查看次数