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)