Tag: postgresql

生成一系列date – 使用datetypes作为input

generate_series 文档说,对于generate_series(start, stop, step interval) ,参数可以是int或bigint用于generate_series(start, stop)和generate_series(start, stop, step)个案, timestamp或timestamp with time zone 。 generate_series与datetypes一起作为input并返回timestamp with timezone的原因是什么? pg=# select generate_series('2014-01-01'::date,'2014-01-02'::date,'1 day'); generate_series ———————— 2014-01-01 00:00:00+01 2014-01-02 00:00:00+01 (2 rows)

在psql中有SELECT * FROM的快捷方式吗?

在\d或\l psql控制台中有许多有用的快捷方式。 我想知道是否有任何用于SELECT * FROM table_name ? 为了学习的目的,我经常使用这个查询,所以对我来说,不要一直写这个select * from 。

最平行的多个数组

我的最后一个问题传递一个数组存储到postgres是有点不清楚。 现在,澄清我的目标: 我想创build一个Postgres存储过程,它将接受两个input参数。 其中一个是一些金额的列表,例如(100, 40.5, 76) ('01-2222-05','01-3333-04','01-4444-08') (100, 40.5, 76) ,另一个是一些发票清单 ('01-2222-05','01-3333-04','01-4444-08') 。 之后,我想使用这两个数字和字符列表,并与他们做一些事情。 例如,我想从这个数组中获取每个金额,并将其分配给相应的发票。 在Oracle中类似这样的东西: SOME_PACKAGE.SOME_PROCEDURE ( 789, SYSDATE, SIMPLEARRAYTYPE ('01-2222-05','01-3333-04','01-4444-08'), NUMBER_TABLE (100,40.5,76), 'EUR', 1, P_CODE, P_MESSAGE); 当然,这两种typesSIMPLEARRAYTYPE和NUMBER_TABLE是在DB中定义的。

在PostgreSQL中查找重叠的date范围

它是否正确? SELECT * FROM contract JOIN team USING (name_team) JOIN player USING(name_player) WHERE name_team = ? AND DATE_PART('YEAR',date_join)>= ? AND DATE_PART('YEAR',date_leave)<= ? 我的桌面contract有球员姓名,球队名称和他join和离开俱乐部的date。 我想列出一个函数,列出特定年份所有在队中的球员。 上述查询似乎并没有工作…

Postgres窗口function和组例外

我试图把一个查询,将检索一个用户的统计数据(利润/损失)作为累积的结果,在一段时间。 以下是我到目前为止的查询: SELECT p.name, e.date, sum(sp.payout) OVER (ORDER BY e.date) – sum(s.buyin) OVER (ORDER BY e.date) AS "Profit/Loss" FROM result r JOIN game g ON r.game_id = g.game_id JOIN event e ON g.event_id = e.event_id JOIN structure s ON g.structure_id = s.structure_id JOIN structure_payout sp ON g.structure_id = sp.structure_id AND r.position = sp.position JOIN player […]

select数据到Postgres数组

我有以下数据: name id url John 1 someurl.com Matt 2 cool.com Sam 3 stackoverflow.com 我怎样才能在Postgres中编写一个SQL语句来select这个数据到一个multidimensional array中,例如: {{John, 1, someurl.com}, {Matt, 2, cool.com}, {Sam, 3, stackoverflow.com}} 我以前在Postgres中已经看到过这种数组用法,但是不知道如何从表中select数据到这种数组格式。 假设这里所有的列都是texttypes的。

如何在PostgreSQL中使用(安装)dblink?

我习惯了甲骨文,并在我的架构中创build一个dblink,然后像这样访问一个远程数据库: mytable@myremotedb ,反正有没有做到与PostgreSQL相同? 现在我正在使用这样的dblink: SELECT logindate FROM dblink('host=dev.toto.com user=toto password=isok dbname=totofamily', 'SELECT logindate FROM loginlog'); 当我执行这个命令,我得到以下错误: 提示:没有函数匹配给定的名称和参数types。 您可能需要添加明确的types转换。 有人有想法吗? 我们必须“激活”dblinks或使用它们之前做一些事情吗? 在我们要查询的远程数据库上有什么要做的吗? 我们是否也必须激活dblink? 我一直有一个could not establish connection 。 这是行是types的: SELECT dblink_connect_u('host=xxxx dbname=mydb user=root port=5432'); IP地址正确,Postgres在远程服务器上运行。 任何想法?

Rownum在postgresql中

有什么办法可以在postgresql中模拟rownum吗?

从Postgres迁移数据库到MySQL

我已经将数据库从postgresql更改为MySQL ,但我不知道如何从一个数据传输到其他数据。 有谁知道任何命令,我可以从Postgresql复制/迁移我的数据库到MySQL ?

Postgres密码authentication失败

我试图用我的Windows机器的postgres用户login到我的服务器与Pgadmin。 但它一直给我这个错误: psql: FATAL: password authentication failed for user "postgres" 那么我试图用命令行loginpsql,这给了我同样的错误。 然后,我把pg_hba.conf中的本地条目信任后,使用psql将密码重置为“testing”。 然后我把条目放回到md5,并尝试使用密码“test”login。 在psql中我使用了这些命令: ALTER ROLE postgres WITH PASSWORD 'test'; ALTER ROLE postgres PASSWORD 'test'; ALTER USER postgres WITH PASSWORD 'test'; ALTER USER postgres PASSWORD 'test'; 而这个特殊的psql命令 \password 每次我将pg_hba.conf本地条目返回到md5,并尝试使用psqllogin: psql -U postgres 然后我被要求input密码。 进入'testing'后,psql给了我同样的错误,如前所述。 当然,在每次更改pg_hba文件后,我都重新启动了postgresql。 我用“su postgres”来使用psql。 所以,尽pipe我可以按照通常的方式更改密码,但并不接受密码。 我希望有人能够帮助我。 一些信息: Postgresql 9.1 Ubuntu 12.04 Pg_hba文件(根据要求) […]