回答数
気になる
-
plpgsqlのエスケープ文字について
plpgsqlのエスケープ文字について教えてください tblのテーブルのnameフィールドの値をtitleフィールドに更新する関数を作成してます。 cur cursor for SELECT id, name FROM tbl; rec RECO RD; begin open cur; LOOP FETCH cur INTO rec; EXIT WHEM NOT FOUND; w_sql := ''UPDAT tbl SET title = ''; w_sql := w_sql ll '' ''''タイトル: '' ll rec.name ll '' '''' ''; w_sql := w_sql ll '' WHERE id= '' ll rec.id= '' ll rec.id ; EXECUTE w_sql; END LOOP; ・ ・ ・ ・ ・ 上記のようにnameフィールドの値をset句に設定していますが、 nameフィールドには 「90's」 や「men's」 のような値が入ったレコードがあるためエラーとなってしまいます。 name内の「'」をエスケープする為にはどのように書けばよいでしょうか 教えてください
質問日時: 2011/09/14 20:22 質問者: Meforj
ベストアンサー
1
0
-
保存のする方法
PHPとPostgreSQLでサイト作ってます。HTMLのフォームタグを利用し、ユーザーが選択した画像(ユーザーのPC内のもの)をPostgreSQLで保存するにはどうしたらいいですか 教えてください
質問日時: 2011/09/14 16:01 質問者: Meforj
ベストアンサー
1
0
-
PostgreSQL リストアエラー
CentOS5.5×2 PostgreSQL8.4.4×2 リストア時にinvalid command \Nというエラーが出ます insertコマンドであれば普通に通るのですが、 出力ファイルが10G近くありダンプ+アップロード+リストアで一日半近く掛ってしまいます エディタで内容を確認しようにもファイルが大きすぎるため開けません どのようにすればリストアできますでしょうか
質問日時: 2011/09/12 23:05 質問者: standingover
ベストアンサー
1
0
-
pgPool-IIの監視について
pgPool-IIで2つのデータベースの同期を取る環境を構築しようとしています。 片方のデータベースがダウンした際に、メール等で通知する方法は何かないでしょうか? 宜しくお願いします。
質問日時: 2011/09/12 19:05 質問者: ask991
解決済
1
0
-
tutorial/funcs.sqlの中のSQL文
の中に CREATE TABLE EMP ( name text, salary integer, age integer, cubicle point ); INSERT INTO EMP VALUES ('Sam', 1200, 16, '(1,1)'); INSERT INTO EMP VALUES ('Claire', 5000, 32, '(1,2)'); INSERT INTO EMP VALUES ('Andy', -1000, 2, '(1,3)'); INSERT INTO EMP VALUES ('Bill', 4200, 36, '(2,1)'); INSERT INTO EMP VALUES ('Ginger', 4800, 30, '(2,4)'); -- the argument of a function can also be a tuple. For instance, -- double_salary takes a tuple of the EMP table CREATE FUNCTION double_salary(EMP) RETURNS integer AS 'SELECT $1.salary * 2 AS salary' LANGUAGE SQL; SELECT name, double_salary(EMP) AS dream FROM EMP WHERE EMP.cubicle ~= '(2,1)'::point; というコードが有るのですが 最後のWHERE EMP.cubicle ~= '(2,1)'::pointの ~= はどういうもので どんなときにつかうのでしょうか? また単なる = ではエラーになるようなのですが=との使い分けはどのようにすれば良いのでしょうか? よろしくお願いします
質問日時: 2011/09/09 20:49 質問者: reiman
ベストアンサー
1
0
-
PostgreSQL8.4 配列型 集計
次のような構造テーブルがあったとします。 create table sample_tbl ( no numeric(7) primary key, val numeric[] not null ) ※val列は 配列型。 テーブルの中身は次のような状態 no val ------- ---------------- 1 {1,2,5} 2 {1,3,4,5} 3 {2} 4 {1,5} 5 {1,2,3,4,5} 6 {1,5} 最終的に "val列" の中身の数値ごとの件数を知りたいです。 <欲しい結果> 1 → 5件 2 → 3件 3 → 2件 4 → 2件 5 → 5件 SQLのみを用いたできるだけ単純(一時テーブルなどを使わずに) 且つ高速な方法を探しております。 何か良い方法はありますでしょうか・・? よろしくお願いいたします。
質問日時: 2011/09/08 21:46 質問者: eicat
ベストアンサー
1
0
-
roleとuserの違いがわからないのですが
roleを使わないでuserばかり使っても 動いているようなのですが そもそもroleは何でしょうか? roleはなんのためにあるのでしょうか? userとroleの使い分けはどのようにするのでしょうか? 以上どれでもいいのですが教えてください よろしくお願いします
質問日時: 2011/09/08 11:38 質問者: reiman
ベストアンサー
1
0
-
PostgreSQLをC言語でアクセスしようと
PostgreSQL 8.4.8 文書にのっているサンプルプログラムの 例 30-1. libpq サンプルプログラム 1 #include <stdio.h> #include <stdlib.h> #include "libpq-fe.h" ・・・・・・・・・・・・・ をコピペしてコンパイルしたところ次のようなエラーがでました # gcc sample.c /tmp/cctZBolQ.o: In function `exit_nicely': sample.c:(.text+0xd): undefined reference to `PQfinish' /tmp/cctZBolQ.o: In function `main': sample.c:(.text+0x4a): undefined reference to `PQconnectdb' sample.c:(.text+0x5a): undefined reference to `PQstatus' sample.c:(.text+0x6a): undefined reference to `PQerrorMessage' sample.c:(.text+0xa5): undefined reference to `PQexec' sample.c:(.text+0xb5): undefined reference to `PQresultStatus' sample.c:(.text+0xc6): undefined reference to `PQerrorMessage' sample.c:(.text+0xed): undefined reference to `PQclear' sample.c:(.text+0x105): undefined reference to `PQclear' sample.c:(.text+0x119): undefined reference to `PQexec' sample.c:(.text+0x129): undefined reference to `PQresultStatus' sample.c:(.text+0x13a): undefined reference to `PQerrorMessage' sample.c:(.text+0x161): undefined reference to `PQclear' sample.c:(.text+0x179): undefined reference to `PQclear' sample.c:(.text+0x18d): undefined reference to `PQexec' sample.c:(.text+0x19d): undefined reference to `PQresultStatus' sample.c:(.text+0x1ae): undefined reference to `PQerrorMessage' sample.c:(.text+0x1d5): undefined reference to `PQclear' sample.c:(.text+0x1ed): undefined reference to `PQnfields' sample.c:(.text+0x20f): undefined reference to `PQfname' sample.c:(.text+0x26b): undefined reference to `PQgetvalue' sample.c:(.text+0x2a8): undefined reference to `PQntuples' sample.c:(.text+0x2ba): undefined reference to `PQclear' sample.c:(.text+0x2ce): undefined reference to `PQexec' sample.c:(.text+0x2de): undefined reference to `PQclear' sample.c:(.text+0x2f2): undefined reference to `PQexec' sample.c:(.text+0x302): undefined reference to `PQclear' sample.c:(.text+0x30e): undefined reference to `PQfinish' collect2: ld はステータス 1 で終了しました # # find /usr/include/ -name libpq*.h /usr/include/pgsql/internal/libpq-int.h /usr/include/pgsql/server/libpq/libpq-be.h /usr/include/pgsql/server/libpq/libpq.h /usr/include/pgsql/server/libpq/libpq-fs.h /usr/include/libpq/libpq-fs.h /usr/include/libpq-events.h /usr/include/libpq-fe.h # gcc -I/usr/include sample.c でもおなじです どうすればコンパイル出きるようになるでしょうか? よろしくお願いします
質問日時: 2011/09/08 08:58 質問者: reiman
ベストアンサー
1
0
-
重複チェックの記述でご教授くださいませ。
日頃はデザイン関連の作業担当なのですが、、、、 データの重複チェック方法で 会員番号と店舗番号を入力するのですが 登録画面には //会員番号重複チェック if(Duplication_Check2("store_table","'".$kaiin_no."'",$tenpo_no)){ $err .= "会員NO「".$kaiin_no."」で店舗NO「".$tenpo_no."」は既に登録されています。<br />"; } としてまして、重複のエラー表示をさせています。 重複チェックの関数定義では //重複チェック2 function Duplication_Check2($kaiin_no,$tenpo_no){ global $db; $sql = "select * from store_table where kaiin_no='".$kaiin_no."' and tenpo_no=".$tenpo_no; $rst = pg_query($db,$sql); if($rst){ if(pg_num_rows($rst) = 0){ return true; }else{ return false; } }else{ return false; } } としたのですが ここに文法エラーが出ます。 初心者の質問で恐縮なのですがどこをどうすればいいのでしょうか? ご教授いただければ幸いです。
質問日時: 2011/08/29 14:08 質問者: ya-ya-
ベストアンサー
4
0
-
チェックボックスからデータベースへ複数書き込み
こんにちは。 現在アンケートサイトを作成しているのですが、チェックボックスを利用した質問の複数選択した回答をデータベースに登録できません。 htmlやphp、PostgreSQLに詳しい方指摘お願いします。 ※sample.html <form method="post" action="sample.php"> <b>7.あなたはどのような資格を持っていますか?</b><br> <input type="checkbox" name="sikaku[]" value="1" checked>ITパスポート <input type="checkbox" name="sikaku[]" value="2">漢字検定3級以上 <input type="checkbox" name="sikaku[]" value="3">英語検定3級以上 <input type="checkbox" name="sikaku[]" value="4">自動車運転免許 <input type="checkbox" name="sikaku[]" value="5">簿記 <input type="checkbox" name="sikaku[]" value="6">宅建 <input type="checkbox" name="sikaku[]" value="7">TOEIC600点以上 <input type="checkbox" name="sikaku[]" value="8">その他<br><br> <input type="submit" name="OK" value="OK"> </form> ※sample.php <?php //htmlから"sikaku"を取得 $sikaku = $_REQUEST["sikaku"]; //dbに接続・dbに書き込みSQL文 $dbconn = pg_connect ("dbname=****** user=********"); $result = pg_query ($dbconn, urldecode("insert into sample03 values('$sikaku');")); //接続を閉じる pg_close($dbconn); ?> ※PostgreSQL(table : sample03) //テーブル作成 ********=> create table sample03( ********(> 資格 int); CREATE TABLE //権限 ********=> grant select on sample03 to ********; GRANT //テーブルの表示 ********=> select * from sample03; 資格 ------ (0 rows)
質問日時: 2011/08/25 11:53 質問者: ad125g
ベストアンサー
1
0
-
POSTGRESQLデフォルトのシーケンス値を強制
以下の(2)(3)のaをデフォルトであるシーケンスの値を強制入力しエラーを回避する方法はありますか? create sequence testseq start 1; create table test(a int not null default nextval('testseq'), b int); --(1)成功 insert into test (b) values(0); --(2)エラー insert into test (a,b) values(null,0); --(3)エラー insert into test values(null,0);
質問日時: 2011/08/24 22:48 質問者: oijopsdjfgs7936
解決済
1
0
-
PSQLで-- More --を表示しない方法
POSTGRESのPSQLで大量レコードをSELECTすると結果の後半が-- More --と なり一部しか表示しかされません。 (1)ENTERを押すと1行すすみますが、画面表示分(20レコードぐらい)まとめて すすめる方法はありますか (2)MOREを表示せず一気に全行表示する方法はありますか
質問日時: 2011/08/23 02:01 質問者: oijopsdjfgs7936
解決済
1
0
-
POSTGRESでMYSQLと同じ結果を得る方法
create table test (a varchar(10), b varchar(10)); insert into test values ('a','a'); insert into test values ('b','b'); insert into test values ('b','c'); insert into test values ('c','d'); select count(*), a, b from test group by a; 上記を実行するとMYSQLでは +----------+------+------+ | count(*) | a | b | +----------+------+------+ | 1 | a | a | | 2 | b | b | | 1 | c | d | +----------+------+------+ という結果になる。 POSTGRESでは以下のエラーになります。 ERROR: column "test.b" must appear in the GROUP BY clause or be used in an aggr egate function select count(*), a, b from test group by a, b; とすると結果が変わってしまいます。 MYSQLと同じ結果をPOSTGRESで得るいい方法はありますか?
質問日時: 2011/08/22 22:08 質問者: asdgfu2756
解決済
1
0
-
SQLの条件抽出について
ちょっと躓いてしまったのでアドバイスが頂けたらと思います。 user_accountというテーブルと、logというテーブルがあります。 logというテーブルには各ユーザーの書き込み履歴が残されており、日付がtimestamp形式で格納されています。 ユーザー一覧に最終発言内容をくっ付けて表示したいのですがうまくいきません。 SELECT DISTINCT * FROM user_accounts LEFT JOIN (SELECT * FROM log ORDER BY update_date DESC ) aaa ON user_accounts.pkey = aaa.user_accounts_pkey; などと記述してみましたが、思うような結果になりません。 自分の理想とする結果は以下のような出力結果です。 +----+----+----+--+-----------------+----------------+-----------+ | pkey| user| pass| comment| update_date| +----+----+----+--+-----------------+----------------+-----------+ | 1 | test1| pass01|test03 written by test1| 40813| | 2 | test2| pass02|testestest | 40690| どうか、お知恵を貸してください。
質問日時: 2011/08/22 19:47 質問者: t_netbug
ベストアンサー
3
0
-
ODBCの設定について
現在アンケートサイトを作成しているのですが、チェックボックス型のアンケートサイトから数値データをデータベースに登録し、そのデータをエクセルにインポートしてグラフを利用してデータの統計・分析を行いたいと思っています。 そこで、ODBCを使ってデータをインポートしようと思っているのですが、データベースが大学のサーバーであるため、どのように設定したらよいのかわかりません。 外部サーバーにあるデータベースにODBCを使用することは可能なんでしょうか?
質問日時: 2011/08/15 13:44 質問者: ad125g
ベストアンサー
1
0
-
フルバキュームって・・・
フルバキュームは、何度かに分けることが出来るのでしょうか? テスト用にデータベースを作っているのですが、テストのしすぎで重くなってしまいました。 ググるとフルバキュームをかけると良いとのことで、かけてみたところ、丸1日たっても終りません。 で、ふと疑問に思ったのですが、 フルバキュームをする→途中で止めた場合、途中で止めるまでの部分は有る程度有効なのでしょうか? windowsのデフラグの場合、途中で止めても途中まではデフラグされているので、再開した場合、最初からやった時より少しは早く出来たと記憶しています。 バキュームの場合も同じようなイメージなのでしょうか? 初歩的な質問で恐縮ですが、お詳しいかた、教えていただけると助かります。
質問日時: 2011/08/13 19:20 質問者: piko_san
ベストアンサー
1
0
-
ODBCを使わないでExcelへ連携
PostgreSQLをエクセルに連携し、データベースのデータをエクセルにインポートして、分析を行いたいと思っているのですが、ODBCを使わずにエクセルと連携でないでしょうか? なぜならば、現在使用しているデータベースは大学のサーバーにあるので、ODBCをインストールできないからです。 以前、TeraTermからSSHを利用して、データをインポート・エクスポートすることができたのですが、これを利用してエクセルと連携できないでしょうか?
質問日時: 2011/08/12 23:29 質問者: ad125g
ベストアンサー
1
0
-
PostgreSQLのデータをExcelへ
こんばんは、いつもお世話になっています。 現在アンケートサイトを作成しており、phpのページからチェックボックスでチェックしたデータを数値データとしてPostgreSQLに登録しております。 そこで、エクセルを使用して、PosegreSQLに登録された数値データから円グラフや棒グラフを使って、データの分析・統計をとりたいと思っています。 PostgreSQLとExcelを連動させることは可能なのでしょうか?
質問日時: 2011/08/11 23:05 質問者: ad125g
ベストアンサー
1
0
-
アンケート内容のデータ
現在アンケートサイトを作成しているのですが、アンケートのデータを利用して円グラフや棒グラフを使って統計などを調べたいと思っています。 そこで、php作成されたアンケートのページからラジオボタンやチェックボックスでチェックされたデータをデータベース(PostgreSQL)に登録する際、valueの値を文字情報でデータベースに登録するほうが良いのか、数字情報で登録したほうが良いか教えてください。 ※数字 <input type="radio" name="sample" value="1">長野県 <input type="radio" name="sample" value="2">東京都 <input type="radio" name="sample" value="3">神奈川県 ※文字 <input type="radio" name="sample" value="長野県">長野県 <input type="radio" name="sample" value="東京都">東京都 <input type="radio" name="sample" value="神奈川県">神奈川県
質問日時: 2011/08/09 08:59 質問者: ad125g
ベストアンサー
1
0
-
PostgreSQL のレプリケーションについて
PostgreSQL でレプリケーションを構築予定(非同期)ですが、 PostgreSQL 9.0 の組み込みレプリケーションか、pgpool-II のレプリケーションかで迷っています。 それぞれを比較した際の長所と短所は何になるのでしょうか? また、PostgreSQL 9.0 は安定していてエンタープライズ用途でも問題ないのでしょうか? 本番サーバ1台、待機サーバ1台の2台体制です。 よろしくお願い致します。
質問日時: 2011/08/07 19:21 質問者: fukawaryo
ベストアンサー
1
0
-
PostgresqlのCASE分の使い方
SELECT MAX(CASE WHEN fld IS NULL THEN 0 ELSE fld END) FROM tbl ; tblテーブルのfldの最大値を取得するSQLを作りたいのですが、tblテーブルにレコードが登録されていない時に「0」を出力したいと思っています。 上記のSQLだとレコードが0の場合はfldの値がないため、0を出力してくれません。 どのように修正すればレコード0件のときに「0」を出力してくれるでしょうか。 宜しくお願いします。
質問日時: 2011/08/05 14:26 質問者: yuppinko
ベストアンサー
1
0
-
postgreSQLのエラーについて
ERROR: direct correlated subquery unsupported as initplan 上記エラーはどういう意味ですか?
質問日時: 2011/08/02 11:06 質問者: 00698hpv
ベストアンサー
1
0
-
postgresql 8.3のドキュメント
postgresql 8.3のドキュメントを探していますが、どうしても9のところに行ってしまいます。 ダウンロードできるURLがあれば教えて下さい。
質問日時: 2011/07/30 12:05 質問者: ngwave
ベストアンサー
2
0
-
PostgreSQLのエクスポートについて
現在、自宅から大学へ接続し、TeraTermからPostgreSQL8.1.23を利用しています。 なので、自宅のプログラムファイルの中にはpgsqlというファイルがありません。 そこで、作成したテーブルを自宅のPCでエクスポートしたいのですができません。 <インポートを実行した場合> a=>\copy example from import.txt; \. と表示され、なぜか違うテーブルのデータが増える。 <エクスポート> a=>\copy example to export.txt; a=> なにも表示されず、デスクトップに用意したexport.txtには、データが書き込まれません。 この場合、import.txt・export.txtのファイルがデスクトップにあるからいけないのでしょうか?
質問日時: 2011/07/29 21:59 質問者: ad125g
ベストアンサー
1
0
-
RHEL6.0上で使用可能なポスグレのバージョン
Red Hat Enterprise Linux 6.0 上で postgresql を使用したいと考えていますが、 「postgresqlの各バージョンにおける対応OSのバージョン」の情報が見当たりません。 NPO法人 日本PostgreSQLユーザ会のサイトも見ましたが、それに関する記載は みつかりませんでした。 Red Hat Enterprise Linux 6.0 上で使用可能な postgresql のバージョンを 知りたいのですが、その情報が記載されているサイト等をご存じでしょうか?
質問日時: 2011/07/28 20:01 質問者: fukawaryo
ベストアンサー
2
0
-
PostgreSQLのanalyzeとは
PostgreSQLのanalyzeについてですが。 [TABLE]の統計情報を再取得する為に analyze TABLE; と実行した場合。 該当のテーブルへの影響というのは全く無いものなのでしょうか。 (同じタイミングでアクセスしたselectが遅延してしまう等)
質問日時: 2011/07/28 16:22 質問者: minarai563
ベストアンサー
1
0
-
PostgreSQL サーバーへの接続設定
表題の件につきまして、質問致します。 現在、AmazonEC2にてウェブアプリケーションの開発をしています。 ウェブサーバーからローカル接続にて、DBサーバーを建てましたがウェブサーバーからの 接続ができません。 postgresql.conf 及びpg_hba.confの設定を行ったのですが・・・・ 他の確認箇所として、Firewallや、AmazonEC2独特の固定IPがローカルIPと兼用されてるようなところでも確認が必要かと思いますが、その確認方法が知識不足の為、ありません。 情報をお持ちでしたら、何卒ご教授の程、宜しくお願い致します。
質問日時: 2011/07/24 02:03 質問者: take_box
解決済
1
0
-
カンマ区切りデータのWHERE条件
たとえば以下のようなteamtblテーブルで チームに所属する人物をカンマ区切りでnameに登録してある場合 id | team | name ------------------------------------ 1 | teamA | yamada,kobayasi,hayasi 2 | teamB | kobayasi,takizawa,komori 3 | teamC | takizawa,moriyama 4 | teamD | mori,yamada,kobayasi 「mori」さんが所属するチームのSELECTはどのようにしたらよいでしょうか? SELECT * FROM teamtbl WHERE name LIKE '%mori%' とした場合、「komori」「moriyama」がいるteamB、CまでSELECTされてしまいます。
質問日時: 2011/07/20 16:11 質問者: unicorn0555
ベストアンサー
2
0
-
phpPgAdminでログインできません
下記のURLを参考して設定ファイル(config.inc.php)を下記のように変更してrootやpostgresでログインしましたがログインできませんでした。 http://honana.com/postgresql/admin/phppgadmin.html $conf['extra_login_security'] = true; ↓ $conf['extra_login_security'] = false; 他に設定しないといけないのでしょうか。 PHPのバージョンは5.3.6です。 PostgreSQLのバージョンは8.4.7です。 phpPgAdminのバージョンは5.0.2です。 申し訳ありませんがアドバイスいただけませんでしょうか。 宜しくお願いします。
質問日時: 2011/07/18 16:11 質問者: Nanchatte_PG
解決済
3
0
-
配列に指定した値が含まれているものを抽出する方法
こんにちは。 いつもお世話になっております。 SQLにて、配列のフィールドに指定した値が含まれているものを抽出する方法を質問致します。 SQLのテーブル(テーブル名:data)に配列のフィールド(フィールド名:array[])があるとします。 Array[]フィールドの中に、1, 2, 6のいずれかが含まれている場合表示対象となるSQL文を書くには、どのように書けばよいですか。PostgreでSQL文を書くとします。 実現したい動作は以下の通りです。 array[] の値 {1,3,5} 表示対象になる {3,8,9,10} 表示対象にならない {2,6} 表示対象になる 以上よろしくお願い致します。 ちなみに、array[]フィールドの中に、2(指定した数値が1つだけ)を探すとき、 select * from data where 2=any (array); とすればいいことは確認できました。
質問日時: 2011/07/15 12:02 質問者: moto_k22
ベストアンサー
1
0
-
PostgresのPITR
ちょっとタイトルとはズレているかもしれませんが、 Postgresのデータを冗長化する上での質問です。 サーバが2台あり、1台を本番機とし、もう1台を待機用とします。 本番機にarchive_commandで待機用のサーバのディレクトリを設定します。 【質問1】 ログファイルが貯まっていくと思いますが、 こちらはログが16MBになるまで掃き出されないのでしょうか? その場合、本番機が消滅した場合、16MB分のログがなくなる可能性があるという事でしょうか? 【質問2】 前提:本番機のログファイルを自作シェルで待機用のサーバへコピーします。この間隔を1分にします。 上記の場合、最悪1分以内のデータまで冗長化されると思います。 1分以内にログが16MB以上貯まるようなシステムでなければ、archive_commandによる冗長化は 必要ないのではないでしょうか? 必要性があれば、教えてください。 Postgresのバージョンは8.3.x でお願いいたします。
質問日時: 2011/07/11 19:58 質問者: tama2002
ベストアンサー
2
0
-
мySQLからРostgresへの移行方法
SтRUтSでмySQLを使っているのですがоracleに買収された関係でРostgresに 移行することになりました。мySQLには1つのユーザで接続しTableのみObjectを 作成。特別なことといえば、日本語を使用することと、Transactionを使っているという ことです。DBのサイズは10MB以下です。 一般的にProgramの修正は不要で簡単に移行できますでしょうか? 以前Аccessからоracleに移行したときは ・Data型の互換性が無い ・VBAでOracleのNullとАccessのNullの扱いが異なる(Programの修正が必要) という理由で結構大変でした。
質問日時: 2011/07/09 00:39 質問者: xxxxxdfadf6832
解決済
1
0
-
XML型に対する問い合わせ
以下のような(1)と(2)のxml型を値を持つレコードがある場合にbの中でcとdが両方1の場合だけ検索((1)のレコードだけが欲しい)するようにはどのように問い合わせればば良いでしょうか? (1) <a> <b><c>1</c><d>1</d></b> </a> (2) <a> <b><c>1</c><d>0</d></b> <b><c>0</c><d>1</d></b> </a> 自分で考えた問い合わせだと(1)と(2)の両方のレコードが返ってきてしまいます。 select * from test where '1'=ANY(xpath('/a/b/c/text()',xml)::text[]) AND '1'=ANY(xpath('/a/b/d/text()',xml)::text[])
質問日時: 2011/07/06 15:40 質問者: taka2063
ベストアンサー
1
0
-
同じ表を複数回結合する場合
例えば、名前、出身県、現住所 のような表があります。 出身県と現住所は県名マスターを参照したいのですが、 select (名前、 県名マスター.県名 as 出身県、 県名マスター.県名 as 現住所 from 人名表 p left join 県名マスター k on p.出身県 = k.コード) left join 県名マスター on p.現住所 = k.コード; としたのですが、出身県も現住所も同じになってしまいます。 どのような結合が良いのでしょうか?
質問日時: 2011/06/30 00:32 質問者: Beguate
ベストアンサー
1
0
-
postgresql.confが編集できない
質問させてください。 PostgreSQL + pgAdminをインストールしました。 postgresql.confを編集しようとしましたが、「他のプロセスが使用中」というエラーが出て編集できません。 PostgreSQLのサービスは停止させています。 環境はWindows7です。 どなたか対策をご存じないでしょうか。 よろしくお願いします。
質問日時: 2011/06/24 14:41 質問者: ryu-e
ベストアンサー
1
0
-
データベースに接続できない
postgresql-7.2.3.tar.gzインストール時には、下記内容でデータベースに接続できていました。 <?php $con = pg_connect("dbname='database_6' user='postgres' password='xxx'") if(!$con){ print "DB connection failed!!\n"; }else{ print "DB connection successful!!\n"; } ?> ところが、postgresql-8.0.26.tar.gzをインストールしたら、上記内容でデータベースに接続できなくなり、 Fatal error: Call to undefined function: pg_connect() in /usr/local/apache/htdocs/sql.php on line 2 というエラーメッセージが表示されます。 phpinfo();で確認もしましたが、ない感じです。Additiional Modulesのどこかを見れば、いいのでしょうか? pgsql.soは/usr/local/lib/php/extentions/pgsql.soにあります。/usr/local/lib/php.iniのextention_dir = ./を以下のように修正し、 extention_dir = /usr/local/lib/php/extentions extention=pgsql.so /usr/local/apache/bin/apachectl restart も実行しています。
質問日時: 2011/06/23 20:17 質問者: Feruza
解決済
3
0
-
initdbの文字コードと違う文字コードでDB作成
postgres9.0.4でEUCでinitした環境があります。 initdb --encoding=EUC_JP そこにUTF8のDBを作成したいのですが、以下のようなエラーがでます。 psql -U postgres postgres=# CREATE DATABASE dbname postgres-# WITH ENCODING='UTF8' postgres-# OWNER=dbowner postgres-# CONNECTION LIMIT=-1; ERROR: encoding UTF8 does not match locale ja_JP.eucJP DETAIL: The chosen LC_CTYPE setting requires encoding EUC_JP. 既に運用が始まっているEUCのDBが稼動している状態です。 EUCで初期化したところに後からUTF8のDBを作成する方法はないのでしょうか?
質問日時: 2011/06/21 15:45 質問者: miyamura200000
ベストアンサー
2
0
-
csvデータをインポートできない
書籍にLinux(RedHat8.0)、PostgreSQLのユーザ名とデータベース名とを同一にするように記載されていました。このため、"database_6"というもの作成しました。ところが、テーブル作成、テーブル確認には、データベース接続後、所定のコマンドを実行することで問題はありませんでしたが、インポート時には、 ERROR: could not open file "/home/database_6/database_euc_4.csv" for reading: 許可がありませえん とエラーメッセージが表示されます。そこで、アクセス権限を調べると、 -r-xr-xr-x 1 database_6 database_6 113166 6月 5 19:37 database_euc_4.csv これは、Linuxの"database_6"であって、PostgreSQLの"database_6"ではないと考えられます。どのようにすれば、アクセス権限を変更できるでしょうか?ここでは、同一名称にしたことが、仇になっているようです。こうならないようにするために、同一名称にするのかと思っていましたが…。 ちなみに、database_6のOwnerは"postgres"になっています。"postgres"にアクセス権限を与えるのも1つの方法かと思いますが、インポートを実行しようとすると、 -bash: COPY: command not found とエラーメッセージが表示され、パスが通っていないようです。これは、~/.bash_profileが上手く読み込まれていないということでしょうか?
質問日時: 2011/06/13 20:29 質問者: Feruza
ベストアンサー
2
0
-
ファイルを用いて一括でテーブルを作成できない
csvデータをインポートするためにデータベース"database_6"を作成し、"create.sql"というファイルをユーザ"database_6"のホームディレクトリ"database_6"に配置した後、"database_6"でログインして、下記コマンドを実行し、テーブル"music"を作成しようとしたところ、 $ psql -e -f create.sql bash: psql: command not found というエラーメッセージが表示されます。なお、PostgreSQLは自動起動設定されています。"database_6"のOwnerは"postgres"で、下記の書籍に記載された方法(別の方法は何も記載されていない)でデータベース"database_6"を作成しました。 $ createdb database_6 で作成しまいた。そこで、同じく下記の書籍に記載された方法(別の方法は何も記載されていない)でユーザ"database_6"を作成しました。 $ createuser -d -A database_6 なお、ユーザ"postgres"を用いた場合には、 FATAL: database "postgres" does not exist というエラーメッセージが表示されます。
質問日時: 2011/06/13 18:01 質問者: Feruza
ベストアンサー
1
0
-
phpPgAdminの使い方について
どなたか教えてください。 phpPgAdminで特権ユーザ(root)で権限を制限したユーザを作成しました。 以下権限内容です。 (スーパーユーザー権限 :No データベースを作成権限:No ロールを作成権限:No 特権を引き継ぎ権限:No) 特権ユーザ(root)がデータベースを作成しテーブルを作成します。 所有者はさきほど作成したユーザを指定しました。 権限を制限したユーザでログインし作成したデータベースに接続。 データベースの項目で特権項目が見えてしまいます。 この特権項目を非表示かクリックすることができないようにするにはどのように すればいいでしょうか? 環境 CentOS 5.4 postgreSQL 8.1系 php 5.1.6 apache2.2.3 phpPgAdmin 5.0.2 お分かりの方がいらっしゃいましたら、 回答よろしくお願いします。
質問日時: 2011/06/13 15:48 質問者: mtbs2011
解決済
1
0
-
Encoding変更
RedHat8.0であるため、postgresql-7.2.3.tar.gzをインストール(初期化を含む)していましたが、検証をしているうちに、下記コマンドを実行できないこと COPY tablename FROM '/var/test/testdata.csv' WITH CSV; また、encodingにUTF8を指定できことが分かりました。そこで、postgresql-7.2.3.tar.gzをアンインストールし、postgresql-8.0.26.tar.gzをインストール(初期化を含む)しましたが、Encodingを確認したところ、EUC_JPのままになっていました。アンインストールが上手くできなかったためと考えられますが、どのようにすれば、UTF8に変更できるでしょうか?
質問日時: 2011/06/13 15:47 質問者: Feruza
解決済
1
0
-
csvデータをPostgreSQLにインポート
RedHat8.0にpostgresql-7.2.3.tar.gzをインストールしています。database_6に接続し、 database_6=# COPY tablename FROM '/var/test/testdata.csv' WITH CSV; を実行すると(tablenameとtestdataとは同一名にしてあります)、 ERROR: parser: parse error at or near "csv" と表示されてしまいます。どこが悪いのでしょうか?
質問日時: 2011/06/05 09:34 質問者: Feruza
ベストアンサー
2
0
-
PostgreSQLはインストールされている?
$ /usr/local/pgsql/bin/postmaster -D PGDATA を実行すると、 database system is ready と表示されますが、 # rpm -qa|grep postgres を実行すると、何も表示されません。PostgreSQL7.2.3はインストールされているといえるのでしょうか?
質問日時: 2011/06/03 22:44 質問者: Feruza
ベストアンサー
1
0
-
initdbのオプション
PostgreSQL7.2.3インストール後、 $ /usr/local/pgsql/bin/initdb を実行したところ、 You must identify where the data for this database system will reside. Do this with either a -D invocation option or a PGDATA environment variable. と表示されます。これは、.bashrcで追加した下記内容が読み込まれていないからでしょうか? 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 上記オプションはどちらを選べばよいでしょうか?また、PGDATAの場合、"-"なしでそのままPGDATAでしょうか?
質問日時: 2011/06/03 22:10 質問者: Feruza
ベストアンサー
1
0
-
PostgreSQLを初期化できない
RedHat8.0にPostgreSQL7.2.3をインストールしましたが、下記コマンドで初期化できません。 $ initdb -bash: initdb: command not found なお、PostgreSQL7.2.1をインストールしていましたが、その際は初期化できていました。ただし、テキストエディタでpostgresql.conf、pg_hba.confを編集するため、開こうとしましたが、開けませんでした(ファイルが表示されない)。ファイルを検索すると、/usr/local/pgsql/data/にあることになっていましたが…。アクセス権限の問題と考え、postgresでログインしようとしましたが、パスワードの初期設定が分かりませんでした。今回、Windows上で作成したPHPプログラムの動作を検証するため、テスト環境を構築しようとしています。インストールしたApache1.3.27、PHP4.2.2に合わせて、バージョンを更新しました。アンインストールし、インストール前に $ make check で All 79 tests passed. であることも確認しています。
質問日時: 2011/06/03 10:40 質問者: Feruza
ベストアンサー
1
0
-
トリガープロシージャのNEW変数について
トリガを実行したときに、処理部分のfunctionで更新されたデータの値を取得したいと考えております。 NEW変数を使い、 NEW.[フィールド名]とすれば取得できるのは知っているのですが、 この[フィールド名]にfunction内で取得した項目名を指定するにはどうしたら良いのでしょうか? 仮に取得したいフィールド名が「sample_id」だった場合、 functionの中でNEW.sample_idとすれば取得できます。 が、今回考えていたのは以下のような処理の場合です。 記述イメージなので間違っているかもしれませんが、、、 begin for rec in SELECT att.attname FROM pg_attribute as att INNER JOIN pg_class as class ON class.oid = att.attrelid WHERE att.attnum > 0 AND class.relname='テーブル名' ORDER BY att.attnum loop insert into 'テーブル名2' values(NEW.rec.attname); loop end end; ループでテーブル内の項目を取得し、取得した項目の値をテーブル名に入れるという処理です。 rec.attnameには「sample_id」と入っていたので、NEW.rec.sample_idとしたのですが、 実行したときにエラーになり、どうしてもinsertできません。 どうにかして、sample_idの値をinsertしたいのですがわかりません。 ご教授お願い致します。
質問日時: 2011/05/27 23:37 質問者: 198307040628
ベストアンサー
2
0
-
Cコンパイル時にポスグレのライブラリが見つからない
LinuxでC言語にてコンパイルをする際に(makefileを使用)にポスグレのライブラリが見つからないという下記エラーが出力されます。 しかしポスグレのライブラリはmakefileにて指定した箇所(-Lオプションにて/opt/prov/pgsql/libを指定)に存在しています。 makefileに誤りがなく、シンボリックリンクも正確に貼られていると考えると他にどのような原因が考えられるのでしょうか?(環境変数の設定等でしょうか??) エラー ------------- /usr/bin/ld: skipping incompatible /opt/prov/pgsql/lib/libpq.so when searching for -lpq /usr/bin/ld: skipping incompatible /opt/prov/pgsql/lib/libpq.a when searching for -lpq /usr/bin/ld: cannot find -lpq ボスグレのライブラリは存在している ---------- -rw-r--r-- 1 postgres postgres 126994 X月 XX 16:XX /opt/prov/pgsql/lib/libpq.a lrwxrwxrwx 1 postgres postgres 12 X月 XX 16:XX /opt/prov/pgsql/lib/libpq.so -> libpq.so.2.2 lrwxrwxrwx 1 postgres postgres 12 X月 XX 16:XX /opt/prov/pgsql/lib/libpq.so.2 -> libpq.so.2.2 -rwxr-xr-x 1 postgres postgres 90659 X月 XX 16:XX /opt/prov/pgsql/lib/libpq.so.2.2
質問日時: 2011/05/25 15:34 質問者: masteryoda_0125
解決済
2
0
-
csvデータをPostgreSQLにコピー
# rpm -qa | grep postgresql を実行してみると、 postgresql-python-7.2.2-1 postgresql-odbc-7.2.2-1 postgresql-7.2.2-1 postgresql-perl-7.2.2-1 postgresql-server-7.2.2-1 postgresql-devel-7.2.2-1 postgresql-contrib-7.2.2-1 postgresql-libs-7.2.2-1 postgresql-jdbc-7.2.2-1 postgresql-tcl-7.2.2-1 が表示されたため、 # postgres start を実行すると、 "root" execution of the PostgreSQL server is not permitted. The server must be started under an unprivileged user id to prevent more information on how to properly start the server. と表示されます。そこで、本サイトのQ&Aを参考にして、 # /etc/init.d/postgresql start を実行したところ、起動しました。Windows版では、pgAdminIIIのクエリーツールで以下のようにすれば、csvデータ(UTF8)をPostgreSQLの所定のテーブルにインポートできます。 COPY tablename FROM E'C:\\test\\testdata.csv' WITH CSV; Linux版ではどのようにするのでしょうか?
質問日時: 2011/05/19 16:23 質問者: Feruza
ベストアンサー
1
0
-
PostgreSGLをインストールできない
YumでRed Hat 8.0(メモリ256MB、32ビット)にpgdg-redhat-8.0-5.noarch.rpmを下記手順に従ってインストールしようとしましたが、インストールできません。 1.共有メモリの設定確認(shmmaz:33554432、shmall:2097152) 2.Yumリポジトリの設定(http://yum.pgrpms.org/howtoyum.phpに記載された内容と実際の設定ファイルとに相異がありました) 3.installコマンドを指定して実行 3.でcommand not foundと表示されるため、# yum search postgresqlを実行しましたが、command not foundと表示されます。そこで、 # rpm -qa | grep postgresql を実行してみると、 postgresql-python-7.2.2-1 postgresql-odbc-7.2.2-1 postgresql-7.2.2-1 postgresql-perl-7.2.2-1 postgresql-server-7.2.2-1 postgresql-devel-7.2.2-1 postgresql-contrib-7.2.2-1 postgresql-libs-7.2.2-1 postgresql-jdbc-7.2.2-1 postgresql-tcl-7.2.2-1 が表示されます。このため、# yum -y install 'postgresql*'も試してみましたが、command not foundと表示されてしまいます。これは、64ビット版と32ビット版との違いによるものでしょうか?手元にある試料には、ソースコードからのインストール方法も64ビット版のものです。
質問日時: 2011/05/19 13:15 質問者: Feruza
ベストアンサー
1
0
-
Postgresqlで配列に日付を格納したい
首記の件可能でしょうか? 可能であればSQL文等ご教示いただければ幸いです。 下記のようなテーブルを作成したいと考えています。 *訪問日だけを配列にしたい。訪問日は入力されどんどん増えていく。訪問日は年月日まで表示したい。 主キー;顧客番号 訪問日 [ ] よろしくお願いいたします。
質問日時: 2011/05/04 16:34 質問者: kkkamxzjp
解決済
3
0
【データベース】に関するカテゴリ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
【PostgreSQL】に関するコラム/記事
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLにて指定日付より前、かつ最新の...
-
新規作成したPostgresqlデータベー...
-
php、postgresqlを使ってwebアプリ...
-
列が存在しないと言われる
-
shellからpostgresqlへの変数の引き...
-
Windowsのファイル管理について教え...
-
plgファイルの開き方
-
postgreSQLのint型は桁数指定ができ...
-
自治会総会の成立要件について
-
postgresql についてです
-
終端クォート ' が必要です と出て...
-
ポストグレにあるExcelファイルを開...
-
PostgreSqlでFunctionの作成について
-
PostgreteSql Ver12で開発したプロ...
-
Windows10でQuickTimeがインストー...
-
エクセルVBAでUWSCを使う
-
postgresqlのtableのカラムの型をbi...
-
三段論法を真理値表で証明する
-
sqlの中で、 例えば条件句で AND id...
-
tesuto 01
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
postgreSQLのint型は桁数指定ができ...
-
postgresql についてです
-
SQLにて指定日付より前、かつ最新の...
-
自治会総会の成立要件について
-
エクセルで縦のカラムデータをカン...
-
SQLでUPSERTを一度に複数行やる方法
-
PostgreSqlでFunctionの作成について
-
plgファイルの開き方
-
select文の書き方「半角カナ+英+...
-
PostgreSQLについて教えてください ...
-
新規作成したPostgresqlデータベー...
-
postgresqlでのトランザクションに...
-
Windows10でQuickTimeがインストー...
-
列が存在しないと言われる
-
select文の書き方で分からないとこ...
-
Windows10がインストールできません...
-
エクセルVBAでUWSCを使う
-
shellからpostgresqlへの変数の引き...
-
postgresqlのtableのカラムの型をbi...
-
三段論法を真理値表で証明する
おすすめ情報