トップページphp
87コメント22KB

PerlでPostgreSQL

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/08/31 18:17ID:ZHAulmbY
いままで語られてそうで意外と語られて無くない?
ドキュメントも少ないし情報交換しませんか?
0002名無しさん@お腹いっぱい。01/08/31 20:24ID:3CywWp9Y
そういえば少ないねー
0003名無しさん@お腹いっぱい。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
0004名無しさん@お腹いっぱい。01/09/01 10:26ID:XUUWA/kI
スピードとかサーバー負荷とかは気にならない?
0005名無しさん@お腹いっぱい。01/09/01 14:02ID:QiDUsdTI
Postgres.pm はやめませうよ(ワラ
0006名無しさん@お腹いっぱい。01/09/01 17:02ID:XUUWA/kI
めちゃめちゃ簡単じゃん(@o@;
なんでperlでやってなかったんだろう
0007名無しさん@お腹いっぱい。01/09/01 19:18ID:3b6idtJ.
5に同意。
DBI+DBD::*でしょ。
0008名無しさん@お腹いっぱい。01/09/03 22:32ID:Vsp2fF2E
なんでなんで?>>5>>7
0009名無しさん@お腹いっぱい。01/09/03 23:27ID:qiZD2fBo
>>8
CPANでPostgres.pmの最終更新とか見るのが吉かと。
DBI周りの情報を集めてみるともっと吉かと。
0010名無しさん@お腹いっぱい。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);

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

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

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

これをPerlからやることってできますか?
0015名無しさん@お腹いっぱい。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/
0016aaa01/10/27 16:32ID:qLc2EkHI
CGIでPostgreSQLとウエブ上から連携とりたいのですが、
create nobodyでユーザをつくり、GRANTで権利をあたえても
CGIうまく動作しません。
どなたか、心当たりある方いらっしゃいますか?

環境は
Debian+Apache+PostgreSQL(7.1.1)です。
Apacheはaptでもってきたものです。
0017名無しさん@お腹いっぱい。01/10/30 11:07ID:Iv/6CeiO
>>16
PostgreSQL7.ほにゃらら以降から、sequence の方にも権限を
与えなければINSERTが出来ない、という現象が確認されました。
もしかしてそれかにゃ?
0018名無しさん@お腹いっぱい。01/11/06 15:52ID:Xj3DYLEy
意外とPerlで使ってる人が少ないのに驚きだなぁ
CGIに入門するときはPerlで覚える人が多いのになぁ
やっぱしPHPでやる人が多いんだろうか?
0019名無しさん@お腹いっぱい。01/11/06 17:21ID:5lp+3lEo
>>18
オレはPerlぜよ
0020名無しさん@お腹いっぱい。01/11/06 17:46ID:jsqMkagZ
>>16
error_log見せて
0021名無しさん@お腹いっぱい。01/12/03 17:46ID:???
ラージオブジェクトを使おうと思うのだが勇気のいるものなのか?
Perl関連はテキスト少なすぎ、ここを育てましょうか
0022名無しさん@お腹いっぱい。01/12/03 17:58ID:???
>>21
BLOBってPostgreSQL 7.1より前だとバックアップが面倒だよね。
0023名無しさん@お腹いっぱい。01/12/03 18:11ID:???
バックアップに不便だから勇気がいるって言われたのか。。。納得
0024名無しさん@お腹いっぱい。01/12/21 14:24ID:???
age
0025名無しさん@お腹いっぱい。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使用
これでやったけど絵が表示できないっす。根本的に何か間違ってるっすかね?
00262501/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です。
様々と試してみたのですがバイナリをそのまま文字として吐き出してる
のでしょうか?文字化けしたような文字が出てくるだけです。
0027名無しさん01/12/22 18:55ID:???
http://www.adultcross.com/toybox/main.html
0028名無しさん@お腹いっぱい。01/12/22 21:25ID:???
>>25

print $pic;
じゃ駄目かな??よくわからないけど。
""が怪しい
0029名無しさん@お腹いっぱい。01/12/22 22:43ID:???
syswrite 使えば?
00302501/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関係の関数を試してみるかなぁ
00312501/12/23 16:01ID:???
さらに自己レス

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

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

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

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

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

他のRDBMで基礎を作ってから、PostgreSQLの相違点を学べばスムーズかも知れん。
0060山崎渉03/05/22 02:08ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
0061nobodyさん03/06/09 19:48ID:???
http://www.google.co.jp/search?hl=ja&inlang=ja&ie=Shift_JIS&q=PHP%24%93O%92%EA%8DU%97%AA+pdf&lr=
0062nobodyさん03/06/15 04:13ID:lc8ujHhb
age
0063PerlでDBM03/06/17 15:41ID:nJC3WMH6
DBMのぐれーぷうえぁみたい。
http://www.ecopig.jp/comucale/index.htm
0064_03/06/17 15:45ID:???
http://homepage.mac.com/hiroyuki44/
0065nobodyさん03/07/10 19:30ID:57Eu1LHu
psqlで、
database=# \q
でそのデータベースのテーブル一覧が取得できますが、
↓のようにしてもcgiから実行すると取得できません。
$res = $conn->exec("\d");
$res = $conn->exec("\\d");
$res = $conn->exec("\\\d");
どうすれば取得できるのでしょうか。
0066山崎 渉03/07/15 11:08ID:???

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0067nobodyさん03/07/24 22:22ID:???
postgreSQL,perlでテーブルにselectかけると
DBD::PgPP::st execute failed: Unknown message type: ってエラー吐くよぅ。
テーブルのカラムを削るとそのまんまで通るよう。どうしてだよう。
0068nobodyさん03/07/25 20:35ID:???
>>67
詳しく書かないと分からない
メーリングリストのほうが反応もよいと思われ
0069山崎 渉03/08/02 02:42ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0070ぼるじょあ ◆ySd1dMH5Gk 03/08/02 05:28ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
0071山崎 渉03/08/15 22:47ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0072nobodyさん03/09/23 19:52ID: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 を追加するとつながってくれません。

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

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

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

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

※ 要タイトル名検索
※ 2chブラウザ併用推奨
■ このスレッドは過去ログ倉庫に格納されています