PostgreSQL

全1193件中1041~1060件表示
  • 大量のデータからの検索

    データ量が膨大にある場合。 例:20万件以上のレコード 検索するフィールドにインデックスをきかせても Web側で表示するときに時間がかかりすぎてタイムアウトになってしまいます。。 何かいい方法はありませんか?

  • quoteした文字列を使ったSQL文がエラーになってしまいます

    Perl+DBI+PostgreSQLでCGIを作っているのですが、Shift-JIS固有の字を扱いたいので、  SET CLIENT_ENCODING TO 'SJIS'; としたのですが、特定の文字列でSQL文がエラーになります。 例えば「ソ」を  $str = $dbh->quote( 'ソ' ); とすると、$strは「'ソ\'」になるのですが、これをSQL文中で使用すると、  DBD::Pg::st execute failed: ERROR: unterminated quoted string at or near "'ソ\' )" at character 124 となってしまいます。 どうやら「2バイト目が5Ch(半角の\)の全角文字」+「\」+「'」と言う組み合わせの時だけエラーになるようです。 ちなみにWindows上のMySQLでは「'ソ\'」で問題ありませんでした。 これはどのように対処すればよろしいのでしょうか? OSはRed Hat Enterprise Linux ES release 3 (Taroon Update 4) カーネル 2.4.21-4.EL DBはPostgreSQL 7.4.7です。 よろしくお願いします。

    • 締切済み
    • noname#199420
    • PostgreSQL
    • 回答数3
  • WIN版のpostgressqlについて

    ご質問させて頂きます。 WIN版(xp)のpostgressqlを インストールしました。 スタートメニューからpostgressql- template1には接続することが出来ます。 ただ、これですと 「template1」だけしか接続することが出来ません。 新規にデータベースを作成したいのですが どの様にすれば良いですか?

    • ベストアンサー
    • wee
    • PostgreSQL
    • 回答数2
  • SELECT文で足し算をした場合、NULL値なら0で、結果を取得する方法

    SELECT文で足し算をした場合、NULL値なら0で、 結果を取得する方法を教えて下さい。 select test1 + test2 from testdb; とした文を以下のようにしてみたのですが、 NULL値が0で表示できませんでした。 select COALESCE(( test1 + test2 ),0) from testdb; このような足し算で、初期値設定していなくて、 ここでのみ、表示させる方法を教えて下さい。

  • SQLのこと:distinctして並び替えたい

    select * from (select distinct on (aaa) * from bbb) as ccc order by ddd テーブルbbbのaaaというフィールドが重複せず、しかも他のフィールドで並び替えをしたかったら、このような書き方以外ありますか?データベースはPostgreSQLです。 この書き方で不都合が出ているというわけではありませんが、どう書けば、パフォーマンス的にも良いSQLになるか、詳しい方がいらっしゃいましたら、お願いします。

  • SQL文の記述について

    以下の項目を抽出するSQL文を色々考えているの ですが、どうしても思い浮かびません。ぜひとも ご教示いただきたく存じます。使用データベースは PostgreSQL7.2です。 テーブル構成は以下のとおりです。 事業コード 部署コード 情報コード 01     02     01 01     02     02 01     02     03 02     05     01 02     05     02 02     05     05 02     07     02 02     07     03 02     07     06 以上のようなテーブルから、「情報コード02と03の 両方をもつ事業コードと部署コードの組み合わせ」を 求めるSQLを記述したいのです。この結果は 事業コード 部署コード 01     02 02     07 となります。 以上のような説明でご理解いただけますでしょうか。 足りない情報などがありましたらご指摘ください ませ。 宜しくお願いいたします。

    • ベストアンサー
    • noname#61135
    • PostgreSQL
    • 回答数2
  • 停止したpostgresqlサーバのデータを取出せたい

     linuxマシーンでposgresqlサーバを運用しています。 事情により、OSが起動できなくなりました。  ほかのマシーンでHDDの中のpostgresqlサーバの データ:/var/lib/psql/dataを見えて編集などができ ます。  データベースのデータを取り出したいですが、アドバ イスをよろしくお願いします。

  • 手続き言語のPl/pgSQLをcreate languageで登録しようとすると。。

    Vine Linux をベースにPostgresSQL-8.0.1で手続き言語のPl/pgSQLをcreate languageで登録しようとすると、function plpgsql () dose not existとなります。 下記のサイトを見てもいまいちわかりません。 http://shigehiro.hp.infoseek.co.jp/pgsql702-user/sql-createlanguage.htm それで、 create function plpgsql () returns plpgsql as 'usr/local/pgsql/lib/plpgsql.so' language 'c'; と打ち込むと Notice: type "plpgsql" is not yet defined Detail: creating a shell type definition. Error: could not access file "usr/local/pgsql/lib/plpgsql.so": そのようなファイルやディレクトリはありません とでます。linux のコマンドに戻って find file のコマンドを打つと、ファイルは存在します。 どうすればよいのか、御存じの方よろしければ教えていただきたいです。

  • CommonSQLEnvironmentに直接、値を入力

    PostgresSQLのデータベースに、CommonSQLEnvironmentを使って、コンソール画面のテーブル表示画面のセルに直接、値を入力したいのですが、ムリでしょうか、やはり、インサート文を使わないとダメでしょうかね。 ご教授お願いします。

  • データベースの値を増やす

     データベースの中の値を増や構文を書きたいのですが、本で調べた update discussion set dentry=dentry+1::numeric where did = 3 ではうまく動いてくれません。 なぜなのでしょうか。教えてください。

  • PostgresSQLを使って、出退勤管理(書き込み可)をどう作りますか??

    PostgresSQL を使って、出退勤表を作成することになりました。いろいろ方法があるとは思いますが、何分初心者なのでわかりません。どうやって作ればよいのでしょうか? だれかお分かりの方、御指南いただきたいです。

  • PostgresSQLに create languageでplpgsql を入れたいのですが。。。

    こんにちは。なぜか仕事でPostgresSQLを使うことになったものです。パソコンは全くの初心者ですのでくだらない質問をしてしまうかもしれませんがよろしかったらお教え下さい。 PostgresSQLにcreate language 文を打ち込んでplpgsqlを利用したいのですが、Error function plpgsql() dose not exist と出ます。 ちなみに plpgsql.so は /usr/local/pgsql/lib/plpgsql.so にありますが、これがこのcreate language 文を動かすのに必要なものなのかどうか、他に何別のものが必要なのかよくわかりません。 どなたかお分かりになる方お教えいただけませんか?! よろしくお願い致します!!

  • castの使用法について(初心者です)

    始めまして。初心者ですので基本的な質問になるかもしれませんがよろしくお願いします! なぜかPostgreSQLを仕事に使うことになり、四苦八苦しています。 テーブルを作成しているときに、 create table syouhin (shinamono text, nedan int); とするとします。 で、insert でデータを入れていきますが、 例: shinamono | nedan ------------------ みかん |100 マンゴー |200 例えば、nedan のcast が今、int にしましたが、これをchar やfloatに変えたいときはどうすればよろしいのでしょうか? どなたか御存じの方、お手数ですがお教え下さい!!!

  • データベースのメンテナンスについて、PostgreSQLとMySQLについて

    MySQLのように show tables;などデータベースの情報をSQLコマンド等で見れるような仕組みは PostgreSQLにあるのでしょうか?

  • PostgreSQLのnumericでの書き込みで教えて下さい。

    numeric(4,1)としていた場合、 そこに書き込む際、perlで作成していて、変数が $date=41.4532でそのまま、 update test set date = $dateで、 書込みをすると、勝手にpostgreSQLで41.5となり 四捨五入になるのでしょうか? $ritu=41.4432だと、41.4で書込みされるのでしょうか? 教えて下さい。

  • PostgreSQL-initdb

    某書籍「WindowsユーザーのためのPostgre…」の手順の通りに実施してるのですが、 PostgreSQLのインストール・環境変数の設定後、データベースの初期化コマンド(initdb)を実行すると、"command not found"となってしまいます。 /usr/local/pgsql/bin内に、initdbファイル(拡張子なし)は存在しています。initdb.exeは存在してません。 手順等で欠落している(しそうな)こと、対応方法を教えてください。

  • select文の結果を指定した条件によって変えたいです。

    テーブル T_itemにはitem(TEXT),lot(TEXT),category(int)があり categoryには仕入れ時に可能なロット指定を数値で格納しています。 1は大(ミニマム1000以上のもの) 2は小(ミニマム1000より少ないのもの) 必ずitem, lotをキーにcategoryが1,2,1と2かという結果が欲しいです。 現在は select distinct item || lot as itemlot, category from T_item とすると panasonic-***0001A, 1 panasonic-***0001A, 2 panasonic-***0001B, 1 panasonic-***0001C, 2 panasonic-***0001D, 2 sony-***0001A, 1 sanyo-***0001A, 2 victor-***0001A, 1 victor-***0001A, 2 これを panasonic-***0001A, 3 panasonic-***0001B, 1 panasonic-***0001C, 2 panasonic-***0001D, 2 sony-***0001A, 1 sanyo-***0001A, 2 victor-***0001A, 3 のように結果を返したいです。 select文だけでcategoryが1,2両方持っているものを3として表示することはできますか? または2回のselect文で1回目は1,2どちらかを持っている ものだけ、2回目は1,2両方持っているものだけという具合に結果を返すことはできるのでしょうか?

  • null→数値にするには?

    何度も質問してすみません。 NULLが格納されているフィールドに 「0」や「1」といった値を入れる為には どういうINSERT INTO文をPHP内で記述すれば宜しいでしょうか? pg_field_is_nullを使ってみたのですが イマイチ値を変更する事ができません。 また、SQL文で「NOT NULL制約」という言葉があるのを知ったのですが、 ALTER TABLE文でテーブルを作る時に、 各フィールドにはnullではなく、「0」を最初から格納したい場合は どういった記述をすれば宜しいでしょうか? 宜しくお願い致します。

  • フィールドから値を読み出す

    凄い初歩的な質問だと思いますが、 テーブルから値を出力する時に 「100」などといった数値なら読み込み可能なんですが、 「aaa100」といった文字列の場合ですと、 Warning: pg_query() query failed: ERROR: column "aaa100" does not exist のようなエラーが出てしまいます。 何か特別な出力方法が必要なのでしょうか?

  • COPY時のtimestamp型について

    どなたかご存知の方、ご教示下さい! CSVファイルよりCOPYコマンドでテーブルにレコードをインポートしようとしているのですが、 その際、timestamp型についてNULLだった場合には\Nを記述する様にしました。 ところが下記の様なテーブルの場合に、COPYが上手くいきません。 <テーブル TEST> AAA varchar(10) BBB timestamp CCC varchar(10) DDD timestamp <CSVファイル TEST.csv> てすと,\N,てすと,\N <実行したコマンド> COPY TEST from 'TEST.csv' using delimiters ','; <psqlのエラーメッセージ> ERROR: copy: line 1, Bad timestamp external representation '\N カラムBBBは問題ないのですが、 カラムDDD(最後尾のカラム)がNULLの場合にエラーになってしまいます。 何か特別な記述が必要なのでしょうか??? 情報お持ちの方いらっしゃいましたらどうぞよろしくお願い致します。