2012年1月1期WebProg47: PerlでPostgreSQL (83) TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
48: これってKENTのCGIのパクリ? (134)
49: このCGIを作っちゃおう。 (52)
50: ●転送量削減について● (99)
51: XSL/XSLT (537)

PerlでPostgreSQL


1 :01/08/31 〜 最終レス :10/03/03
いままで語られてそうで意外と語られて無くない?
ドキュメントも少ないし情報交換しませんか?

2 :
そういえば少ないねー

3 :
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 :
スピードとかサーバー負荷とかは気にならない?

5 :
Postgres.pm はやめませうよ(ワラ

6 :
めちゃめちゃ簡単じゃん(@o@;
なんでperlでやってなかったんだろう

7 :
5に同意。
DBI+DBD::*でしょ。

8 :
なんでなんで?>>5>>7

9 :
>>8
CPANでPostgres.pmの最終更新とか見るのが吉かと。
DBI周りの情報を集めてみるともっと吉かと。

10 :
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 :
技術評論社の「シーラカンス本」のPerlのサンプルがPg.pmで載ってたから、それでそのままDBIじゃなくてPg.pmをつかっちゃってるヒトが多いです。
ちなみにあの著者、実はPerlが苦手で(改訂版で書いてる)改訂版ではPerlのサンプルが無くなってるってありさま。
苦手なら書くなよ....

12 :
postgres のソースに附属するのはPg.pmだから、っていう
理由もあるのでは?

13 :
シーラカンス本(改訂前)しかメジャーな文献はないのか?

14 :
pg使ってます
\copy hoge to /tmp/backup/a.dat
これをPerlからやることってできますか?

15 :
モロ、画像サイト発見!
http://www.-jp.net/dh/01/
http://www.-jp.net/dh/02/
http://www.-jp.net/dh/03/
http://www.-jp.net/dh/04/

16 :
CGIでPostgreSQLとウエブ上から連携とりたいのですが、
create nobodyでユーザをつくり、GRANTで権利をあたえても
CGIうまく動作しません。
どなたか、心当たりある方いらっしゃいますか?
環境は
Debian+Apache+PostgreSQL(7.1.1)です。
Apacheはaptでもってきたものです。

17 :
>>16
PostgreSQL7.ほにゃらら以降から、sequence の方にも権限を
与えなければINSERTが出来ない、という現象が確認されました。
もしかしてそれかにゃ?

18 :
意外とPerlで使ってる人が少ないのに驚きだなぁ
CGIに入門するときはPerlで覚える人が多いのになぁ
やっぱしPHPでやる人が多いんだろうか?

19 :
>>18
オレはPerlぜよ

20 :
>>16
error_log見せて

21 :
ラージオブジェクトを使おうと思うのだが勇気のいるものなのか?
Perl関連はテキスト少なすぎ、ここを育てましょうか

22 :
>>21
BLOBってPostgreSQL 7.1より前だとバックアップが面倒だよね。

23 :
バックアップに不便だから勇気がいるって言われたのか。。。納得

24 :
age

25 :
$conn->exec("begin");
$pic = $conn->lo_open(OID, "PGRES_INV_READ");
print "$pic\n";
$conn->lo_close($pic);
$conn->exec("commit");
Pg使用
これでやったけど絵が表示できないっす。根本的に何か間違ってるっすかね?

26 :
自己訂正
$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 :
http://www.adultcross.com/toybox/main.html

28 :
>>25
print $pic;
じゃ駄目かな??よくわからないけど。
""が怪しい

29 :
syswrite 使えば?

30 :
自己レス
$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関係の関数を試してみるかなぁ

31 :
さらに自己レス
>>30で試したものを通常のRedHat7入ったサーバーで試したら
動きました。
RQ3のPostgreSQLのバージョンの問題でしょうか?

32 :
>>31
PostgreSQL←読みにくい。半角英数文字を使うように。

33 :
>>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 :
age

35 :
$conn->exec("age");

36 :
perl

37 :
Pgは全然駄目だと思う・・・
DBI(DBD::Pg)を使ったほうがはるかにええでぇ。

38 :
>>21
DBIからlo_*()を使うのってちょっと一瞬わかりにくいよね。
pg_INV_WRITEとかの定数がデータベースハンドルからとらなきゃいけない
( $dbh->{ pg_INV_WRITE } ・・・なんでDBD::Pg::INV_WRITEとか
ないねん??)とか、関数名が$dbh->func()の一番最後に来たり・・・

39 :
あげ

40 :
>>39
ageてくれて気づいた。こんなスレあったんだって。
新しい情報キボンヌ。

41 :
39のIDって・・・

42 :
コテハンですなぁ。unix板中心にいろんなとこで見かけますなぁ。

43 :
age

44 :
実際perl dbi + postgreSQL で構築してある
サイト教えて下さい

45 :
関連書籍
一応,張っておく。
# みんな知ってるよね?
http://www.oreilly.co.jp/BOOK/perldbi/
PostgresというよりはDBI+DBDなんだけど,私は好きです。

46 :
>>44
http://www.magic.asuka.net/database/

47 :
>>11
最近出てるシーラカンス本ではとうとうPerlインターフェイスの項が
外されてる。Java、PHP、Ruby、の各インターフェイスは
紹介されているのに。
Perlに恨みがあるとしか思えん。

48 :
>>47
もうPerlダメぽ・・・。

49 :
本人談では単にPerlが苦手なだけだとさ。

50 :
Perl、Java、PHP、Pythonあたりは欲しいですよねぇ。
Perlなら漏れが書いてあげるYO!

51 :
>>50
第 4 版では是非お願いします。
Postgres 附属の Pg.pm ですか?
それとも DBI?

52 :
>>37
DBI+DBD や Pg.pm などのパッケージの違いを吸収するルーチン書けばいいじゃん

53 :
↓DBIのDBIスレに統合しようや。な?
http://pc.2ch.net/test/read.cgi/php/1015943725/l50

54 :
(^^)

55 :
(^^)

56 :
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

57 :
最近ポスグレを勉強しようと思って書籍を買ってみたんだけど、2冊買って2冊ともクソなんで凹んでるとこでしゅ。
はじめてのPostgreSQLプログラミング 阪上徹+羽生章洋(ソフトバンク)
WindowsユーザのためのPostgreSQL導入活用ガイド 谷田豊盛(技術評論者)
誰かポスグレ初心者に優しいオススメ書籍があったらよろしくたのんます。

58 :
http://yahooo.s2.x-beat.com/linkvp/linkvp.html

59 :
>>57
他のRDBMを一通り使えるようになってから、
PostgreSQL オフィシャルマニュアルを購入する。
他のRDBMで基礎を作ってから、PostgreSQLの相違点を学べばスムーズかも知れん。

60 :
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―

61 :
http://www.google.co.jp/search?hl=ja&inlang=ja&ie=Shift_JIS&q=PHP%24%93O%92%EA%8DU%97%AA+pdf&lr=

62 :
age

63 :
DBMのぐれーぷうえぁみたい。
http://www.ecopig.jp/comucale/index.htm

64 :
http://homepage.mac.com/hiroyuki44/

65 :
psqlで、
database=# \q
でそのデータベースのテーブル一覧が取得できますが、
↓のようにしてもcgiから実行すると取得できません。
$res = $conn->exec("\d");
$res = $conn->exec("\\d");
$res = $conn->exec("\\\d");
どうすれば取得できるのでしょうか。

66 :

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

67 :
postgreSQL,perlでテーブルにselectかけると
DBD::PgPP::st execute failed: Unknown message type: ってエラー吐くよぅ。
テーブルのカラムを削るとそのまんまで通るよう。どうしてだよう。

68 :
>>67
詳しく書かないと分からない
メーリングリストのほうが反応もよいと思われ

69 :
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

70 :
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ

71 :
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

72 :
つながる。
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 を追加するとつながってくれません。
な ん で じ ゃ −

73 :
i オプション

74 :
>>73
postmaster に -i オプションつけて立ち上げないと TCP/IP接続できん…か。。
しらんかったYO! thx

75 :
postgreSQLてなんて読むの?
ぽすとぐれ?

76 :
ぽすとぐれえすきゅーえる
「ぽすとぐれす」、「ぽすぐれ」は略称。

77 :
べつに「ぽすとぐれす」は略称じゃないんだが。
ちなみにPostgreSQLの発音は「ぽすとぐれすきゅーえる」だそうだ。

78 :
そういや、俺が初めて触った頃の Postgres は、まだSQLが使えなくて、
よくわからん謎のクエリ言語がついてたな

79 :
だれもやらないよね

80 :
だね

81 :
よく落ちなかったな

82 :
まだ残ってるんだな

83 :10/03/03
e
TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
48: これってKENTのCGIのパクリ? (134)
49: このCGIを作っちゃおう。 (52)
50: ●転送量削減について● (99)
51: XSL/XSLT (537)