PostgreSQL

全1193件中1081~1100件表示
  • CSE PostgreSQLのテーブルにプライマリキーを作成する方法

    現在、CSEを使いPostgreSQLのテーブルから 一つの行を消そうとしたところ、 『更新対象のテーブルにプライマリキーが存在しない為、更新処理を行う事ができません。 更新処理を行うには、更新対象のテーブルにプライマリキーが定義されいる必要があります。』 と言うようなエラーメッセージが出てきて困っています。 どこを調べてもCSEでのプライマリキーの作成方法は載っていないのですが、そもそも『CSEでのプライマリキーの作成』は不可能なのでしょうか? もし、CSEで、もしくは他の方法で既存のテーブルにプライマリキーの定義の仕方を知っている方いましたらご教授下さい。 それか、PostgreSQLのデータの一部を(テーブルの内容全てではなく一行だけ)削除する方法ありましたらそちらもご教授下さい。 よろしくお願いします。

  • 自作アプリが何をしているか知りたい。

    毎度お世話になります。 この度大変困窮しており お力を拝借したい考えです。 現状ODBCで接続している Win上の自作アプリから RedHatLinux9上のpostgreSQL7.1.2のDBで 一部のデータを管理しています。 思うに該当のアプリは 単にSQL文を発行しているだけだと 推測しております。 そこでアプリがDBに どんなSQL文を発行しているか 知りたいと考えております。 何らかの方法で発行されているSQL文を記録するか 垣間見る方法はありませんでしょうか。 もしくはデータが 変更されたり追加されたテーブルを 知る方法でもかまいません。 よろしくお願いいたします。 追記:自作アプリの製作者はもうおらず、 ソースやドキュメントもありません。

  • PostgresSQLの再インストール

    PostgresSQL7.4(RedHat9)のサービスが突然起動できなくなりました。どうも、ファイルが壊れているようです。 仮に、データベースファイルは壊れてないとして、このままPostgresSQL7.4を再インストールする事によって、元の状態に戻るでしょうか? 元の状態に戻す、注意点などをどなたかご教授ください。

  • データベースの結合について

    データベースAとBがあり。 データベースAには基本となるデータが入力されています。 id name flag a test 0 b aaaa 1 c ghic 0 データベースBにはデータベースBと同様のIDが入っています。 id pre a ddd このようなデータベースの場合、データベースBに入っているものを 1として表示したい場合はどのようなSQL文にしたらいいのでしょうか?? 出力したいDB例 id name flag b_flag a test 0 1 b aaaa 1 c ghic 0

  • PHPからPostgreSQLのダンプを実行したいのですが

    PHPからPostgreSQLのダンプを実行したいのですが、 php4.0.6から以下のsystemコマンドを実行してもダンプ採取できなく困っております。 system("pg_dump dbname > filename"); ネットで探してみて、参考になる物もありましたが成功しないので、改めてこちらで質問させてください。

  • PostgreSQLでAccess以上のことができますか

    PostgreSQLでAccess以上のことができますか DBシステムを作りたいと思っています。 フォームも欲しいです。

  • PostgresSQL-7.1.2におけるgrantコマンドに関して

    お世話になります。 ただいま古くなったサーバを再構築しております。 そこで初めてPostgresSQLを使ってみております。 Win上のVBアプリからODBCで HedHat9&PostgresSQL-7.1.2のDBに 書き込んだり覗いたりが目標です。 とりあえずDBを作ってデータを戻して ACCESSからODBCでDBを覗いております。 管理者ユーザ「postgres」からなら 問題なく読み書きできます。 DBαとDBβというDBが二つ有あり クライアント側の設定も変えたくないので 既存にあわせてそれぞれ用の一般ユーザ AとBを作りました。 grantコマンドを使えばそれぞれのユーザに対応するDBの 読み書き削除の権限をもらせることが出来るようですが テーブルがものすごい量なので 対応するDBのすべてのテーブルの 権限を与えたいと考えております。 テーブル名をアスタリスクで指定すると 一括ですべての権限を与えられるようですが アスタリスクを受け付けてくれないようです。 他の方法で権限を与えることは出来るでしょうか。 お分かりになられる方がおられましたら ご一報いただけると幸いです。

  • Webシステムで文字化けが発生し困っています。

    Webシステムで文字化けが発生し困っています。 WWW:IIS+ASP データベース:postgresql 7.4.3 データベース(別サーバ:Linux)には、utf-8でデータが格納されています。 それを、WWWサーバ(windows2000Server)上のASPから、odbc経由で参照しようとすると、文字化けが発生します。 下記の方法を試しましたが駄目でした。 1)basp21のkconvを利用 2)metaタグに、utf-8と記載。  (ファイル自体のエンコードもutfにした) 1)2)のやり方が悪いのか?他に問題が有るのか?お分かりになる方、どうぞ、よろしくお願い致します。

  • 3ヶ月以内としたい場合

    ある取得した年月日足す3ヶ月以内のもの取得したいのですが、現在考えているのが ある取得した年月日:20040901 とあった場合、年月日を各々取得して 月(09)に+3した値を取得します。 +3した値は12よりも大きくないので、 20041201としてSQLにいれようとしています。 SQL側で+3として簡単に月を足すことができるものはないでしょうか??

  • SQL

    ある番号が 1~2000まで割り振られているとして、 この2001~2099まではselect 文で表示させないようにするにはどのようにしららいいのでしょうか?? 私が思いつくのは、配列にしたデータをinで閉じるしか思いつきませんでした。

  • PostgresSQLとphpの関係

    宜しくお願いします。 MySQLとPHPでデータベースサーバを構築しています。 PHPとMySQLはPHP側にMySQL関数が用意されているので非常に簡単に構築できます。しかし、PostgresSQLの場合はどうなんでしょう?専用の関数とかあるんですか?使い勝手はMySQLと同じ様に扱えるのでしょうか??

  • 型について

    こんにちは。 今、test_tableがあり、testフィールドがあります。 testフィールドはbigintです。 今、何を実行したいかというと、 testフィールドに格納されている、 12345 23456 34567 45678 56789 のレコードの一番最後の桁(1の位)を削除して更新したいんです。 1234 2345 3456 4567 5678 update test_table set test = substring(test, 1, length(test) - 1); 上記を実行すると --------------------------------------------------- column "test" is of type bigint but expression is of type text You will need to rewrite or cast the expression --------------------------------------------------- とメッセージがでます。これは恐らく substringが返す型がtextなのにsetしようとしている フィールドがbigintの為、型が違うよって言っているんですよね。 ※本当は扱う値はbigintだけにもっと大きいのですが、 わかりやすいように小さくしてあります。 上記のような動きを実現するにはどのように記述すればよろしいでしょうか?

    • ベストアンサー
    • 653
    • PostgreSQL
    • 回答数2
  • ソート済データの格納位置を物理的に連続させる方法

    汎用機の世界ですと、データを昇順に並べる為に、’座布団引き’を行いソート済データの格納位置を物理的に連続させることが可能です。 RDBの世界でもこの様な事が可能なのでしょうか? オンライン処理で、ソート処理をなくす為に、ソート済データの格納位置を物理的に連続させ、オンラインでは、そのまま取り出したいと考えています。 postgreで、実現できるか、また、その実現方法を御存知の方がいましたら、お教えください。

  • SQLでのsplitなどは?

    SQLでsubstrなどは使えますが、 splitなどは使えるのでしょうか? 現在 m_784378_0410 m_klds_0411 m_klsdas_0411 m_klsdas_0412 表示したいデータ 0410 0411 0412 というデータを 後ろの日付のみでグループ化したいのですが、 文字のサイズが固定ではないため、一度splitなどで配列に格納したいのですが、やり方がわかりません。 何かよい方法があれば教えてください。

  • グループでわけたい場合。

    データベースに 20041101_01 20041101_02 20041101_03   ・   ・   ・ 20041130_01 20041130_02 20041130_03 という形になってるものを 20041101   ・   ・   ・ 20041130 上記のように日付別に表示したい場合。 どのようなSQLをくんだらいいかわかりません。 ご教授お願いいたします。

  • 4つのテーブルから、該当する項目を一度に検索したい。重複除く

    4つのテーブルから、それぞれ違う条件で検索し、該当する項目名NO を探したいのですが、どのようなselect文を書くと効率よく検索できる のでしょうか?また、重複NOは除きたいのです。 良かったら教えて下さい。 例えば、テーブル名:test1,test2,test3,test4とあった場合、 一度に該当するNOを拾い出す方法があれば、教えて下さい。 1.select no from test1 where code = '' and day < 20041118; 2.select no from test2 where day < 20041118; 3.2.select no from test3 where data != '' and day < 20041118; 4.select no from test4 where day > 20041018 and day < 20041118;

  • レスポンスについて

    稼動中システムのあるデータを削除するのに 1分程度の時間がかかっていたのですが、 データベースをダンプして、新しくデータベースを 作り直し、同様のデータを削除したところ、かかった時間は1~2秒でした。 ちなみにVACUUM、VACUUM ANALYZEは定期的に行っています。 どうしてこのようなことが起きるのでしょうか? よろしくお願いします。

  • 2つの列からの最大値取得

    もしかしたらすごく簡単なことかもしれませんが、 教えて下さい。 以下のテーブルから、date1もしくはdate2が最新の日付のデータを取得するSQL文の書き方がわかりません。 (以下の例では、bbbが取得したい) name date1 date2 ---- -------- ---------- aaa 20041110 (NULL) ---- -------- ---------- bbb (NULL) 20041111 ---- -------- ---------- ccc 20041109 (NULL) ---- -------- ---------- ddd (NULL) 20041109 ---- -------- ---------- # 図がずれてわかりづらいかと思いますが... date1,date2でそれぞれmaxでname取得後に比較するしかないのでしょうか? 環境は、Redhat9+Postgresql-7.3です。

    • ベストアンサー
    • noname#201283
    • PostgreSQL
    • 回答数3
  • カラムについて

    早速ですがお願いします。CREATE TABLE をするさいに、'-'や'+'を使いたいのですが syntax error at or near "+" at character 141 というエラーメッセージがでてしまい'-'や'+'を使うことができません。使い方がわかる方教えていただけませんか? 失敗した例を下に載せておきます。 CREATE TABLE cd-rw (メーカー名 TEXT, 商品名 TEXT, cd-r書込倍速数 TEXT, cd-rw書込倍速数 TEXT); ERROR: syntax error at or near "+" at character 141 こんな感じです。どうかお願いします。

  • JDBCで配列を使ったSQL文(INSERT)

    早速ですがお願いします。例えば下のプログラムでのSQL文なのですが、配列str1[0]の中身”みかん”をINSERTしたいのですが、やりかたがわかりません。プログラミングの素人なので簡単な質問で申し訳ないですけど、どなたか教えてくれないでしょうか? ちなみにこのプログラムでstr1[0]のところを直接みかんと入れたらデータベースに追加することはできました。 import java.sql.*; class jdbc{ public static void main(String args[]){ String[] str1 = new String[1]; str1[0] = "みかん"; try{ Class.forName("org.postgresql.Driver"); String url = "jdbc:postgresql:test"; String user = ""; String password = ""; System.out.println("URL :" + url); System.out.println("USER :" + user); System.out.println("PASSWORD :" + password); Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); int insertCount = stmt.executeUpdate("INSERT INTO shinamono (hinmei,nedan) VALUES ('+str1[0]+', 1500)"); if (insertCount >0){ System.out.println("追加しました"); }else{ System.out.println("追加できませんでした"); } conn.commit(); stmt.close(); conn.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception e){ e.printStackTrace(); } } } なおエラーメッセージは次の通りです。 java.sql.SQLException: ERROR: column "みかん" does not exist at org.postgresql.Connection.ExecSQL(Connection.java:533) at org.postgresql.jdbc2.Statement.execute(Statement.java:294) at org.postgresql.jdbc2.Statement.executeUpdate(Statement.java:78) at jdbc.main(jdbc.java:21)