PHP + PostgreSQLat PHP
PHP + PostgreSQL - 暇つぶし2ch700:nobodyさん
05/05/16 22:49:41
>>698
SELECT (CASE WHEN field='' THEN '0' ELSE field END)

701:700
05/05/16 22:50:28
SELECT (CASE WHEN field='' THEN '0' ELSE field END)::integer ね。

702:nobodyさん
05/10/11 18:34:00 A0maUghJ
すいません、質問です。

Linux上にpostgresとPHPがインストールされていますが、
PHPからpgsqlを呼び出す事ができません。
phpinfo()で設定されてない事が確認できました。

で、調べて見た所オプションをつけてコンパイルしなおせば
使えるようになるみたいなんですが、
他に方法はありませんか?

Windowsだとphp.iniを書き直すだけで設定できたのですが
こういうのってLinuxだと無理なんですか?

703:nobodyさん
05/10/12 05:28:13
pconnect対策でpgpool入れたんだけどpgpoolにpconnectしても接続数大杉になるよね?

「pgpoolにはconnectで。postgresへの直connectより軽い」が正解?

704:nobodyさん
05/10/12 08:32:39
>>702
phpをどうやってインストールしたかによる
rpmならphp-pgsqlのパッケージだけを追加インストールすればよい
ソースからインストールしたのなら全部コンパイルしなおすかphpizeでext/pgsql/のみコンパイルして追加する

705:nobodyさん
05/10/13 21:19:25
phpはソースから入れる方がいいように思う。
バージョンによる挙動の違いとかあるから。
うかつにアップデートするとまずいことになる。

706:nobodyさん
05/10/18 17:46:31
portsでインスコしてportupgradeでアップデート終了
手抜きする為にFreeBSDを使うのが漏れのジャスティス(´・ω・`)

707:nobodyさん
05/10/18 20:16:46
yumやapt-getもあるでよ

708:nobodyさん
05/11/05 16:52:03 3i8SmZZ/
つーか、ちゃんとメンテナンスされてるパッケージシステムを使えばいいだけ。
PHP+DBなんてOSはどうでもいいし。

しかし、PHP+PostgreSQLなんて原価安い分買い叩かれて仕事稼げないのによくやるねえ。
SunEnterprise+Solaris+Oracle+iPlanet+WebLogicの仕事が一番稼げるよ。

709:nobodyさん
06/01/04 20:58:12 D32qMl2A
おまえらあけおめ

710:nobodyさん
06/01/06 14:57:06 XMuialze
PostgreSQL用の追加モジュールのpgsql.soをインストールしたいのですが、
phpizeコマンドが使えません。phpizeは/usr/local/binに入っています、
方法としては、/usr/local/src/php/ext/pgsqlに行き、phpizeを実行する、
と、bash:phpize:command not found となってしまいます。
まったくの初心者で、なにを治していいか分かりません、どなたかご指導願います。

711:nobodyさん
06/01/17 18:44:37
Fedora core4にPHP5.1.2、postgres7.3.4、apache2.2.0を放りこまにゃならんのだけど
インストールの順番って特に考えんでも問題なし??

…PHP5.1.2なんてまだ使いたくねぇよorz

712:nobodyさん
06/01/17 18:45:26 0H6x+8rL
ゴメン、ageてみる

713:nobodyさん
06/01/17 19:01:48
>>711
分けてあるから平気よ。

枯れた環境がいいならFC4なんて使うなよ。
顧客の要望でFC4なら諦めろ。

714:nobodyさん
06/01/17 19:27:58 0H6x+8rL
>>713
ありがとです。
FC4でデフォルトな装備品で気持ちよく開発したいもんだが、
隅から隅までお客サマの要望ときたもんだ(TT)
posgreをmakeしてるけどwarning吐きまくりだわ。いけるのか7.3.4
ready install!とか言われても不安が尽きないですよ。



715:nobodyさん
06/01/17 19:32:49
>>711
なんでわざわざ7.3.4なんだ?
クラは8.1.xの存在知ってる?改良点についても。

716:nobodyさん
06/01/17 19:33:43
>>711
俺はFC4じゃないけど、CentOS4に入れてみた。
PHP5.1.2、postgres8.1.2、apache2.2.0。
順番はApacheかPostgresが最初で、最後がPHP。


717:711
06/01/18 10:14:02
>>715
結構古くから使ってるDocomoのサイトなんだけど、
それのAU版を新しく作るんだわ。
まったく別にもう1つDBサーバー作るんだけど、
データの共有できる部分が多いからPostgresのバージョンは変えたく無いんだと。
クラの担当者本人が苦笑してたぐらいだからな~~orz
「サーバ担当チームが変更してくれん」ってさwww一体誰のこだわりなんだか

>>716
同じ順番になってる。なんかホッとしたー(・∀・)

昨日は私用で帰っちゃったので本日中に開発環境整えれるように頑張ります

718:716
06/01/18 10:40:20
>>717
データの共有出来る部分?
よくわからんけど、Postgres7,3,3からPostgres8.1.2に
データ移行したけど、全然問題なく簡単に出来たよ。
パフォーマンスも段違いだし、8にした方がいいよ。

719:711
06/01/18 11:24:09
>>718
分かっちゃいるんだけどねぇ…コレはお客サマのお告げなので…(TT)
もう本番サーバー設定しちゃったらしいし。しゃーないわ。



720:nobodyさん
06/01/18 23:58:58 BuFau/7y
PHPにはPostgresqlが似合ってるな(中途半端!)
PerlにはMysqlが似合ってるな(早い!安い!)
JavaにはOracleが似合ってるな(めんどくせー!結構金かかるな!)

PHP+Oracleの案件って見たことねえ
Perl+Postgresqlの案件もあんまり見たことねえ(たまにあるね)
Java+Mysqlの案件は見たことねえ

きっとコストと処理速度と規模で決まっちゃうんだろうな

721:nobodyさん
06/01/19 14:44:01
Oracle の JDBC ライブラリは普通にバイナリで出回ってるが
Perl や PHP から Oracle を引くにはドライバを make せんといかんので面倒がられる

PostgreSQL と Perl の組み合わせは、PL/Perl が最強だと思うんだが
現場で使われてるところを見たことがない

Java と MySQL は、よく知らないんだが
昔は UTF-8 対応が足枷になったりしてたのか?

722:nobodyさん
06/01/21 04:00:36
>>720
Java+Oracle を PHP + Oracle でリニューアルした案件は結構見る。

723:nobodyさん
06/01/26 03:40:56
PHP5.1のrpmが落ちてないなぁ。
エロイ人、お願いします。

724:nobodyさん
06/01/26 03:57:34
>>723
すれ違い。
ディストリビューションかかないと解らないし。

725:nobodyさん
06/01/29 19:06:11
Perlなら、Oracleについてくるじゃん。
あれって、Windowsだけだっけ?

726:nobodyさん
06/01/30 16:07:49
Oracle は Zend と提携したし

727:nobodyさん
06/01/30 23:33:48
しっかし 8.1 は速くなったのー。

728:nobodyさん
06/05/03 21:26:11
もはやMySQLよりも速い気がしますね。

729:nobodyさん
06/05/08 00:57:02
いや、実際速いよ。

730:nobodyさん
06/07/07 12:29:39 AUesg1Gs
はじめまして。
RedHatLinux8.0上でPHPとpostgreSQL7.2.3をつかって顧客管理システムでも
つくろうかなと思っていたのですが、PHPは正常にインストールができてpostgreSQLの
インストールした後の環境変数の設定をしなくてはいけないらしくて、ホームディレクトリ
ディレクトリのbashrcにスクリプトを追加しなくてはいけません。
このpostgreSQLのインストール後の設定についてどなたか教えていただけませんでしょうか?

ちなみに参考文献は
「php×postgreSQLでつくる最強webシステム」
です。
どうかよろしくお願いします。


731:nobodyさん
06/07/07 12:56:12 AUesg1Gs
先ほどの730のものです。
質問があいまいになっていたので、再度カキコさせていただきます。
postgreSQLのインストール行った後に、ホームディレクトリに

POSTGRES_HOME=/usr/local/pgsql/
export PATH="$PATH":/usr/local/pgsql/bin
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH="$MANPATH":POSTGRES_HOME/man

という内容を追加し、「source ~/.bashrc」を実行するとあるのですが、この
bashrcというファイルがどこにあるのかという事と、このホームディレクトリとは
はどこを指しているのかがよくわかりません・・・・

732:nobodyさん
06/07/07 12:58:10
>>730
また古い物を、
で、環境設定ならP87から書いてある通りで桶だと思うが。
viでもなんでもエディタでpostgresのホームディレクトリにある
本通りだと/usr/local/pgsql/.bashrc にP88の内容通りすりゃいい。

ログイン時に.bashrcを読み込んでくれないのなら.bash_profileの
中身を確認。RedHat系なら読み込んでくれると思ったが。

733:nobodyさん
06/07/07 13:08:50 AUesg1Gs
nobody様

ご助言ありがとうございます。
参考にさせていただきます!!

734:nobodyさん
06/07/07 14:56:02 AUesg1Gs
/usr/local/pgsql/.bashrc を書き換えたいのですが、bashrcというファイル名
のファイルが見つかりません。windowsのようにフォルダオプションに相当する
コマンドか何かあるのでしょうか?

735:nobodyさん
06/07/07 15:41:15
>>734
無ければ作ればいいんだけど・・?
通常は隠しファイルで見えないだけで、 ls -la とかやってみては?

736:nobodyさん
06/07/07 22:39:50
/usr/local/pgsql/.bashrcでいいの?

737:nobodyさん
06/07/08 09:08:12
>>736
ログインしたユーザーに環境変数をセットしてあげたいんでしょ?
だったら、その人のホーム直下に作らないとダメね。

 ~/.bashrc ね

738:nobodyさん
06/09/27 15:35:11
postgreSQL 7.3.1 + PHP
です。
$sql = "DROP TABLE IF EXISTS test";
pg_query($sql);

という感じで、 test というテーブルが存在する場合に DROP TABLEさせたいのですが
テーブルの存在はどのように判定したらよいでしょうか

上記では、pg_query がエラーを出してしまいます。

739:nobodyさん
06/09/28 02:43:52
IF EXISTS ってmysqlじゃないですか

740:nobodyさん
06/10/01 13:01:09
>>738
URLリンク(www.postgresql.jp)

741:nobodyさん
06/10/01 21:50:33
以下のコードで、pg_insert()のエラーが出力されないのですが、エラーを取る方法はあるのでしょうか?

//'bool'カラムでエラー
$data = array('number' => 3, 'bool' => 'trueee', 'time' => date('Y-m-d H:i:s'));

$res = pg_insert($con, 'test', $data);
if (!$res) echo pg_result_error($res);

----------------------------------------------------------

pg_query()の場合は正常にエラーが出力されます。

$date = date('Y-m-d H:i:s');
$res = pg_query($con, "insert into test(number, bool, time) values(5, 'trueee', '{$date}')");
if (!$res) echo pg_result_error($res);

Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid input syntax for type boolean: "trueee"

環境
 windows XP
 PHP 5.1.4
 Apache 2.0.58
 Postgres 8.1.4

または
 FreeBSD 6.1
 PHP 5.1.4 or PHP 5.2
 Apache 1.3.37
 Postgres 8.1.4

742:nobodyさん
07/06/26 15:17:35 KNA8dvka
phpから、db_dumpの実行方法がわかりません。
もしかして、「psql.exe」を呼び出して実行させるプログラムが別途必要になってくるのでしょうか?
psqlからなら、出来たのですが、、、


743:nobodyさん
07/06/26 15:25:27 KNA8dvka
具体的には「pg_dump」を実行させて、データのバックアップをとりたいのですが、
pg_dump test_db > database_name.sql
をPHPファイルのどこに記入したら良いのかわからないです。


744:nobodyさん
07/06/26 17:39:31
system()で実行したらどうでしょうか

745:nobodyさん
07/08/25 00:24:48
文字コードの変換は、
PostgreSQLのSET NAMES

PHPのmb_convert_encoding
のどちらでやるほうがいいのでしょうか?


746:nobodyさん
07/09/03 07:59:26 KucjbbQW
初の質問です。
今php+postgresql+fedoracore4でシステムを作っているんですが、
どうも原因がpostgresqlにあるとわかってきました。
自分はDBを作るときまず文字コードをeucに変えて入力するんですが
invalid byte sequence for encoding "EUC_JP": 0xe988
というエラーがでます。
PHPのソースはURLリンク(www.mywave.co.jp)
にあります。
ぜひ教えてください。


747:nobodyさん
07/09/03 13:19:55
>>746
いやです。
関係ないところを削って
30行以内に収めてから出直してください。

748:nobodyさん
07/09/04 02:28:15
>>746
マルチは死んでください

749:nobodyさん
07/09/09 02:29:17 zQ9Ko6j+
fedora core4でphp+postgresqlをやろうと思ったんですが
DBが認識してくれません。
DBの部分がエラーになるので、画面が真っ白です。
やった人いませんか?
DB認識はパッケージではだめなんでしょうか?
ちょっとわかりずらいかもしれませんが、よろしくです。


750:nobodyさん
07/09/09 09:10:26
apacheのエラーログにはなんて書いてありますか?

751:nobodyさん
07/09/09 11:02:45
氏ねバカ、と書いてある。

752:nobodyさん
07/09/10 06:56:33 iLiEDXXm
PHPのconfigure時にPostgresqlが組み込まれているかしりたいです。
fedora core4でパッケージでphpをイントールしたのですが。
組み込まれているのでしょうか?
またこれ追加はできないのでしょうか?
後php info();で見てみたんですが、
dbx support enabled
dbx version 1.1.0
supported databases MySQL ODBC PostgreSQL Microsoft SQL Server FrontBase Oracle 8 (oci8) Sybase-CT SQLite
てでたんだがphpのconfigureの部分はなかった。
どうでしょうか?


753:nobodyさん
07/09/10 14:55:10
PostgreSQL(libpq) Version とか出てないのか?

754:nobodyさん
07/09/10 20:00:15
DB板のPostgreSQLスレに湧いていた馬鹿が、こんどはこのスレにきたか。消えろ。

755:nobodyさん
08/03/27 13:58:14
ユーザIDをキーに持つテーブルを作ってですね

SELECT * FROM TABLE1 WHERE USER_ID = 'T&E SOFT';

まあ、IDはサンプルですが、このように'&'を含む文字列を条件に指定すると結果が一行も返ってきません。
IDに対してpg_escape_stringをかけても結果は同じでした。
CSEやpgAdminではこのクエリーは普通に期待する結果を返してくれるのですが…。

何か特殊なエスケープ処理を行わなくてはいけないんでしょうか?
PostgreSQLはversion7.4
PHPは4.3.3
Apacheha2.0.46
です。

756:nobodyさん
09/05/15 11:17:54 WsVpM47h
質問です。
データベースに先生用テーブルと生徒用のテーブルがあります。
カラム名をtloginIDとsloginIDとして、
新規登録でログインIDの重複をチェックしたいと思っています。
SQL文を教えてください。
テーブル名は、teacherとstudentです。


757:nobodyさん
09/05/15 11:23:15
確認するけど、ログインIDの重複をチェックしてどう処理するの?
許可するの?弾くの?

758:nobodyさん
09/05/15 11:30:37
select count(tloginID) from teacher
select count(sloginID) from student で2以上なら重複あり

759:758
09/05/15 11:33:25
間違った
select count(*) from teacher where tloginID='hoge'

だな

760:nobodyさん
09/09/24 09:08:59 DwG28PME
トランザクションして select for update ってやれば、
selectした行はロックがかかって他の人はその行は参照もロックされて待たせられるのでしょうか?


761:nobodyさん
10/01/21 14:04:11 2fYoTKfz
いつも勉強させてもらっています。質問です。

いくつかのプロセスが残ってしまう問題で行き詰まりました。このような

hogehoge 31926 25387 0 12:04 ? 00:00:00 postgres: nanashi nanashi2010 192.168.00.00(37729) idle

のが数プロセス溜まってしまいます。
select * from pg_stat_activityとしてみても、確かにidleなものが確認出来ます。

PHP 4.3.2 + PostgreSQL 8.1.9 です。
pconnect関数、pgpoolも使ってません。

もし同様の問題についてご存じの方がいらっしゃいましたら、
アドバイスいただけるとありがたいです。
よろしくお願いします。

762:nobodyさん
10/01/21 20:19:55
いや問題じゃないので

763:nobodyさん
10/01/21 20:37:51 2fYoTKfz
>>762
仕様だ、ということですか?

764:nobodyさん
10/01/21 21:46:20
当然接続は明示的にcloseしてるよな
Apacheがプロセス持ってるからとか言うオチだったらぶっ飛ばすからな

765:nobodyさん
10/01/22 17:15:36 6+I3LoB3
>>764
もちろんしています。
Apacheプロセスについては、残っている場合とそうでない場合があり混乱しています。
通常、Apacheのプロセスが落ちれば残るはずは無いと思うんですが。

766:nobodyさん
10/12/02 19:36:47 JyGm6z0o
■環境
centos5.3
postgresql 8.1

URLリンク(www.hizlab.net)
上記よりsqlファイルをダウンロードし
以下を実行したのですが、エラーがでるのですがわかる人いますか?
2002年位に作られたページみたいなのでpostgresのバージョン違いのためでしょうか?

[www@localhost ~]$ createlang plpgsql -d inet_db
[www@localhost ~]$ psql -f /home/www/meibo.sql -d inet_db
psql:/home/www/meibo.sql:16: ERROR: function m_update_editdata() does not exist
CREATE FUNCTION
psql:/home/www/meibo.sql:29: ERROR: table "inet_job" does not exist
psql:/home/www/meibo.sql:37: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "inet_job_pkey" for table "inet_job"
CREATE TABLE
psql:/home/www/meibo.sql:41: WARNING: changing return type of function m_update_editdata from "opaque" to "trigger"
CREATE TRIGGER
psql:/home/www/meibo.sql:45: ERROR: sequence "seq_inet_profile_code" does not exist
CREATE SEQUENCE
psql:/home/www/meibo.sql:52: ERROR: table "inet_profile" does not exist

767:nobodyさん
10/12/03 09:15:27
存在しないってエラーが出て、その後作成しましたって出てるから作成されてるんじゃないの?
作成に失敗したってエラーが出てれば作成途中で終わってるだろうけど

768:nobodyさん
10/12/03 23:43:10
>>767
レスありがとうございます。
ソース(URLリンク(www.hizlab.net))
をよく見たところ以下のようにDROP ナニナニ している部分を
コメントアウトしたところエラーがでなくなりましたが
新たに作ったデータベースに
DROP ナニナニ する作者の意図はなんなのでしょうかね?

-- 修正日/修正者を更新するトリガプロシージャを作成
DROP FUNCTION m_update_editdata();
CREATE FUNCTION m_update_editdata() RETURNS OPAQUE AS '
省略
-- テーブルの作成
DROP TABLE inet_profile;
CREATE TABLE inet_profile (
省略
-- 職種マスタの作成
DROP TABLE inet_job;
CREATE TABLE inet_job (
省略
-- INET_PROFILE 用のシーケンスを作成
DROP SEQUENCE seq_inet_profile_code;
CREATE SEQUENCE seq_inet_profile_code
省略

769:767
10/12/04 00:37:08
それは初期化スクリプトの定番でしょ

コマンドラインから流し込んでDB初期化するときに、もし前のデータが残っていればそこで初期化が頓挫してしまう
先にDROPした上でCREATEすれば何度流し込んでも同じように初期化できる

770:nobodyさん
10/12/05 10:56:11
>>769
なるほど失礼しました。私が無知でした。
ありがとうございました。

771:電脳プリオン
12/01/02 22:52:37.95 BE:456084959-2BP(1960)

  ( ・∀・)      | | ガガッ
 と    )      | |
   Y /ノ      .人
    / ) .人   <  >_∧∩
  _/し' <  >_∧∩`Д´)/
 (_フ彡 V`Д´)/   / ←>>479
            / ←>>384

772:nobodyさん
13/08/17 NY:AN:NY.AN
.          \\      ,土ヽ l 十  ├  ゝ‐、ヽ ll               尸  //
            \\  (ノ ) | Cト、.Cト、   ノ l_ノ よ  ̄ ̄ ̄ (⌒/   //
                   .....       .:_ -― ─- 、:.    ......
                  ..::⌒>.、:: ...::/::.::/::.:: ヽ::.::.\::....::x<⌒::.
              ::x-=≦.::.-=`ミO.:/:/:/|:./.:ハ::ヽ::`O::-=ミて`く⌒ヽ::
            ::, イ::ノ⌒'Z _⌒ Y彡::./V  j/ヽ::ハ.::.V::Y⌒/;^)- 入 \:
           ::/ :/八  '(:::::':,\ トV::./⌒     ⌒ヽ.::∨/,.::'::/  /:::∧  '\::
           ::/ `V::/ヽ\ \ :':, 八Ⅳ __    __ jハ:::l, :':::::, ′ /:::/   ̄ ノ\::
        ::〈   ,.:'::/   ヽ \ \:l:ハ| 〃⌒    ⌒ヾ ハ:|::::/  ,.イ:::/     ∠.::勹::
       ::/ ! :.'::::∧   |  ヽ  \ム .:::::  r ┐ ::::.,'ノ/  / /::/   |__:/::
     ::∠._jハ_ん:ヘ/}ノ /ヘ  ヽゝ_  ヽ ノ   イ/  /⌒ん'⌒)_>::
                     ̄   ̄`ヽ   `=≧r ‐i彡''´  /::     ̄
                      ::\ヽ   ` ´   / /::
                       ::          ,′
                       ::i  :;     :;  i::
                       ::|          |::
                       ::l         |::
                         ::j            ::
                        ::,′           l::
                         ::/           |::
                     ::/              !::
                       ::/    〉┴r      ::
                       ::,′    /:: ::|     |::

773:nobodyさん
13/09/03 08:13:13.43
ぬるぽ

774:nobodyさん
13/12/30 19:24:59.46
まあまあこんな感じだよ

775:nobodyさん
14/01/02 21:57:26.13
今年のラッキーカラーは?

776:nobodyさん
14/01/03 18:08:08.71
来てるかも

777:nobodyさん
14/01/27 20:19:46.52
周辺は厳戒態勢

778:nobodyさん
14/01/27 22:05:39.86
世界一

779:nobodyさん
14/01/29 21:03:23.07
どうもどうも


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch