PostgreSQL

全1193件中1001~1020件表示
  • 検索のスクリプト教えてください。

    テーブルの中に保存されている用語を検索したいんですが、複数ヒットがある場合、どのようにPHPで記述していいかわかりません。 よろしくお願いします。

  • Common SQL Environment で接続できません。

    Common SQL Environment を使い、RedHat9にインストール時に自動的に入れたPostgreSQLに接続しようとすると、 connectDB() connect() feild:No error Is the postmaster running (with -i) at '192.168.10.5' and accepting connectons on TCP/IP port'5432'? と、エラーがでて、接続できません。 pg_hba.confには、 host all xxxxx 192.168.10.2 255.255.255.0 trust を追加。 postgresql.conf では、 tcpip_socket = true port = 5432 のコメントを外しています。 他に、何か必要なのでしょうか? あちこち情報を探しているのですが、なかなか見つからなくて。 よろしくお願いします。

  • PostgreSQLとMySQLの同時運用

    今現在、PHP・PerlなどによるCGIのテスト用のサーバを稼働させています。 そこではMySQLが稼働しているのですが、その同じサーバでPostgreSQLを同時に動かすことは可能でしょうか? 可能であれば、同じサーバで稼働させてテスト環境を動かしたいと考えています。 アドバイスお願いいたします。

  • PHPからのpostgresDBのテーブルに対し『\copy』の実行はできますか?

    $conn = pg_connect("host=xxxxxx user=postgres port=5432 dbname=xxxx"); $result = pg_Exec ($conn, $SQLSTR) ; HTML上から上記のようにphpの関数 pg_Exec を使用して、 copy文を実行したいのですが、うまくできません。 phpからcopy文を実行することはできないのでしょうか? コピー文:"\copy tablename with oid to /tmp/output" ちなみに、$SQLSTRにselectやupdateなどのSQL文をいれると うまくいきます。 使用している環境は、OSがlinuxで、APACHE+php3+postgres6.?? です。

  • 複合キーの利用方法

    はじめまして。 Perl+RDBMSを利用してWEBシステムの構築を考えております。 テーブルの組み方についてご意見伺えればと思います。 【質問】 1) 私は作成するテーブルに対して、既に存在している複合の項目で一意性が保たれていたとしても、必ず連番(serial id)の項目を追加しそれを主キーとしております。 このやり方は何か問題ありますでしょうか? 2) 質問1)に関連しているのですが、以下の例を元に、テーブル構成を2パターン記載致しますので、どちらの構成のほうがベター(或いはスタンダード)かをご助言頂ければと思います。 <例> --------------------- 親子関係のテーブル Table A └ Table B └ Table C --------------------- <考えられる上記例のテーブル構成> --------------------- 【P1-人工キーを用いた構成】 Table A:{A_ID} Table B:{B_ID},A_ID Table C:{C_ID},B_ID 【P2-複合キーを用いた構成】 Table A:{A_ID} Table B:{B_ID,A_ID} Table C:{C_ID,B_ID,A_ID} --------------------- 私が用いているのはP1の構成です。P1の構成を用いた場合の認知している問題点は、Table Cから一気にTable Aを参照できないことにあると思っております。 対してP2の場合、P1の問題は解決しますがテーブルのレイヤーが下がれば下がるほど、追加しないとならない項目が増えてしまって、管理の面やデータ量、またPG作成でも面倒が発生してしまうと思っています。 どちらのパターンが正規化などの観点から見ても良いものなのでしょうか? 長文申し訳ございません。 よろしくお願い致します。

  • insertとupdateを一行で。

    postgreSQL8.0を使っています。 こういうことは可能でしょうか? 通常の流れでいえばselectで検索し、すでに項目があればupdateで、 なければinsertという3行になってしまうものを可能であれば一行で書きたいのです。 もし可能であればどのような書式になるのでしょうか? よろしくお願いします。

  • 値の大きさによって異なる形式でSELECTしたい

    DBに、あるファイルの容量(byte)を入れています。 容量が大きく、KBやMB、GBで表現できる場合はそのようにして表現したいと考えています。 これを、ビューで定義する方法はあるでしょうか? 現在、以下のようにビューを定義しているのですが、これだとKBまでしか表現できず、MBやGBまでは表現できないので。。。 SELECT id,(size / 1024) || 'KB' FROM table 以上、よろしくお願いいたします。

  • 検索できる文字とできない文字

    PostgreSQLでデータベースを構築している初心者です. 現在ブラウザから文字を入力し検索をかけることで, 検索結果を表示するプログラムを作っているのですが, その際に検索できる文字とできない文字があり困惑しています. 例えば,「医学」と入力するとデータベースからデータがブラウザに表示 されるのですが,「秋山浩二」と入力するとデータはあるのに 表示されないという状況に陥っています.他にも検索できる文字 とできない文字があり,なぜこうなってしまうのか分かりません. このようなことは何かの設定ミスにより起こりうることなのでしょうか. 何かお気づきの方がいらっしゃいましたら,ご教授をお願いします. 【環境】 Windows XP PostgreSQL8.0.4

  • 簡単なクエリーの高速化

    postgresql 7.2.1を利用しています。 下記のようなSQL文でクエリーすると、結果が帰るまでに約40秒ほどかかります。 条件1を外すと1秒です。なにか条件絞り込みを入れ子の構造にして、最後に条件1で絞り込むようにすれば、高速化が図れると思うのですが、どのようにすればいいのでしょうか? select tbl_1.ptnum, tbl_2.name, tbl_5.seidoname from tbl_1, tbl_2, tbl_3, tbl_4, tbl_5 where tbl_3.ymd>=20000101 and tbl_3.ymd<=20061231 --期間 and tbl_4.endymd>=20050704 --有効期間内 and tbl_2.nusi like '%匿名%' --条件1 and tbl_1.id=tbl_3.id and tbl_1.id=tbl_2.id and tbl_1.id=tbl_4.id and tbl_4.bannum=tbl_5.bannum --結合 order by tbl_1.ptnum なおfrom行でinner joinで結合したら少し早くなりました。

  • 起動時に

    TUrboLinuxWS7に turbopkgを用いてアップデートしたところ postgresqlを起動しようとすると /etc/init.d/postgres startで起動しようとしたところ Checking postgresql installation: An old version of the database format was found. You need to upgrade the data format before using PostgreSQL. See (Your System's documentation directory)/postgresql-7.3/README.rpm-dist for more information. とでて起動できなくなってしまいました。 postgreSQLのバージョンは 7.1.3-8です。

  • PHPでInsertを実行したら空白のレコードが追加される

    PostgreSQL 8.0.1 PHP 4 Apache 1.3 で環境を構築しています。 PHPで、 $sql=sprintf("insert into records values('20','test2','cal')"); と入力し実行すると、きれいにDBに登録できるのですが、 $sql=sprintf("insert into records values('%s','%s','%s')",$no,$name,$address); と入力したら、DBには空白で登録されてしまいます。 何がおかしいのか検討が付かなくて困っております 宜しくお願い致します。

  • PHPからposgresをオープンする文法

    いろいろなページで調べましたが、 下の文法でPHPからpostgresを開こうとするとエラーになります。 文法 $con = pg_connect ("host=localhost port=5432 dbname=dic user=xxx password=xxx"); エラー Fatal error: Call to undefined function pg_connect() in C:\Program Files\Apache Group\Apache2\pic\php2.php on line 9 line 9 はconnectの行と一致しますので、何かこの行に問題があるのだとは思います。 バージョンは、 postgresは、Windows版で8.0 、 PHPは5.04で、Windows版。 正しいコマンドが他にありますでしょうか? または、他に問題点は考えられないでしょうか?

  • PostgreSQLのインストール  Fedora Core3

    Fedora Core3をフルインストールしましたが、PostfreSQLは標準で入っているのでしょうか? Fedora用?のPostgreSQLのダウンロード先自体がわかりませんが、どのような方法がよいのでしょうか? まだFedoraの特徴がわからず、 試行錯誤しています。 1) yum update PostgreSQLとしても、インストールされていないようです。 2) apt-getの方がよいのでしょうか? apt-get自体をインストールしないと使えませんが 3)PostgreSQLをダウンロードして、PRMでインストールする。 4)PostgreSQLをダウンロードして、ソースでインストールする。 お奨めはどれでしょうか?

  • win版postgreSQL8のpsqlをネットワーク越しに。

    win版postgreSQL8のpsqlをネットワーク越しのPCで使いたいと思っています。 今マシンAにpostgreSQLがインストールされているとします。 そのマシンの中にあるpsqlをそのままマシンBにコピーして、マシンB上から起動すればそのまま使えるのでしょうか? 何かpgAdmin3などであらかじめ設定がいるのですか?

  • ファイルに記述されている複数のSQL文を一度に実行させたい

    こんにちわ。 ファイルに記述されているSQL文を、Linuxのコマンドラインなどから 実行したいと考えています。 ファイルに insert into DB_NAME(aaa,bbb,ccc) values(111,222,333); insert into DB_NAME(ddd,eee,fff) values(333,777,222); insert into DB_NAME(aaa,ttt,ddd) values(111,000,999); ... などのSQL文が複数行(例えば1000個ほど)記述しているのを用意して なんかしらの方法で一度に実行させたいのです。 mySQLでは、このようなやり方があるのですが postgreではどのようにすればいいのか、わかりません。 どなたかご存知の方、よろしくお願い致します。 OSはLinuxです。

  • 3つのテーブルを使ったselecct文でのorder by とgroup by の使い方について

    下記のようなSQL文を作成しましたが、 baseテーブルにあるu_dateというものでソートしたいと思っています。 u_dateは日付が入っていますが、order by だけ追加してもエラーになってしまい、group by を追加 すると、idとp_numが同じものであるのに、日付が違うものがあるので、group分けされてしまい、何個も表示されてしまいます。(idとp_numで一つのものと考えているので、一つのidに対して複数のものが選択されていることもあります) 何かよい解決策はないでしょうか? select b.id,b.name,b.p,b.a,b.i_date,w.p_name,p.p_num from base as b,win as w,pre as p where 1=1 and w.id = b.id and b.kind=1 and b.deleteflag=0 and w.win_flag=0 and p.p_num = w.p_num group by w.id,b.id,b.name,b.p,b.a,b.i_date,w.p_name,p.p_num order by w.id desc,p.p_num

  • 外部キーの使い方

    例えば下記のような2つのテーブルがあり、注文票にはメニューのID(外部キー)だけを入れて、料理名や価格は別で持つとします。 ----------------------------------------- ■注文票table ID(int),メニューID(int) ----------------------------------------- ■メニューtable ID(int),料理名(text) ----------------------------------------- ・この2つのテーブルから以下のような出力を得たい時 且つ ・一度のselect文で出力を得る場合、 select文はどのように書けば良いでしょうか? もちろん「select * from 注文票table」だと「料理名」ではなくて「料理ID」が出てきてしまうのですが。。。 ---------------------------------------- ■テーブルID,料理名 ----------------------------------------

  • 接続中のユーザを表示する方法

    こんにちは。Postgresで接続中ユーザの表示をするには(コマンド)どうすればよいか教えてください。

  • 除外するデータが大量にある場合にNOT IN を使用した場合

    例えば除外するデータ量が1000件以上ある場合、NOT INで検索すると、応答時間は遅くなるし、SQL文も長くなると思います。パフォーマンス的にはよくないのでしょうか? 他に除外したいデータ量が大量にある場合に何かよい方法はありませんか? データは数値ですが、LIKEなどを使用するのは難しいです。 なぜなら、除外するデータは1もあれば、99999999などという数値もあるからバラバラです。

  • データベース名の取得

    定義したすべてのデータベース名およびカラムを取得するようなSQLはどのようなものでしょうか? 環境はWAMP+Postgres8.0です