PerlでPostgreSQL

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
いままで語られてそうで意外と語られて無くない?
ドキュメントも少ないし情報交換しませんか?
2名無しさん@お腹いっぱい。:01/08/31 20:24 ID:3CywWp9Y
そういえば少ないねー
3名無しさん@お腹いっぱい。:01/08/31 21:39 ID:rxEjsmF6
Postgres.pm とか Pg.pm を使うと良さそう。

Pgモジュール
http://member.nifty.ne.jp/hippo2000/perltips/Pg.htm

DBD::Pgモジュール
http://member.nifty.ne.jp/hippo2000/perltips/DBD/pg.htm

Perl PostgreSQL 用関数
http://www.itboost.co.jp/perl/perl_11.php

perl スクリプトで PostgreSQL サーバにアクセスする
http://www.hpc.cs.ehime-u.ac.jp/~aman/linux/SQL/Pg.html

Pgモジュール
http://www.tale.to/tech/sh_note/12141.html
4名無しさん@お腹いっぱい。:01/09/01 10:26 ID:XUUWA/kI
スピードとかサーバー負荷とかは気にならない?
5名無しさん@お腹いっぱい。:01/09/01 14:02 ID:QiDUsdTI
Postgres.pm はやめませうよ(ワラ
6名無しさん@お腹いっぱい。:01/09/01 17:02 ID:XUUWA/kI
めちゃめちゃ簡単じゃん(@o@;
なんでperlでやってなかったんだろう
7名無しさん@お腹いっぱい。:01/09/01 19:18 ID:3b6idtJ.
5に同意。
DBI+DBD::*でしょ。
8名無しさん@お腹いっぱい。:01/09/03 22:32 ID:Vsp2fF2E
なんでなんで?>>5>>7
9名無しさん@お腹いっぱい。:01/09/03 23:27 ID:qiZD2fBo
>>8
CPANでPostgres.pmの最終更新とか見るのが吉かと。
DBI周りの情報を集めてみるともっと吉かと。
10名無しさん@お腹いっぱい。:01/09/04 12:23 ID:wI63.qcQ
Pgで使ってます。

例えばですが

$sql = "select * from table";
$result = $conn->exec($sql);

としてから必要な範囲のデータをfor等で取り出すのと
先に必要な部分を指定しておいて

$a = 4;# 必要な場所
$sql = "select * from table limit 5 offset $a";
$result = $conn->exec($sql);

とした方が負荷がかからないのでしょうか?
今のところレコード数が少ないので前者でやっております、両方比べたところ
差が感じられなかったのですが。
11名無しさん@お腹いっぱい。:01/09/04 12:39 ID:rGjMK36k
技術評論社の「シーラカンス本」のPerlのサンプルがPg.pmで載ってたから、それでそのままDBIじゃなくてPg.pmをつかっちゃってるヒトが多いです。
ちなみにあの著者、実はPerlが苦手で(改訂版で書いてる)改訂版ではPerlのサンプルが無くなってるってありさま。

苦手なら書くなよ....
12名無しさん@お腹いっぱい。:01/09/04 12:53 ID:PWaJZT/.
postgres のソースに附属するのはPg.pmだから、っていう
理由もあるのでは?
13名無しさん@お腹いっぱい。:01/09/04 14:37 ID:wI63.qcQ
シーラカンス本(改訂前)しかメジャーな文献はないのか?
14名無しさん@お腹いっぱい。:01/09/16 16:20 ID:OZyejt4c
pg使ってます

\copy hoge to /tmp/backup/a.dat

これをPerlからやることってできますか?
15名無しさん@お腹いっぱい。:01/09/16 17:44 ID:g64gmsh2
16aaa:01/10/27 16:32 ID:qLc2EkHI
CGIでPostgreSQLとウエブ上から連携とりたいのですが、
create nobodyでユーザをつくり、GRANTで権利をあたえても
CGIうまく動作しません。
どなたか、心当たりある方いらっしゃいますか?

環境は
Debian+Apache+PostgreSQL(7.1.1)です。
Apacheはaptでもってきたものです。
17名無しさん@お腹いっぱい。:01/10/30 11:07 ID:Iv/6CeiO
>>16
PostgreSQL7.ほにゃらら以降から、sequence の方にも権限を
与えなければINSERTが出来ない、という現象が確認されました。
もしかしてそれかにゃ?
18名無しさん@お腹いっぱい。:01/11/06 15:52 ID:Xj3DYLEy
意外とPerlで使ってる人が少ないのに驚きだなぁ
CGIに入門するときはPerlで覚える人が多いのになぁ
やっぱしPHPでやる人が多いんだろうか?
19名無しさん@お腹いっぱい。:01/11/06 17:21 ID:5lp+3lEo
>>18
オレはPerlぜよ
20名無しさん@お腹いっぱい。:01/11/06 17:46 ID:jsqMkagZ
>>16
error_log見せて
21名無しさん@お腹いっぱい。:01/12/03 17:46 ID:???
ラージオブジェクトを使おうと思うのだが勇気のいるものなのか?
Perl関連はテキスト少なすぎ、ここを育てましょうか
22名無しさん@お腹いっぱい。:01/12/03 17:58 ID:???
>>21
BLOBってPostgreSQL 7.1より前だとバックアップが面倒だよね。
23名無しさん@お腹いっぱい。:01/12/03 18:11 ID:???
バックアップに不便だから勇気がいるって言われたのか。。。納得
24名無しさん@お腹いっぱい。:01/12/21 14:24 ID:???
age
25名無しさん@お腹いっぱい。:01/12/22 14:59 ID:???
$conn->exec("begin");
$pic = $conn->lo_open(OID, "PGRES_INV_READ");
print "$pic\n";
$conn->lo_close($pic);
$conn->exec("commit");

Pg使用
これでやったけど絵が表示できないっす。根本的に何か間違ってるっすかね?
2625:01/12/22 18:50 ID:???
自己訂正

$conn->exec("begin");
$fd = $conn->lo_open(OID, "PGRES_INV_READ");
$bite = $conn->lo_read($fd, $pic,30000);
print "$pic\n";
$conn->lo_close($fd);
$conn->exec("commit");

表示ヘッダはimage/jpegで内容も当然jpgです。
様々と試してみたのですがバイナリをそのまま文字として吐き出してる
のでしょうか?文字化けしたような文字が出てくるだけです。
27名無しさん:01/12/22 18:55 ID:???
28名無しさん@お腹いっぱい。:01/12/22 21:25 ID:???
>>25

print $pic;
じゃ駄目かな??よくわからないけど。
""が怪しい
29名無しさん@お腹いっぱい。:01/12/22 22:43 ID:???
syswrite 使えば?
3025:01/12/23 13:30 ID:???
自己レス

$conn->exec("begin");
$fd = $conn->lo_open(OID, "PGRES_INV_READ");
$bite = $conn->lo_read($fd, $pic,30000);
binmode STDOUT;
print $pic;
$conn->lo_close($fd);
$conn->exec("commit");

としてみてもだめだね、なんだろう?
pgsql-jp MLの検索で同じようなのを見つけてその解決スクリプトみたいなのを
見てたけど基本的にはずしてないとおもうんだけど
pgsql-jp MLでもそうだったけどうちのサーバーがRQ3だからかな?

とりあえず>>29さんのいうようにsys関係の関数を試してみるかなぁ
3125:01/12/23 16:01 ID:???
さらに自己レス

>>30で試したものを通常のRedHat7入ったサーバーで試したら
動きました。
RQ3のPostgreSQLのバージョンの問題でしょうか?
32名無しさん@お腹いっぱい。:01/12/23 16:04 ID:???
>>31

PostgreSQL←読みにくい。半角英数文字を使うように。
33名無しさん@お腹いっぱい。:01/12/25 00:57 ID:DwRf9qhb
>>13
Linux Magazine 1月号P169にDBD:pgでの記事あり。
8ページ書いてるから初心者は役に立つかも。
Linux world 2月号P143にmod_perl+Pgでの記事あり。
5ページ書いてある。mod_perlとmod_phpの速度比較について。
現在、どちらも書店で買える。
perl+DBD:pg+postgreSQL7.1.*でSQLのリファレンスと事例サンプル付き書籍
をキボンヌ
34名無しさん@お腹いっぱい。:01/12/31 05:12 ID:PgdNISg+
age
35名無しさん@お腹いっぱい。:02/01/11 17:33 ID:???
$conn->exec("age");
36nobodyさん:02/05/27 07:10 ID:k7i+drRi
perl
37nobodyさん:02/05/27 18:41 ID:???
Pgは全然駄目だと思う・・・
DBI(DBD::Pg)を使ったほうがはるかにええでぇ。
38nobodyさん:02/05/27 18:56 ID:???
>>21
DBIからlo_*()を使うのってちょっと一瞬わかりにくいよね。
pg_INV_WRITEとかの定数がデータベースハンドルからとらなきゃいけない
( $dbh->{ pg_INV_WRITE } ・・・なんでDBD::Pg::INV_WRITEとか
ないねん??)とか、関数名が$dbh->func()の一番最後に来たり・・・
39login:Penguin:02/10/05 20:41 ID:LSQvglWi
あげ
40nobodyさん:02/10/06 03:30 ID:???
>>39
ageてくれて気づいた。こんなスレあったんだって。
新しい情報キボンヌ。
41nobodyさん:02/10/07 00:45 ID:Zxj7MN0A
39のIDって・・・
42nobodyさん:02/10/07 17:22 ID:???
コテハンですなぁ。unix板中心にいろんなとこで見かけますなぁ。

43nobodyさん:02/10/15 07:31 ID:NUZuNJr5
age
44login:Penguin:02/10/15 19:49 ID:???
実際perl dbi + postgreSQL で構築してある
サイト教えて下さい
45nobodyさん:02/10/15 21:34 ID:???
関連書籍
一応,張っておく。
# みんな知ってるよね?
http://www.oreilly.co.jp/BOOK/perldbi/
PostgresというよりはDBI+DBDなんだけど,私は好きです。
46nobodyさん:02/10/16 00:35 ID:???
47nobodyさん:02/11/24 22:40 ID:nYY6oDGd
>>11
最近出てるシーラカンス本ではとうとうPerlインターフェイスの項が
外されてる。Java、PHP、Ruby、の各インターフェイスは
紹介されているのに。
Perlに恨みがあるとしか思えん。
48nobodyさん:02/11/25 00:42 ID:???
>>47
もうPerlダメぽ・・・。
49nobodyさん:02/11/25 02:46 ID:???
本人談では単にPerlが苦手なだけだとさ。
50nobodyさん:02/11/26 12:33 ID:???
Perl、Java、PHP、Pythonあたりは欲しいですよねぇ。
Perlなら漏れが書いてあげるYO!
51タツヲ・イスィ:02/11/26 13:30 ID:???
>>50
第 4 版では是非お願いします。
Postgres 附属の Pg.pm ですか?
それとも DBI?
52nobodyさん:02/11/28 14:11 ID:???
>>37
DBI+DBD や Pg.pm などのパッケージの違いを吸収するルーチン書けばいいじゃん
53nobodyさん:02/12/20 12:52 ID:???
↓DBIのDBIスレに統合しようや。な?
http://pc.2ch.net/test/read.cgi/php/1015943725/l50
54山崎渉:03/01/15 13:43 ID:???
(^^)
55山崎渉:03/04/17 12:26 ID:???
(^^)
56山崎渉:03/04/20 06:06 ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
57nobodyさん:03/04/22 16:19 ID:fVFHKJWE
最近ポスグレを勉強しようと思って書籍を買ってみたんだけど、2冊買って2冊ともクソなんで凹んでるとこでしゅ。

はじめてのPostgreSQLプログラミング 阪上徹+羽生章洋(ソフトバンク)
WindowsユーザのためのPostgreSQL導入活用ガイド 谷田豊盛(技術評論者)

誰かポスグレ初心者に優しいオススメ書籍があったらよろしくたのんます。
58nobodyさん:03/04/22 16:21 ID:mP70YMlo
59nobodyさん:03/05/18 14:31 ID:???
>>57
他のRDBMを一通り使えるようになってから、
PostgreSQL オフィシャルマニュアルを購入する。

他のRDBMで基礎を作ってから、PostgreSQLの相違点を学べばスムーズかも知れん。
60山崎渉:03/05/22 02:08 ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
61nobodyさん:03/06/09 19:48 ID:???
62nobodyさん:03/06/15 04:13 ID:lc8ujHhb
age
63PerlでDBM:03/06/17 15:41 ID:nJC3WMH6
DBMのぐれーぷうえぁみたい。
http://www.ecopig.jp/comucale/index.htm
64_:03/06/17 15:45 ID:???
65nobodyさん:03/07/10 19:30 ID:57Eu1LHu
psqlで、
database=# \q
でそのデータベースのテーブル一覧が取得できますが、
↓のようにしてもcgiから実行すると取得できません。
$res = $conn->exec("\d");
$res = $conn->exec("\\d");
$res = $conn->exec("\\\d");
どうすれば取得できるのでしょうか。
66山崎 渉:03/07/15 11:08 ID:???

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
67nobodyさん:03/07/24 22:22 ID:???
postgreSQL,perlでテーブルにselectかけると
DBD::PgPP::st execute failed: Unknown message type: ってエラー吐くよぅ。
テーブルのカラムを削るとそのまんまで通るよう。どうしてだよう。
68nobodyさん:03/07/25 20:35 ID:???
>>67
詳しく書かないと分からない
メーリングリストのほうが反応もよいと思われ
69山崎 渉:03/08/02 02:42 ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
70ぼるじょあ ◆ySd1dMH5Gk :03/08/02 05:28 ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
71山崎 渉:03/08/15 22:47 ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
72nobodyさん:03/09/23 19:52 ID:cmhnhX8a
つながる。
my $dbh = DBI->connect("dbi:Pg:dbname=hogehoge", "username", "password");
my $dbh = DBI->connect("dbi:Pg:dbname=hogehoge;port=5432", "username", "password");

つながらない。
my $dbh = DBI->connect("dbi:Pg:dbname=hogehoge;host=localhost", "username", "password");
# could not connect to server: Connection refused

PostgreSQLは、Apacheと同じサーバー上で動いてます。
上のようにしてPerl/CGIでPostgreSQLにつなげてるんですが、
host=localhost を追加するとつながってくれません。

な ん で じ ゃ −
73nobodyさん:03/09/23 20:42 ID:???
i オプション
74nobodyさん:03/09/23 20:55 ID:???
>>73
postmaster に -i オプションつけて立ち上げないと TCP/IP接続できん…か。。
しらんかったYO! thx
75nobodyさん:04/04/21 21:05 ID:nVKgV/tX
postgreSQLてなんて読むの?

ぽすとぐれ?
76nobodyさん:04/07/29 09:06 ID:t5km3ymm
ぽすとぐれえすきゅーえる
「ぽすとぐれす」、「ぽすぐれ」は略称。
77nobodyさん:04/07/29 23:26 ID:???
べつに「ぽすとぐれす」は略称じゃないんだが。
ちなみにPostgreSQLの発音は「ぽすとぐれすきゅーえる」だそうだ。
78nobodyさん:04/07/29 23:41 ID:???
そういや、俺が初めて触った頃の Postgres は、まだSQLが使えなくて、
よくわからん謎のクエリ言語がついてたな
79 ◆LNEYkUn2Z6 :2008/03/14(金) 04:23:28 ID:???
だれもやらないよね
80nobodyさん:2008/04/05(土) 18:43:35 ID:kw6H+3vI
だね
81nobodyさん:2008/04/29(火) 17:40:58 ID:???
よく落ちなかったな
82nobodyさん:2009/04/13(月) 00:01:48 ID:???
まだ残ってるんだな
83nobodyさん:2010/03/03(水) 01:59:38 ID:iEY2V60M
e
84 忍法帖【Lv=40,xxxPT】(3+0:8) 【28.1m】 電脳プリオン ◆3YKmpu7JR7Ic :2012/09/30(日) 17:31:39.83 ID:??? BE:638518379-PLT(12079)

  ∧_∧
  ( ・∀・)      | | ガガッ
 と    )      | |
   Y /ノ      .人
    / ) .人   <  >_∧∩
  _/し' <  >_∧∩`Д´)/
 (_フ彡 V`Д´)/   / ←>>56
            / ←>>69
85nobodyさん:2014/01/15(水) 00:02:18.73 ID:???
ぬるぽ
86nobodyさん:2014/06/29(日) 21:35:43.52 ID:???
PerlでPostgreSQL
87nobodyさん:2014/07/01(火) 09:01:23.16 ID:qhi5s56K
◎2chスレッド勢いランキングサイトリスト◎

★+ニュース板
・ 2NN (推薦)
・ 2chTimes
★+ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
★+ニュース板その他
・ Desktop2ch
・ 記者別一覧
★全板
・ 全板縦断勢いランキング (推薦)
・ スレッドランキング総合ランキング
・ ログ速
★全板実況込み
・ 2勢 (推薦)
・ READ2CH
・ i-ikioi

※ 要タイトル名検索
※ 2chブラウザ併用推奨
88nobodyさん:2014/08/31(日) 21:40:50.41 ID:???
89nobodyさん:2014/11/23(日) 19:43:03.72 ID:???
PerlでPostgreSQL
90nobodyさん:2015/01/21(水) 17:53:49.29 ID:???
あけおめ
91nobodyさん:2015/01/22(木) 10:40:01.63 ID:???
ことよろ
92nobodyさん:2015/02/14(土) 15:24:51.92 ID:???
 は い 、 ク ソとショウ ベンを喰って完敗した〜☆ゴキブリ蟯虫(* ^ _ ^ *)♪
  ゲラ☆ゲラ☆ゲラ☆ゲラ☆ゲラ☆ゲラ☆
超 絶 ワロ ス(* ^ _ ^ *)♪(* ^ _ ^ *)♪(* ^ _ ^ *)♪
 ほ ら っ気色 悪いツラで泣きながら死 ん で る(* ^ _ ^ * )♪
93nobodyさん:2015/02/14(土) 16:00:39.84 ID:???
94nobodyさん:2015/02/14(土) 19:37:20.16 ID:???
 は い 、 ク ソとショウ ベンを喰って完敗した〜☆ゴキブリ蟯虫(* ^ _ ^ *)♪
  ゲラ☆ゲラ☆ゲラ☆ゲラ☆ゲラ☆ゲラ☆
超 絶 ワロ ス(* ^ _ ^ *)♪(* ^ _ ^ *)♪(* ^ _ ^ *)♪
 ほ ら っ気色 悪いツラで泣きながら死 ん で る(* ^ _ ^ * )♪
95nobodyさん:2015/02/15(日) 14:19:33.90 ID:???
レス数が変わったら書き込むスクリプトか
96nobodyさん
 は い 、 ク ソとショウ ベンを喰って完敗した〜☆ゴキブリ蟯虫(* ^ _ ^ *)♪
  ゲラ☆ゲラ☆ゲラ☆ゲラ☆ゲラ☆ゲラ☆
超 絶 ワロ ス(* ^ _ ^ *)♪(* ^ _ ^ *)♪(* ^ _ ^ *)♪
 ほ ら っ気色 悪いツラで泣きながら死 ん で る(* ^ _ ^ * )♪