X



PerlでPostgreSQL

01/08/31 18:17ID:ZHAulmbY
いままで語られてそうで意外と語られて無くない?
ドキュメントも少ないし情報交換しませんか?
01/08/31 20:24ID:3CywWp9Y
そういえば少ないねー
01/08/31 21:39ID: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:26ID:XUUWA/kI
スピードとかサーバー負荷とかは気にならない?
5名無しさん@お腹いっぱい。
垢版 |
01/09/01 14:02ID:QiDUsdTI
Postgres.pm はやめませうよ(ワラ
6名無しさん@お腹いっぱい。
垢版 |
01/09/01 17:02ID:XUUWA/kI
めちゃめちゃ簡単じゃん(@o@;
なんでperlでやってなかったんだろう
01/09/01 19:18ID:3b6idtJ.
5に同意。
DBI+DBD::*でしょ。
8名無しさん@お腹いっぱい。
垢版 |
01/09/03 22:32ID:Vsp2fF2E
なんでなんで?>>5>>7
01/09/03 23:27ID:qiZD2fBo
>>8
CPANでPostgres.pmの最終更新とか見るのが吉かと。
DBI周りの情報を集めてみるともっと吉かと。
10名無しさん@お腹いっぱい。
垢版 |
01/09/04 12:23ID: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:39ID:rGjMK36k
技術評論社の「シーラカンス本」のPerlのサンプルがPg.pmで載ってたから、それでそのままDBIじゃなくてPg.pmをつかっちゃってるヒトが多いです。
ちなみにあの著者、実はPerlが苦手で(改訂版で書いてる)改訂版ではPerlのサンプルが無くなってるってありさま。

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

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

これをPerlからやることってできますか?
15名無しさん@お腹いっぱい。
垢版 |
01/09/16 17:44ID:g64gmsh2
モロ、無修正画像サイト発見!

http://www.sex-jp.net/dh/01/
http://www.sex-jp.net/dh/02/
http://www.sex-jp.net/dh/03/
http://www.sex-jp.net/dh/04/
16aaa
垢版 |
01/10/27 16:32ID:qLc2EkHI
CGIでPostgreSQLとウエブ上から連携とりたいのですが、
create nobodyでユーザをつくり、GRANTで権利をあたえても
CGIうまく動作しません。
どなたか、心当たりある方いらっしゃいますか?

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

$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です。
様々と試してみたのですがバイナリをそのまま文字として吐き出してる
のでしょうか?文字化けしたような文字が出てくるだけです。
01/12/22 18:55ID:???
http://www.adultcross.com/toybox/main.html
01/12/22 21:25ID:???
>>25

print $pic;
じゃ駄目かな??よくわからないけど。
""が怪しい
01/12/22 22:43ID:???
syswrite 使えば?
3025
垢版 |
01/12/23 13:30ID:???
自己レス

$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:01ID:???
さらに自己レス

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

PostgreSQL←読みにくい。半角英数文字を使うように。
33名無しさん@お腹いっぱい。
垢版 |
01/12/25 00:57ID: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:12ID:PgdNISg+
age
02/01/11 17:33ID:???
$conn->exec("age");
36nobodyさん
垢版 |
02/05/27 07:10ID:k7i+drRi
perl
02/05/27 18:41ID:???
Pgは全然駄目だと思う・・・
DBI(DBD::Pg)を使ったほうがはるかにええでぇ。
02/05/27 18:56ID:???
>>21
DBIからlo_*()を使うのってちょっと一瞬わかりにくいよね。
pg_INV_WRITEとかの定数がデータベースハンドルからとらなきゃいけない
( $dbh->{ pg_INV_WRITE } ・・・なんでDBD::Pg::INV_WRITEとか
ないねん??)とか、関数名が$dbh->func()の一番最後に来たり・・・
39login:Penguin
垢版 |
02/10/05 20:41ID:LSQvglWi
あげ
02/10/06 03:30ID:???
>>39
ageてくれて気づいた。こんなスレあったんだって。
新しい情報キボンヌ。
41nobodyさん
垢版 |
02/10/07 00:45ID:Zxj7MN0A
39のIDって・・・
02/10/07 17:22ID:???
コテハンですなぁ。unix板中心にいろんなとこで見かけますなぁ。

43nobodyさん
垢版 |
02/10/15 07:31ID:NUZuNJr5
age
02/10/15 19:49ID:???
実際perl dbi + postgreSQL で構築してある
サイト教えて下さい
02/10/15 21:34ID:???
関連書籍
一応,張っておく。
# みんな知ってるよね?
http://www.oreilly.co.jp/BOOK/perldbi/
PostgresというよりはDBI+DBDなんだけど,私は好きです。
02/10/16 00:35ID:???
>>44
http://www.magic.asuka.net/database/
47nobodyさん
垢版 |
02/11/24 22:40ID:nYY6oDGd
>>11
最近出てるシーラカンス本ではとうとうPerlインターフェイスの項が
外されてる。Java、PHP、Ruby、の各インターフェイスは
紹介されているのに。
Perlに恨みがあるとしか思えん。
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況