PostgreSQL

全1193件中1061~1080件表示
  • 2つのテーブルかを結合し、全てが重複しているレコードを削除させたい

    PostgreSQLを使って、 2つのテーブルを作成しています。 A と B とします。 2つのテーブルはそれぞれ違う条件で、 作成されたものなのですが、項目は同じです。 (違う場合もあるかもしれませんが、今回はこれで) 2つのテーブルで全てが同じレコードがあれば、 削除し、1つのテーブルとして、作成させることは 可能なのでしょうか? 教えてください。できれば、例をあげて下さると 嬉しいです。 ご伝授お願いします。

  • INSERT,UPDATEしなかったレコードだけをDELETEしたい

    質問させてください、 CSV形式の10万行のデータをADO経由でINSERT,UPDATEしています そのときUPDATEもINSERTもされなかったレコードをDELETEしているんですが、 今はINSERT,UPDATE処理が終わったあと、全レコードのrecordsetを1レコードずつ csvファイルの1行と比較しています。 他に良い方法はないでしょうか? csvファイルには category, item, price postgresのテーブル名はt_zaikoとして id(INT[NOT_NULL, default_nextval, primary_key]), category(SMALL_INT), item(TEXT), price(SMALL_INT) とします。

  • PostgresSQLの同時接続数

    質問させていただきます。 Apache+PHP+PostgresSQLでサーバーを運用しています。アクセス数が多くなるとApacheが停止してしまいす。そのためボトルネックの調査をしているのですが、Apacheの同時リクエスト数(MaxClients)を150、 PostgreSQLの同時接続数(MAX_CONNECTIONS)を32に設定しています。 ApacheとPostgreSQLの同時接続数はどちらを多くしたほうがよいでしょうか?

  • 起動時エラー

    RedHat9にPosgreSQL 7.3をインストールしたんですが、DB起動時にエラーが出てます。 DB起動コマンドは、 pg_ctl start -D /usr/local/pgsql/data -l /home/postgres/logfile postmaster successfully started DB停止コマンドは、 pg_ctl stop -D /usr/local/pgsql/data メッセージは、 pg_ctl: cannotfind /usr/local/pgsql/data/postmaster.pid Is postmaster running? postmastar.pidファイルを探しましたが、確かにありません。 そして、logfileは以下です。 LOG: startup process (pid 14202) was terminated by signal 6 LOG: aborting startup due to startup process failure 一度は起動停止確認は出来たのですか、2回目からできなくなってしまい、大変困っています。 ポート番号はデフォルトの5432のままです。 どうしたらいいのかわかりません。 よろしくお願いいたします。

  • 2つのカラムでOrderByするには

    生徒テーブルがありまして、 投稿時間、クラス、出席番号 00664862 22 12 00665654 13 4 00671338 32 18 00672054 33 27 00694502 22 8 となっています。 クラスを優先ソートとして、クラスと出席番号で 00665654 13 4 00694502 22 8 00664862 22 12 00671338 32 18 00672054 33 27 のようにソートするSQL文を教えてください。 今のところOrderByで 00665654 13 4 00664862 22 12 00694502 22 8 00671338 32 18 00672054 33 27 のようなクラスだけのソートしかできていません。

  • 行のロックについて

    PHPとPostgreSQLで商品検索のWebシステムを構築しております。 ロックについて質問なのですが、管理者が商品情報を修正する場合次の手順となります。 1.商品一覧より修正したいデータ(行)を選択。するとフォームに現状の値が入力されたページに移行。 2.フォームから修正したい箇所のみ変更し登録実行。 この手順の間、例えばフォーム上でデータを修正している間に、他の管理者がデータを修正した場合や、 データを削除した場合、不整合やエラーが起こると考え「修正目的でデータを取得した場合は、修正が完了する までその行をロックし、参照以外できない。」というような事を考えたのですがPostgreSQLの機能で可能でしょうか? 「行ロック」が該当するのかと思いインターネットや書籍で調べてみたのですが、トランザクション毎に行なうもののようで長期的なロック目的のものではないと認識しております・・・。 よろしくお願いします。

  • ALTER TABLEで複数のカラムを消す

    ALTER TABLEでなくてもいいんですが ALTER TABLE KOJINTABLE DROP COLUMN(T_VAL, MEMO); これができませんでした。 T_VALとMEMOを同時に消す書式はありませんか?

  • count0の取り方

    2つのテーブルを結合しある項目の集計を取りたいと思ってるのですが数が0の場合の表示がされません 0を表示させる方法がわかるかたどうぞよろしくお願いします テーブル1 id | cd ---+-------- 1 | 1000 2 | 2000 3 | 3000 4 | 4000 テーブル2 id | cd ---+-------- 1 | 1000 2 | 2000 3 | 2000 4 | 4000 5 | 4000 出したい結果 cd | count -----+-------- 1000 | 1 2000 | 2 3000 | 0   ←現状では0がでません 4000 | 2 考えたSQL SELECT t1.cd,CASE THEN count(t2.cd) = NULL THEN 0 ELSE count(*) END FROM t1 LEFT OUNTER JOIN t2 ON t1.cd = t2.cd GROUP BY t1.cd ORDER BY t1.cd よろしくお願いします

  • DISTINCTとGROUP BYの違い

    DISTINCTとGROUP BYの違いが分かりやすいホームページを教えてください。 ターミナルの結果のサンプルが書かれているホームページが理解しやすいです。

  • インターネットアクセス

    データベースにアクセスする為に、 pg_hba.confを編集するのですが、 思ったように行かなくて困っています。 host all all 127.0.0.1 255.255.255.255 trust とデフォルトではなっていて、ローカルだけからアクセスできますよね。 ネット経由でアクセスする為に host all all 192.168.0.3 255.255.255.0 trust (ネットマスクはこれでいいのですよね?すいません本のとおりです・・・よくわかっていないです) これでネット経由でアクセスできたのですが、 ローカルからのアクセスが出来なくなってしまいました・・・ ローカル、ネット、両方からアクセスする為にはどうしたらよいのですか? また本に host all all 0.0.0.0 0.0.0.0 trust とやるとどこからでもつながってしまう、と書いてあったのですが、逆に全くつながらなくなりました・・・ それとふとした疑問なのですが、ここの設定でUSER(右から2番目)がallなのに、違うユーザー名でアクセスしようとするとエラーになります。どういうことなんでしょうか?

  • jdbcで取り出すと文字化けする

    JDBCでアクセスすると日本語が文字化けします。 たとえばこのページhttp://park3.wakwak.com/~minen/db_cobjava/sql_kiso/1_1.htm と同じようにやってみますと、 日本語のところが文字化けしてしまいます。 )!)!)!のようになります。 実はある書籍のやり方もほとんど同じで、 ちょっとちがうのが、 getStringの部分で、 String(rs.getString("emp_name").getByte("EUC_JP"),("iso-2022-jp")) のようにしていましたが・・・ これでも同じように文字化けします。 何かが間違っているのかと、いろいろさまよった挙句、こちらのページ http://www.hellohiro.com/jdbcpostgresql.htm ではcreatedbコマンドのときに createdb -E EUC_JP hellodb のようにやっており、この方法であれば文字化けせずに表示することが出来ました。 上の文字化けするときも、psqlでログインしてselect文を実行したときには文字化けしません。JDBCでアクセスして取り出したときに文字化けします。 ローカルでもネット経由でも同じです。 オプションを指定せずにデータベースを作ったときに”SQL_ASCII”というエンコーディングになり、それが原因かとも思ったのですが、 はじめに書いたページや書籍のやり方ではそれで平然と日本語表示されていますし、自分が何かが間違っているのかとも思います。 お気づきの点がありましたら、ご指摘お願いいたします。

  • SQL(Where句)

    商品を登録するテーブル(商品テーブル)があって 構造が 商品主コード varchar(5) 商品補助コード varchar(2) 商品名 varchar(10) です。 商品主コードと商品補助コードを一つにして「商品コード」として使用しています。(ex:12345-00) 検索の際、商品コードをインプットボックスに「12345-00」と入力してその商品名を取得したいのですが、上手くいきません。 どなたかお願いします! 現在のSQLは Select 商品名 From 商品テーブル Where 商品主コード || '-' || 商品補助コード Like '%入力された商品コード%' です。

  • PostgreSQLをインストールしたサーバーとは別のサーバー上で、phpPgAdminを動かせる?

    PostgreSQLがインストールされているDBサーバにはPHPがインストールされていません。 よって他のWebサーバへphpPgAdminをインストールして、 DBサーバへ接続し、データベースの編集を行おうと考えています。 このようなことはphpPgAdminで可能でしょうか? ご回答よろしくお願いします。

  • phpPgAdminのセキュリティについて教えてください。

    phpPgAdminをインストールして、 PostgreSQLの管理を使用と考えていますが、 セキュリティに問題はないか?と問われています。 Apacheの設定をすれば問題ないと聞いていますが、 具体的にはどのような記述をすればいいのでしょうか? どなたか教えてください。 明日中に回答しなくてはいけないのです。 よろしくお願いします。

  • データベースの再構築(pg_dump)時のエラーについて。

    データベースの移行をする時に、pg_dumpを使って移行を行いました。 吐き出したアーカイブ(プレインテキスト形式)を、新しい環境のデータベースにて、 psql -e -f アーカイブ・ファイル データベース名 として、再構築しようとしたら、 ERROR: literal carriage return found in data HINT: Use "\r" to represent carriage return. CONTEXT: COPY infotable, line 2: "acesjapan 01.販売業者名 ネット株式会社 " となり、データーの移行が出来ないテーブルが出てきました。 DBには、Web上よりテキストを改行OKの形で入力させたものを保存していました。 DB格納前に、Postgre では不都合なコードの入力を許してしまっているのでしょうか? なお、csv形式に落としてやると、データーの移行が出来ます。 おわかりになる方、是非お教えください。

  • ORACLE → PostgreSQLの移行について

    業務でORACLE9iからPostgreSQL7.3.6への移行作業を命じられています。 恐縮なのですが、私はPostgreSQLについての知識が少なく、 現在あわててドキュメントや書籍を読んで勉強しているヒヨっ子です。。。 早速ご相談なのですが、 ORACLE固有の設定、"システム権限"と"PROFILE"について どうやってPostgreSQLに反映させればよいものか、ハマっております。 PostgreSQLのオブジェクトへの権限設定はGRANT文で付与出来る様ですが、 GRANT文を使用して付与する権限以外に ユーザ毎に設定可能な権限 (何でもいいです) と方法ってあるのでしょうか?? 調べた限りでは 「GRANT文以外に設定可能なものは無さそう」 と思っているのですが、 捕捉出来ていない情報があるのでは、と心配しています。 また、ORACLEでいうところの"PROFILE"で 「このユーザのパスワード有効日数は○日です~」や 「ログインの再試行回数は○回まで」といった設定を行っているのですが、 PostgreSQLでそれに代わる設定手段はあるのでしょうか。 調べた限りでは「無さそう」と思っているのですが・・・・。 上記について情報や参考になるURL等お持ちの方いらっしゃいましたら お手数ですがご返答よろしくお願い致します。

  • 【SELECT文】

    baseテーブル winテーブル 041110_1   041110_1 041110_2   041110_2 041110_3   041110_3 041211_1 041211_2 041211_3 上記のようなテーブルがあり、表示させたいことは それぞれを前から7つめまでの文字をグループ化し、 winテーブルにあるものは表示させず、baseテーブルにあるもののみを表示させたいのですが、下記のSQLではうまくいきません。 どのようにしたら、うまくいくのか教えてください。 表示させたい形 041211 select substr(b.id,0,7) as id from base as b, win as w where 1=1 and substr(w.id,0,7) <> substr(b.id,0,7) group by substr(b.id,0,7) order by substr(b.id,0,7) desc;

  • windows にpostgreSQLをダウンロード インストールしたいのですが

    OSがwindows ですが、 数学学習支援システム(Web System)を作ろうと思っています。そのために postgreSQLをダウンロード インストールしたいのですが、上手くいきません。 どなた様か詳しく手順を教えていただけないでしょうか?

  • phpPgAdminの読みを教えてください。

    phpPgAdminの呼び方がわかりません。。。 初歩的な質問ですが、どうかよろしくおねがいします。

  • 件数をカウントして日付でソートするSQL

    こんなテーブルがあったとして、 テーブル名:shohin ------------------- type:文字列 create_date:日付 こんなデータになっていたとして type| create_date ----+----------- abc | 2004/02/01 abc | 2004/02/02 abc | 2004/02/03 hhh | 2004/01/30 xxx | 2004/01/12 xxx | 2004/01/13 xxx | 2004/01/14 xxx | 2004/01/15 xyz | 2004/01/01 xyz | 2004/01/05 このようなデータを出力したいのですが… (typeで集計して、create_dateの一番新しい日付でソート) type | count | create_date -----+-------+----------- abc | 3 | 2004/02/04 -----+-------+----------- hhh | 1 | 2004/01/30 -----+-------+----------- xxx | 4 | 2004/01/15 -----+-------+----------- xyz | 2 | 2004/01/05 これを一発で書くSQLって可能でしょうか? 副問い合わせを使えば出来るような気がするのですが、Group By した結果からさらに最新の日付を取得してソートというのがどうも上手く書けませんでした。 お分りになる方がいらっしゃいましたら、ぜひともご教示願います。