【Windows】 PostgreSQL8 Part.1 【対応】
レス数が1000を超えています。これ以上書き込みはできません。
0001NAME IS NULL
04/12/05 20:47:03ID:???http://pcweb.mycom.co.jp/articles/2004/09/22/postgres8/
http://www.postgresql.org/
0002NAME IS NULL
04/12/05 21:02:07ID:???0003NAME IS NULL
04/12/05 21:06:44ID:???0004NAME IS NULL
04/12/07 07:23:21ID:40Yk3Ss70005NAME IS NULL
04/12/14 10:27:58ID:???昨晩セットアップしました。
まだ使い方がよくわからない _| ̄|○
0006NAME IS NULL
04/12/14 21:23:21ID:???どこらへんが?
0007NAME IS NULL
04/12/14 22:06:21ID:+OauwUy90008NAME IS NULL
04/12/15 00:13:36ID:???データーベースにunique indexが設定してあると
unix版8では正常に見れてもWindows版だと一部
データが#Deletedと化ける。
相変わらず糞だな。
0009NAME IS NULL
04/12/15 00:38:21ID:???0010NAME IS NULL
04/12/15 16:28:21ID:???0011NAME IS NULL
04/12/15 22:36:11ID:???日本のユーザー会のリリース情報にまだ紹介されてないってのもあんのかな?
0012NAME IS NULL
04/12/16 06:09:36ID:???いまどき使い方がわからないってのも>>5くらいのものだろうし。
0013NAME IS NULL
04/12/16 08:15:00ID:???>>12
> まぁ、Win対応以外は表向き何が変わったというわけじゃないから、
え?アーカイブログとかPoint In Time Recoveryとかは現行バージョンでも
使えるの?
ここら辺の機能がすごく魅力的なのと、MySQL4.1.7の文字コード関連の
仕様改悪に嫌気がさしたので、version 8を待ってPostgreSQLに鞍替えしよう
かと思ってたんですが・・・
0014NAME IS NULL
04/12/16 09:28:33ID:???0015NAME IS NULL
04/12/16 10:06:16ID:???そ、そうなのかw
0016NAME IS NULL
04/12/16 13:09:38ID:???だって、アーカイブログとかリカバリーとか、RC1の段階で「いいよー」って話題が盛り上がるもんじゃないでしょ。
0017NAME IS NULL
04/12/16 22:39:32ID:???旅に出なくてよさそうで、漏れも楽しみにしてる。
0018NAME IS NULL
04/12/18 01:29:03ID:???というか、8になって何が変わったんだ?
0019NAME IS NULL
04/12/18 01:39:30ID:???お流れになったのかなぁ?
0020NAME IS NULL
04/12/20 02:14:01ID:???まず、上にも挙がってる Point In Time Recovery (PITR)。
あと Table Space の概念が追加された。
他には Save Point も追加された。
>>19が言ってるトランザクションのネスティングのことね。
機能面ではこんなもんかな?
あとパフォーマンスもあちこちで向上している。
002119
04/12/20 02:35:24ID:???トランザクションのネスティング = SavePoint なの?
俺が期待したのは、
BEGIN;
SQL文
BEGIN;
SQL文
COMMIT;
COMMIT;
のような感じで動くやつ。
関数内でロックしながらINSERTやUPDATEしたくなる時ってありませんか?
こんな考え方、なんか拙い?
0022NAME IS NULL
04/12/21 16:42:37ID:???SQL文
SAVEPOINT name;
SQL文
RELEASE SAVEPOINT name;
COMMIT;
って感じかな。
> 関数内でロックしながらINSERTやUPDATEしたくなる時ってありませんか?
の意味するところがよく分からない。
0023NAME IS NULL
04/12/22 15:22:52ID:???002419
04/12/22 15:38:20ID:???> 関数内でロックしながらINSERTやUPDATEしたくなる時ってありませんか?
一度に2つのテーブルを更新するなど、一連の処理を一つのSQL関数で済ませたい場合、
SQL関数内で一つのトランザクションを確保したい。みたいな...
もちろん、関数を呼び出す前にbeginしておけば済む程度の話なんだけど...
0025NAME IS NULL
04/12/22 21:14:14ID:???知らなくてびびった。
0026NAME IS NULL
04/12/23 12:44:06ID:???> 俺が期待したのは、
> BEGIN;
> SQL文
> BEGIN;
> SQL文
> COMMIT;
> COMMIT;
> のような感じで動くやつ。
例えば、
BEGIN;
SQL文(1)
BEGIN;
SQL文(2)
COMMIT;
SQL文(3)
ROLLBACK;
となったときに、SQL文(1),(2),(3)を全てROLLBACKさせたいのなら
SAVEPOINTを使って>>22のように書けばいい。
そうじゃなく、SQL文(1),(3)だけをROLLBACKさせたいというのなら
それはもはや「Nested Transaction」とは言わん。
0027NAME IS NULL
05/01/13 09:58:49ID:???パフォーマンス向上に驚くがいいさ。
0028NAME IS NULL
05/01/13 12:55:01ID:???0029NAME IS NULL
05/01/13 15:00:38ID:???0030NAME IS NULL
05/01/13 20:18:09ID:???まともに使いこなしてない奴だよ
0031NAME IS NULL
05/01/14 00:34:24ID:???0032NAME IS NULL
05/01/14 00:43:19ID:???0033NAME IS NULL
05/01/14 02:23:24ID:???0034NAME IS NULL
05/01/19 17:54:18ID:eDyiMXvw0035NAME IS NULL
05/01/20 00:52:44ID:???じゃあ、具体的に批判しまくってください。
0036NAME IS NULL
05/01/20 12:30:04ID:???(´・ω・`)
0037NAME IS NULL
05/01/20 13:11:33ID:8OD/vHuZpostgresql-8.0-ja.zip is a Japanese specific version.
って、書いてあるがどこにあるのかわからない
0038NAME IS NULL
05/01/20 14:00:34ID:???サンデープログラマには勿体無いDBMSですが、適当にDB、テーブルを
作って試してみたところ、アドミンツール内でですが、漢字、半角カナも
表示出来るんで、ちょっと感動しました。
SJISはなんかダメみたい。
0039NAME IS NULL
05/01/20 15:53:19ID:hF6eZA3A> 漢字、半角カナも表示出来るんで、ちょっと感動しました。
おー、それはすごい
ところで、セットアップ時に 文字コードは何を指定すればいいのですか?
0040NAME IS NULL
05/01/20 16:46:30ID:???他のマシーンから、アドミンツールがつながらない
出来た人いる?
0041NAME IS NULL
05/01/20 17:31:29ID:???EUC_JPにしてみた
0042NAME IS NULL
05/01/20 18:03:58ID:???適切に設定したらできた。gomen
004338
05/01/20 21:36:13ID:???ごめん、セットアップ時の何にしたか忘れたけど、多分SJISだったかな?
新規DB作る時に、エンコード方法を選べるから、気にしないでもいいと思う。
あれから、VB6+ADOでテストしてみたら、これまた簡単。
DSNのサーバ名を、localhostじゃなくてコンピュータ名を入れていたので、
接続出来るまで時間がかかったけど、つながってしまえば後は簡単でした。
後、新規DBを作るときに文字エンコードをUnicodeでもEUC-JPでも、
漢字・半角カナの表示出来ました。
ドライバの日本語パッチの斎藤さんありがとうございます。
プログラミングなんて数年ぶりなんで、なんか楽しい。後はチラシの裏に書きます。
0044NAME IS NULL
05/01/20 22:16:02ID:???0045NAME IS NULL
05/01/21 01:03:48ID:???というかSJIS系は通ってるように見えて実はいまだに関数群がとかありそうで怖いからWinでもつかわん
Postgresの日本語周りはかなり昔に通ってきた道で、比較的安定してるのがいいな
mysql4.1は・・・orz
0046NAME IS NULL
05/01/21 09:52:48ID:???仕事でPostgreSQLを新規導入するんですが、ハードディスクの必要容量を見積もらなければいけなくなりました。
ポスグレのデータ型ごとの記憶容量の資料が見つからなくて困っています。
(INTなら4バイト、VARCHARなら文字数+1バイト みたいな資料です)
良い資料があったら教えてください。
ちなみにOSはソラリスです。
0047NAME IS NULL
05/01/21 10:46:31ID:???日本PostgreSQLユーザ会のメーリングリストのアーカイブ
http://ml.postgresql.jp/pipermail/pgsql-jp/2002-March/008587.html
0048NAME IS NULL
05/01/22 00:39:42ID:???俺は「ポストグレス」。
周りはポスグレだけどなんか気持ち悪い
0049NAME IS NULL
05/01/22 00:54:46ID:???そういうのは大概FAQにある。
で、だな。オイラが代わりに探してやろう。
まず postgresqlの本山。ttp://www.postgresql.org/
FAQつーのが見つからんが、多分Documentationってのがそうだろう。
言語ごとにFAQがあるみたいだな。Japaneseでよかろう。
「1.1) PostgreSQLとは何ですか? 何と読みますか?」
FAQの一番最初らしいな。
「PostgreSQLはPost-Gres-Q-L(ポスト - グレス - キュー - エル) と発音します。」
つーことだ。
0050NAME IS NULL
05/01/22 01:28:22ID:???ここくらいよめ
0051NAME IS NULL
05/01/23 22:14:40ID:mHsmCG07insert into hoge(name) values('表\示');
しかし、like や正規表現検索でうまく検索できません。
select * from hoge where name like '%表\示%';
select * from hoge where name ~ '表\示';
どうしたらいいんでしょうか?
0052NAME IS NULL
05/01/23 22:32:14ID:???0053NAME IS NULL
05/01/23 22:46:31ID:???EUCな環境が無かったらUTFにするんだけどなぁ。
0054NAME IS NULL
05/01/24 00:14:47ID:???あくまでもDB格納時のはなしだし、とりだすときがUTFだろうがSJISだろうが問題にならないしな
0055NAME IS NULL
05/01/24 20:31:21ID:???じゃないとJavaで扱うとき「〜」が化ける。
8では確認してないけど。
0056NAME IS NULL
05/01/24 20:53:10ID:???あいかわらずJavaはダメだな
0057NAME IS NULL
05/01/24 23:40:33ID:???EUCでぜんぜんばけないぞ
Javaの〜の問題はMS932の特殊なマッピング方法にある
ちなみにかなり前からこれを解消したJDBCドライバが普通に使われてるけど?
だからMySQLにくらべてPostgresのほうが問題が起きていない
>>56
あいかわらずってどういう意味だよ
Postgresを利用した業務系のシステムで一番つかわれているのはJavaかと思うが
0058NAME IS NULL
05/01/24 23:44:41ID:???0059NAME IS NULL
05/01/25 01:23:29ID:???MS932だけ変
Javaは忠実に実装しているだけ
ただ、MS932がユーザー数多いので最大限の考慮が必要なのも確か
0060NAME IS NULL
05/01/25 14:40:21ID:???とても面白いことが起きるよ
0061NAME IS NULL
05/01/26 15:18:36ID:???ん?やってみたけど・・・
どこがおもしろいの?
(再起動しないとフォントは変わらないみたいだけど)
0062NAME IS NULL
05/01/26 15:23:43ID:???0063NAME IS NULL
05/01/26 18:54:48ID:???0064NAME IS NULL
05/01/26 20:59:18ID:???の2.6.にpginstallerでエンコーディングにUnicodeが選べない理由が
書いてあるのだけど、
(UnicodeがWindowsで完全にサポートされていないから、だと)
これってCREATE DATABASEでデータベースを作成する時もUnicode
使っちゃダメって事?
0065NAME IS NULL
05/01/27 13:02:48ID:lWjQEhZDいまPostgreSQLとEXCELでデータベースを作っていまして
疑問なんですが
EXCEL使うことってグラフが割りと簡単に使える以外の利点ってあるんでしょうか?
VBAは使っていますがEXCELな機能といえば大量のレコードを表から読んでるだけで
それは旧データベース(アクセスなのですが)からの移行のためだけだと考えています。
運用に入ったらおそらくレコードが一個ずつ地味に増えていくだけなのでこういった作業はなくなるのです。
グラフ描画は使うことになるかもしれないですが。
で、実際にレコードを追加するときもVBAのフォームを使って済ませたほうが簡単そうな気がしてきます。
というのは一回の入力項目が可変なのが理由なんですが
ようするにケースバイケースで違った入力シートを用意するのは面倒だからなんです
フォームを使えばさらにAというレコードも追加したい場合はここをクリックみたいな感じで新しいフォームを表示させればいいのですが。
EXCELつかってらっしゃる方意見を聞かせてください
0066NAME IS NULL
05/01/28 12:31:09ID:???EXCELでデータベースって...元データから取ってくれば良いじゃん。
ACCESSからPostgreSQLへ移行し、EXCELをクライアントソフトとして使いたいって事じゃないの?
0067NAME IS NULL
05/01/28 12:43:33ID:GZR1+sf5インストールの最後で、サービスが開始できなくて
とまっちゃうんですが
>サービス 'PostgreSQL Database Server 8.0'(pgsql-8.0)を開始できませんでした
>システム サービスを開始する特権を持っていることを確認してください
XPって普段使ってないからよくわかんないんです
アドミニ権限のユーザではインストールすらできないし
対策方法わかる方教えくだしあ
0068NAME IS NULL
05/01/28 13:41:07ID:zslxpP170069NAME IS NULL
05/01/28 14:22:14ID:???レスどうもです。
まじすか。もう一回入れなおしてみます
0070NAME IS NULL
05/01/28 22:35:38ID:???Windowsで定期的にVACUUMかけるにはどんな方法がありますか?
0071NAME IS NULL
05/01/29 00:26:32ID:???スレ違い。
Windowsで定期的にコマンドを実行すればいいだけだろ。
「スケジュール タスク」辺りでググれ。
0072NAME IS NULL
05/01/30 09:50:20ID:7cAEIu0m俺は「ポストグレス」。
周りはポスグレだけどなんか気持ち悪い
0073NAME IS NULL
05/01/30 09:53:52ID:???>>48-49
0074NAME IS NULL
05/01/30 10:10:18ID:???0075NAME IS NULL
05/01/30 11:01:33ID:???PostgreSQLの誕生の歴史を調べれば、おのずとなんと読むのが正解かわかる。
0076NAME IS NULL
05/01/30 14:09:29ID:???0077NAME IS NULL
05/01/30 18:24:10ID:???真の名前は教えないことになっております。
0078NAME IS NULL
05/01/31 02:03:34ID:???0079NAME IS NULL
05/01/31 02:04:14ID:???0080NAME IS NULL
05/01/31 02:05:25ID:???0081NAME IS NULL
05/01/31 09:38:15ID:???RPMの人が間違えてるかもしれないじゃないか!
0082NAME IS NULL
05/02/03 11:59:13ID:???できちゃってるのな。locale付きで。
日本語の検索がおかしくなって判明。
dataディレクトリ内削除のうえ、initdb --no-locale
で解決。
0083NAME IS NULL
05/02/04 23:02:28ID:???インストール中にデータベースクラスタのロケールとデフォルトエンコーディングが指定できたと思うけど・・・
日本語版インストーラではロケール'C'、エンコーディング'EUC_JP'が初期値になってたような気が。
0084NAME IS NULL
05/02/05 20:59:28ID:???環境はMac OS X(10.3.7),PostgreSQL8.0.0
昨日の夜から寝ずに調べてようやっと、今日のお昼頃にデータベースとテーブル(とその中身)を
入れられました。(UNIXもそう経験無いので時間かかっちゃった)
これからこいつにガンガンデータを入れて操作を覚えようと思います。
これから何かと質問させてもらうと思いますが、その時は宜しくお願いしますね。
0085NAME IS NULL
05/02/06 12:39:32ID:???008684
05/02/06 22:38:06ID:???ありがと
がんばります。
かなり四苦八苦していますがいくつかinsert文でデータを入れて、
indexを作りようやく準備が終わったという感じです。
この後の「これを使える様にしておけ!」という構文等ありましたら教えてください。
0087NAME IS NULL
05/02/06 23:14:45ID:???それよりも、マニュアル読めるようにしておけ。
0088NAME IS NULL
05/02/07 12:35:43ID:???>インストール中にデータベースクラスタのロケールとデフォルトエンコーディングが指定できたと思うけど・・・
通常版の「postgresql-8.0.zip」で確認してみましたが、デフォルトの
ロケール「C」エンコーディング「SQL_ASCII」でした。
エンコードは間違いなく「EUC_JP」にしてたんですがねぇ。
今は日本語版インストーラーがダウンロードできるようになったんですね。
今度試してみます。
0089NAME IS NULL
05/02/07 12:42:04ID:???(´-`).。oO( なんで INDEX 張るのと INSERT するのがそういう順だろう… )
0090NAME IS NULL
05/02/07 16:11:27ID:???インデックスなしでのデータ挿入の方が速いから、
大量に初期データを入れる場合なんかは、
後でインデックスを作るけど。
まぁ、インサート後でインデックスを作るのはアリだろ。。
0091NAME IS NULL
05/02/08 12:43:16ID:???サークルκ ヽ(´∀`)ノ サンクス
009284
05/02/09 00:25:27ID:???>>89-90
ひょっとして何かおかしかったですか?!
順序がおかしいとかかな?
調べてみます。ヒントありがと。
0093NAME IS NULL
05/02/10 02:05:33ID:???マニュアルは隅々まで読むんじゃなくて
どこにどんなことが書いてあるのか大体のところを把握できれば十分。
0094NAME IS NULL
05/02/10 23:27:41ID:???リリースノートだけでは差分の差分の差分の……って感じで見落としていたものを発見出来たりするし。
0095NAME IS NULL
05/02/11 01:39:49ID:???しかし、PostgreSQLの使い方はマニュアルに書いてあるということくらいは実感しておいて欲しい。
009684
05/02/13 14:54:42ID:???まずはマニュアルを良く読む事ですね。
隅々というのは骨が折れるけどそれが習得の一番の近道かもしれませんね。
読みながら触っているんですが、出来ると「すっげー!」「おもしれー!」を、
連発してちょっと家族からは気持ち悪がられていますが、それでも楽しんで勉強してます。
面白い物ですね。<SQL
0097NAME IS NULL
05/02/13 16:58:21ID:???のだが、以下のような振る舞いはPostgreSQLの当たり前なのだろうか。
pgAdmin3上でたとえばTESTという半角大文字のテーブルを作って
pgAdmin3 QueryツールでSELECT文を発行するときに
select * from TEST
もしくは
select * from test
だと、ERROR: relation "test" does not existとなり
テーブル名をtestという半角小文字のテーブルにすると
上記SELECT文のいずれも正常に動作する。
どうもODBC経由でも同様の現象が発生していた。
GUIツールがらみのバグなのかもしれんけど、一応きになったので
ご教授いただけるとうれしい。
0098NAME IS NULL
05/02/13 18:44:20ID:???=# create table "TEST" (id NUMERIC(8,0));
CREATE TABLE
=# select * from TEST;
ERROR: relation "test" does not exist
こんな感じ。"" でくくれば大丈夫。
=# select * from "TEST";
id
----
(0 rows)
=# \d
List of relations
Schema | Name | Type | Owner
--------+------+-------+----------
public | TEST | table | xxxxxxxx
0099NAME IS NULL
05/02/13 18:56:06ID:???おお。確かに、できましたです。
まだ、使いはじめたばかりなのでいろいろと
知っていなくちゃいけないところをしらないの
でしょう。頑張って、勉強します。
素早いご教授ありがとうございました(__)
0100NAME IS NULL
05/02/23 12:44:06ID:???0101NAME IS NULL
05/02/23 18:31:57ID:???make
make install
ダルゥ。
0102NAME IS NULL
05/02/24 22:41:58ID:???最近PostgreSQL8.0を仕事で覚えなきゃいけないことになって
必死で勉強しています。ってかDB関係なんてAccessくらいしか
やったことないんで、かなり大変です。
それで質問なんですが
テーブルを作れるのにファンクションが作れないなんてことは
あるんでしょうか?SQLファイル(別会社の人が作った物)をエディターに
読み込んで実行かけてるんですが、かならずファンクション作成の時に
エラーで止まっちゃいます。そこで色々調べてたのですが
ファンクションの最後で必ずレコード型の戻り値を返しています
FOR rec IN select なんたらかんたら ←こんなカンジうろ覚えで申し訳ないです
RETURN NEXT rec;
END FOR
そもそもSQLプログラム(plpgsql)にあまり馴染みがないので
よく分からなかったんですが、selectで読み込んだレコードって一括で入って
来ると思ってたのですが、FOR文でループさせてるって事は1レコードずつってことですかね?
それとRETURN NEXT って書き方も良く分からないです。RETURN rec;じゃダメなのかな〜
ループ条件も僕にはあまり馴染みがない書き方ですね。
そのSQLファイルは、PostgreSQL7.4.5を想定して作られているんですが、
それとエラーは関係ないですよね?
エラーの内容も書きたいんですが覚えてないんで書けないです。すいません。
ちなみにRETURNの部分をコメントアウトしてやると全て正常に実行できました。
なので悪さしてるのはこの辺かと勝手に思ってるんですが・・・
ちょっと意味不明かも知れませんが、アドバイスでも何でもいいんで助言いただけたらと
思います。長文&駄文失礼しました。
0103NAME IS NULL
05/02/25 00:02:04ID:???0104NAME IS NULL
05/02/25 00:14:40ID:???1行だけ返したいなら RETURN rec でいい。
0105102
05/02/25 09:20:01ID:???また疑問が出てきたので教えてください。
ファンクションを作成してReturnで戻り値を返すのはいいんですが、
そのファンクションの呼び出し元がどこを探してもないのです。
こういうのってSQL実行する時にエラーの原因になりますか?
0106NAME IS NULL
05/02/25 09:55:07ID:???昨日、近所のPostgreSQL見たんです。PostgreSQL。
そしたらなんかループにRETUENあってわからないんです。
で、よく見たらなんかレコード方の戻り値をかえしてたんです。
もうね、アホかと。馬鹿かと。
お前らな、RETURN NEXT rec;如きで普段来てないPostgreSQLに来てんじゃねーよ、ボケが。
RETURN NEXT rec;だよ、RETURN NEXT rec;。
なんか親子連れとかもいるし。一家4人でPostgreSQLか。おめでてーな。
よーしパパplpgsql頼んじゃうぞー、とか言ってるの。もう見てらんない。
お前らな、RETURN NEXT rec;やるからさっさと動かせとと。
PostgreSQLってのはな、もっと殺伐としてるべきなんだよ。
テーブルロックを使った奴といつデッドロックが始まってもおかしくない、
LOCKするかABORTするか、そんな雰囲気がいいんじゃねーか。女子供は、すっこんでろ。
で、やっと動いたかと思ったら、隣の奴が、呼び出し元がないで、とか言ってるんです。
そこでまたぶち切れですよ。
あのな、呼び出し元がないなんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何が、呼び出し元がないで、だ。
お前は本当に呼び出し元がないのかと問いたい。問い詰めたい。小1時間問い詰めたい。
お前、呼び出し元がないって言いたいだけちゃうんかと。
PostgreSQL通の俺から言わせてもらえば今、PostgreSQL通の間での最新流行はやっぱり、
大盛plphp関数、これだね。
plphp。これが通の頼み方。
大盛plphp関数ってのは関数が多めに入ってる。そん代わり不安定。これ。
で、それに大盛関数。これ最強。
しかしこれを頼むと次からオラクラーにマークされるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。
まあお前らド素人は、SQLを先に覚えなさいってこった。
0107NAME IS NULL
05/02/25 12:37:41ID:???0108NAME IS NULL
05/03/01 02:08:21ID:???RETUENって何?
0109NAME IS NULL
05/03/01 02:49:46ID:???感動した。
0110NAME IS NULL
05/03/01 18:05:37ID:7guaqeqzもしかして、createlang してないだけでは?
0111NAME IS NULL
05/03/20 23:38:56ID:DayhZ7i9どうしたらいいのでしょうか?以下のようなメッセージが出て困ってます。
could not find a "psql" to execute
psql: FATAL: password authentication failed for user "ユーザ名: "
(ユーザ名: は-Uでユーザを指定したときは、そのユーザ名になります)
というかver7.xでpg_dumpによって作ったスクリプト形式のDBバックアップを
リストアするのはどうすればいいのでしょうか?
これができればコマンドラインツールに拘る必要はないのですが。
0112NAME IS NULL
2005/03/25(金) 11:48:26ID:???ttp://www.postgresql.jp/PostgreSQL/download.html
Windows版インストーラ(PgFoundry)
こうなってるのは漏れだけですか?
PgFoundry Could Not Connect to Database:
0113NAME IS NULL
2005/03/30(水) 00:39:11ID:LSeHFrsnname varchar(15),
class varchar(10)),
insert into new_student values(1,'田中義春','たなかよしはる','向日葵組','ひまわりぐみ');
insert.....
と繰り返していって、結果を
id name class
----------+------------------+-----------
1 田中義春 向日葵組
としたいのですが、読み の挿入がうまくいきません。
表示部分には、読みを表示させたくないのですが。
どうしたら、いいのでしょうか?
0114NAME IS NULL
2005/03/30(水) 01:06:43ID:???読みらしきものが定義されていませんが…
0115NAME IS NULL
皇紀2665/04/01(金) 00:52:35ID:???int4,float8,float8の3カラムのテーブルを作って40万行ほど突っ込んだら
テーブルファイルサイズが68MBにもなってた。
単純計算で1行20byte*40マソで8MB+α程度かと思ってたんすけど....
今まで記憶容量の計算なんてしたこと無かったけど、結構食うもんなんだな。
int4カラムの主キーインデックスだけで8MBある。orz
0116111
皇紀2665/04/02(土) 01:14:13ID:???コマンドプロンプトを「別のユーザとして実行...」でpostgresユーザとして
立ち上げてから実行するとコマンドラインツールが使えました。
ところでインストーラが作ってくれたpostgresユーザはどうやったら消すか
あるいはパスワード変更できるんだろう?
ちなみにOSはXPhomeSP1です。
0117NAME IS NULL
皇紀2665/04/02(土) 01:53:36ID:???そろそろ、スレ違いだと気づけ。
0118NAME IS NULL
2005/04/20(水) 10:31:21ID:???くそが。
0119NAME IS NULL
2005/04/20(水) 13:13:57ID:???0120NAME IS NULL
2005/04/20(水) 16:49:38ID:???0121NAME IS NULL
2005/04/20(水) 18:45:23ID:???アンチは低脳だからねぇ
0122118
2005/04/21(木) 07:40:51ID:???アンチって俺がか?
俺はpostgreSQLの機能の豊富さ好きだぞ。
ちょうど使いたい機能があったし。
ところでインストールは解説サイト通りにインストーラ使ってやったんだが出来なかった。
まぁもう少し粘ってみるけどな。
0123NAME IS NULL
2005/04/21(木) 09:49:35ID:???誰か助けてくれるかもよ
0124NAME IS NULL
2005/04/21(木) 14:22:06ID:???0125118
2005/04/23(土) 03:02:25ID:???postgresql-8.0.2-ja.zipをDLして解凍
postgresql-8.0-ja.msiを実行し完了
upgrade.batを実行
エラーメッセージ「サービス 'PostgreSQL Database Server 8.0'(pgsql-8.0)をインストールできませんでした。
システムサービスをインストールする特権を持っている事を確認してください。」
この特権の確認ってどうやるの?
0126118
2005/04/23(土) 04:20:36ID:???しかもそれがアンインストールで削除されないようで、
新しくインストールしたpostgresに古いIDとパスワードを求められて困った。
最初の方のメモ消しちゃったし。
pgadmin3でサーバーをダブルクリックして思いついたパスワードを入力してみたが
error connecting to the server : fatal : password authentication failed for user "postgres5"
と言われるし、windowsタスクマネージャではpostgres.exeが4つpostmaster.exeとpg_ctlが一つずつ
ユーザーpostgres1によって起動されているが、pgadmin3の画面では一つだけ登録されているサーバが
postgres5によって起動されている。(これらの起動ユーザが一致しないのは問題ない?)
古いIDとパスを削除して新しく設定した方でコネクト出来れば良いんだけど。
最初、英語版のインストールに失敗して、それでフォルダ全部削除して日本語版でインストールを試して成功したんだけど、
フォルダ削除してもIDとパスの情報が残ったって事はどっか別のとこに記録されてるはずで
それが何処か分からないから消せないし。
0127NAME IS NULL
2005/04/23(土) 09:08:41ID:6Z+WB6dZVBからPostgreSQLのODBC設定をしようと思い、SQLConfigDataSourceメソッドを使ってます。
普通に管理ツールからODBCの設定画面を開いて「textを長文字列として扱う」項目があるんですが、
VBで記述するにはなんて書けばいいか知ってる人がいれば教えてください。
0128NAME IS NULL
2005/04/23(土) 15:49:17ID:3A/gShpZから管理ツール、「コンピュータの管理」と入っていき、postgreインストーラ
で作成したユーザアカウントのゴミを削除すれば、つぎはうまくいくはずだ。
Windowsでpostgresqlを使おうするやつはほとんどいないようだ。
UNIXやpostgresで苦労したのだろう。
石井達夫というのがユーザ会の会長か理事長?らしいが、
会員になるに許可がいるらしい。現在ユーザ会員数は2500人程度しかいない
のでpostgresqlは一部のオタクだけで固着してしまっているようだ。
作ったシステムは死に、やがて自然消滅するのも時間の問題だな。
検索するにしても英数字だけでなく、漢字、ひらがな、カタカナ、全角
半角と日常表現が多岐に渡っている日本のデータベースの有効活用範囲
は英語圏よりも大幅狭いはずだ。無料とはいえmysql、postgresqlに
夢中になる必要は全くないぜ。
0129NAME IS NULL
2005/04/23(土) 21:55:03ID:???ウェブサーバ 192.168.1.10
DBサーバ 192.168.1.11
/usr/local/pgsql/data/pg_hba.conf
host all all 255.255.255.0 trust
と書きました。昔は/usr/local/pgsql/data/postgresql.confに、tcpip_socket=on/true
と書くらしいのですが、8.0.2はどのようにすればいいのでしょうか?
iptablesも切っています。
0130NAME IS NULL
2005/04/23(土) 22:02:34ID:???http://pc8.2ch.net/test/read.cgi/db/1079771059/300-301
0131NAME IS NULL
2005/04/23(土) 22:49:24ID:???ありがとうございます。postgresql.confに以下を追加しました。
listen_addresses = 'localhost,192.168.1.10'
port = 5432
postgresql.confを変更後、終了起動や再起動しましたが、
ウェブサーバから接続しようとすると弾かれます・・・。
Connection to database 'dbtest' failed.
could not connect to server: Connection refused
Is the server running on host "192.168.1.22" and accepting
TCP/IP connections on port 5432?
ウェブサーバ側からnmapしても5432ポートが空いてないんですよね。
DBサーバ上でnmap localhostだと5432が空いています。
2台のサーバはハブでつなげているだけです。
0132NAME IS NULL
2005/04/23(土) 22:53:00ID:???Connection to database 'dbtest' failed.
could not connect to server: Connection refused
Is the server running on host "192.168.1.11" and accepting
TCP/IP connections on port 5432?
0133NAME IS NULL
2005/04/23(土) 23:24:37ID:???書き間違い?
DBサーバーが、192.168.1.11 なら、postgresql.conf は
listen_addresses = 'localhost,192.168.1.10'
↓
listen_addresses = 'localhost,192.168.1.11'
と思うんだが。
0134NAME IS NULL
2005/04/24(日) 02:02:21ID:???コンピュータの管理を開くとローカルユーザという項目があると多くの解説サイトには書かれているがそれが無い。
0135118
2005/04/24(日) 02:56:14ID:???最近追加したアカウントのサーバが現れてうまくいった!
0136NAME IS NULL
2005/04/24(日) 15:59:31ID:???ありがとうございます。接続を許可するホスト名かと思っていました。
ウェブサーバからもnmapでDBサーバの5432番を見れるようになりました!
まだ接続できないです。。
ウェブサーバにもpostgresql 8.0.2を入れていますが、特に設定していません。
このエラーは、ウェブサーバ側のpg_hba.confを編集する必要があるという意味なのでしょうか?
./test run.
Connection to database 'dbtest' failed.
FATAL: missing or erroneous pg_hba.conf file
HINT: See server log for details.
0137NAME IS NULL
2005/04/24(日) 16:20:06ID:???DBサーバーのpg_hba.confは
host all all 255.255.255.0 trust ぢゃなく
host all all 192.168.1.0/24 trust ではないかと。
ウェブサーバーに必要なのはpostgresqlのクライアントライブラリ「だけ」であって
サーバーは不要。
だから、ウェブサーバー側の設定ファイルうんぬんは関係ない。
ついでにtrust指定だとパスワードなしで、全データベースに接続できてしまうので、
セキュリティを考えるとよろしくない。
trustではなくmd5やpasswordにしたほうがよいと思われ。
0138NAME IS NULL
2005/04/24(日) 17:12:31ID:???動きました!!ありがとうございます!
./test run.
select OK : 5 x 3
--------------------
no:0 name:cat cnt:1
no:1 name:dog cnt:1
no:2 name:bird cnt:1
no:3 name:mouse cnt:1
no:4 name:dokuo cnt:1
Bye.
CIDRっていうのを勉強してみます
0139NAME IS NULL
2005/04/25(月) 03:10:50ID:TW8wBixvERROR: could not set permissions on directory "C:/pgsql": Permission denied
と出ます。
XPの読み取り属性の問題かと思い、attribコマンドで読み取り専用属性を解除して試しましたが同じ結果でした。
Cドライブ直下にpgsqlフォルダはちゃんとありますし、このフォルダを削除してからやると別のエラーメッセージが出ます。
WEB上でLinux版で発生した同様な問題についての議論を見つけましたが、
結論は不明のままOSの再インストールという方法に終着していました。
この状況についてどのような原因や解決策が考えられるでしょうか?
0140NAME IS NULL
2005/04/25(月) 10:08:15ID:???0141139
2005/04/25(月) 14:42:34ID:TW8wBixvcaclsコマンドでpostgresをwindowsサービスとして起動するユーザ・postgresに接続する際のユーザ両方について
それぞれのユーザのみにフルコントロールを与えてテーブルスペース作成を試みましたが結果は同じでした。
cacls C:\pgsqlとして表示した時の権限者が、
hostname\username となっているのですが、このhostnameがpostgresサーバに設定してあるものと異なるのが気になったのですが
hostnameの部分の変更方法が分かりません。
0142NAME IS NULL
2005/04/25(月) 15:27:55ID:???変更は無理だよ、追加して消す、とかしないと
0143139
2005/04/25(月) 18:15:12ID:???caclsコマンドで表示した時のhostnameはFMV〜というコンピュータの名前で、
postgresサーバのホスト名はlocalhostと設定しています。
cacls C:\pgsqlの結果は FMV〜\username
pgadmin3のサーバプロパティに表示されるホスト名はlocalhost
という状況です。
0144NAME IS NULL
2005/04/25(月) 18:21:33ID:???GROUP BY で DBCS の入ってるカラム指定すると重複行がいっぱい出るよ。
PostgreSQL 8.0 (Windows XP) / 文字セット UNICODE
xxxxxx=# SELECT '京王プラザホテル' = '京王プラザホテル';
?column?
----------
f
(1 行)
xxxxxx=# SELECT '京王プラザホテル' LIKE '京王プラザホテル';
?column?
----------
t
(1 行)
xxxxxx=# SELECT 'AAA' = 'AAA';
?column?
----------
t
(1 行)
xxxxxx=# SELECT 'AAA' LIKE 'AAA';
?column?
----------
t
(1 行)
0145NAME IS NULL
2005/04/25(月) 20:34:30ID:???定期的に出てくるな、その問題。
http://pc8.2ch.net/test/read.cgi/db/1103113155/465-470
http://pc8.2ch.net/test/read.cgi/db/1079771059/42-47
ちょっとググり難いとも思うが。
0146NAME IS NULL
2005/04/25(月) 20:40:53ID:???Cなので手段は選ばないです。
0147NAME IS NULL
2005/04/26(火) 00:43:12ID:???write(fd, ...);
0148NAME IS NULL
2005/04/26(火) 11:34:03ID:???HDDへの書き込み速度次第じゃない?
CPUの演算やらに比べて、明らかに此処の部分で速度落ちるんだし。
0149NAME IS NULL
2005/04/26(火) 12:26:07ID:???0150NAME IS NULL
2005/04/26(火) 16:23:14ID:IyLFLaTLVBからつなごうとすると
ODBCデータソース経由でしか接続できないんだろうか・・・・
標準ではODBCドライバしかないっぽいし・・・
だれかOLEDB経由の方法接続知ってる香具師いたら情報キボン
0151NAME IS NULL
2005/04/26(火) 17:29:19ID:???今、確認してみたけど、標準で入ってたよ。8.0.1。
ポスグレのインストール時に、どのインストールタイプを選択したのか覚えていないんだが、
カスタムインストールで何か選択しないといけないのかもしれんね。
ちなみに接続文字列はこんな感じでOKだった。
Provider=PostgreSQL.1;Password=mypass;User ID=user;Data Source=localhost;Location=testdb;Extended Properties=""
日本語がきちんと通るかどうかまでは調べてないけど。
0152NAME IS NULL
2005/04/26(火) 19:09:05ID:???>>148
>>149
thx
0153NAME IS NULL
2005/04/27(水) 17:16:00ID:???入れ直して確かめてみる ノシ
0154NAME IS NULL
2005/05/31(火) 09:21:35ID:???今回XPで8.0に移行しようと考えているのですが、
その際のバックアップ、リストアーについて気をつける点等ありますか?
pg_dumpallで*.outファイルを作成し、psqlコマンドで試しているのですが、
認識していないようです。
0155NAME IS NULL
2005/05/31(火) 10:52:27ID:???psql を実行する環境がShiftJISだとちょっとめんどい
0156NAME IS NULL
2005/05/31(火) 16:51:34ID:???そうですか。なんとかやってみます。
有難うございました。
0157仕様書無しさん
2005/06/10(金) 04:32:41ID:vqj8Y6od0158NAME IS NULL
2005/06/10(金) 12:33:41ID:???今はWITHOUT OID もできるしどうなんだろ
0159NAME IS NULL
2005/06/10(金) 19:27:14ID:???0160NAME IS NULL
2005/06/10(金) 20:14:57ID:???0161NAME IS NULL
2005/06/13(月) 22:29:43ID:???0162NAME IS NULL
2005/06/14(火) 12:27:47ID:???ttp://www.postgresql.org/docs/faqs.FAQ_japanese.html#1.1
0163NAME IS NULL
2005/06/18(土) 17:42:47ID:???psql 8.0.3 for windowsで\hなどと打つと、
'more' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と言われるのは、私だけでしょうか?
0164NAME IS NULL
2005/06/18(土) 18:44:24ID:???more コマンドへのパスが切られてないと思われ。
%windir%\system32 にパスを通せば大丈夫のはず。
0165NAME IS NULL
2005/06/18(土) 20:28:10ID:???ありがとうございます。
そーですか、私だけでしたか
0166NAME IS NULL
2005/06/23(木) 13:57:51ID:???RecordSetのカーソルタイプを指定しなかった場合、<RecordSet>.first()
が7.4.xだと問題なかったのに、8だと "SCROLL可能なRecordSetじゃないとだめ"
と怒られるようになったんですが、FORWARD_ONLYなレコードセットで先頭位置決
めは <RecordSet>.next(); を使うしかありませんか?
ちなみに next(); すら書かなかった場合は "ResultSet not positioned properly"
で怒られます。
0167NAME IS NULL
2005/06/23(木) 15:33:51ID:???まぁどのDBでも基本は順方向
0168tsearch2
2005/06/27(月) 13:32:50ID:bn+qa3Ay現在私はPosgreにあるTserch2に Linuxに構築を試みています。
http://www.oss.ecl.ntt.co.jp/のページにある
環境構築手順書の通り操作を行っていくと
データの投入の部分で
ERROR: could not find tsearch config by locale
のエラーが出ます。
トリガーで
CREATE TRIGGER tsvectorupdate BEFORE UPDATE OR INSERT ON tblSample
FOR EACH ROW EXECUTE PROCEDURE tsearch2(idxFTI, pgkakasiw, strText);
データ投入で
COPY tblSample FROM 'data.csv' USING DELIMITERS ',';
としています。
いろいろ調べてはいるのですが
その他のKAKASI version 2.3.4 pgkakasiw-1.1のインストールは
問題なく済んでいて pgkakasiw()は動いています。
通常のINSERTなら問題なく動きます(トリガは削除しています)
Tsearch2のインストール自体はできているようです。
make cleanを行った上で何度か再インストールを試しています。
動作環境も確認済みです。
どなたか解る方いらっしゃいますか?
宜しくお願いしますm(__)m
0169NAME IS NULL
2005/06/27(月) 13:46:56ID:???0170tsearch2
2005/06/27(月) 18:49:41ID:kZmBp1gpありがとうございます。
一歩前進できましたが、次に更なる問題が出てきています。
同じくデータ投入時に
ERROR: cache lookup failed for function 23825
と言うエラーが発生しています。
0171NAME IS NULL
2005/06/28(火) 14:09:05ID:FyvKDDrO意外だな、玄人好みのDBと聞いていましたから。
MySQLのほうが使いやすいですか。
0172NAME IS NULL
2005/06/28(火) 14:58:44ID:???PostgreSQLもWindows版は出たばかりだから
ここは静かだろ
0173NAME IS NULL
2005/06/28(火) 16:42:23ID:???postgresは人気ないのですか?
Windowsのスタンドアロンのような小規模で簡単なシステムだと
MySQLでも良いのかもしれませんけど、
大規模で複雑なシステムだとpostgresqlでも役不足感がまだある
MySQLなんて当然使えない。
0174NAME IS NULL
2005/06/28(火) 16:47:03ID:???使いやすかったり。。。
0175NAME IS NULL
2005/06/28(火) 19:40:45ID:FyvKDDrO詳しく聞かせてください。私HIBERNATEとPOSTGRESをWinのサーバーで
使いたいなと思っています。
どちらも将来有望な技術らしいですし。
MySQLも大変使いやすいなと思うのですが、将来は大規模なシステム開発
にも是非携わってみたいとおもいますから、POSTGRESを勉強しようと
おもってここへ来たんです。
意外や意外。あまり盛り上がっていませんね、Win版のPostgres...
0176NAME IS NULL
2005/06/28(火) 22:55:38ID:???ドライバ周りもセットアップされるしらくだと思うぞ
0177HYPER& ◆.12JFsoCi6
2005/07/01(金) 13:32:03ID:IMbhKt4oどうもありがとうございます。私も早速試してみようと思いまして
ダウンロードしたのですが、ちょっとサーバーをリセットできない
状態にありまして。
あと一つだけ伺ってもよろしいでしょうか。Win版Postgres8.0で
何が一番困りますか?MySQLではできたのに、Postgresじゃこんな
こともできないのか、という問題がありましたら、是非事前に
知っておきたいです。
みなさん、どうぞ宜しくお願い致します。
0178NAME IS NULL
2005/07/01(金) 15:33:32ID:???0179NAME IS NULL
2005/07/01(金) 21:35:50ID:IMbhKt4oどうもありがとうございます。
MySQLに何かご不満でもあったのでしょうか?
私はPOSTGRESの日付関数に大変魅力を感じています。
でも、HIBERNATE使うとMySQLもPostgresも大差なくなってしまいますが。
どうでしょう、やはり、豊富な関数群に魅力を?
0180NAME IS NULL
2005/07/01(金) 21:58:32ID:???移行した連中が多いから俺も移行したよ
サブクエリー対応したのはいいけどSQLも結構バグだらけだったり
環境のファイルシステムのキャラクタセット無視してUTF8でファイル作ったり
ひどいのにあきれた
結果期待してなかったけどパフォーマンス面でもまったく問題ないし
ライセンス代が浮いたくらいかな
スタンドアロンの組み込みDBならHSQLDBのほうが楽だけどね
最初から各種ドライバがセットアップされてGUIツールがついてるから
MySQLより初心者には優しいよね
MySQLはコンフィグファイルをテキストエディタで自分で書き換えないといけないし
GUIツール使うとその設定を吹き飛ばしてしまったり泣ける
MySQLはライブラリのライセンスがLGPLなときから使ってたから愛着はあったんだけど
フリーでマルチユーザー、Windows対応なDBがほしかっただけだからもういいや
0181NAME IS NULL
2005/07/01(金) 22:08:38ID:???出てきたこともあってポスグレに移行した。
機能的にはポスグレ > MySQLなので移行の弊害は
今のところない。
データ件数が少なくて、単にデータの出し入れ程度が
出来れば良いものはSQLiteを使っている。
MySQLは中途半端な位置づけになったかな、という感じ。
0182NAME IS NULL
2005/07/01(金) 23:14:24ID:???Windowsのってのがイマイチな考え方なのでは?
なによりある程度以上の規模のシステムを構築されるなら
BSDやLinuxをサーバーとしてお使いになる方が楽ですよ
0183NAME IS NULL
2005/07/02(土) 10:20:40ID:I2kVu6Mcどうもありがとうございます。やる気がどんどん出てきました。
このスレがあまり盛り上がっていないから、もうMySQLが成熟したんだな
と思っていましたが、Postgresはやはり高く評価されていますね。
まだ、Windowsに移植されたばかりなのが気がかりです。
>>182
開発もLinuxでされているのでしょうか?私もそうでしたけど、
もうWin2003Serverは本当に良くできています。値段も安いし、不満は
ありません。
0184NAME IS NULL
2005/07/02(土) 11:12:26ID:???Windowsが良くできているのはそれで良いのですが
サーバとして見た場合、GUIも不要ですし無駄なデーモン(サービス)も
起動しなくて良いのでは?って意味ではBSDやLinuxの方が有利で
カストマイズも楽ですよ、仕事で使われているこれらのフリーのOSは
無料だからって理由で選択している人はいないと思います
無論Win版のpostgreSQLにはそれなりの価値もあります
テスト環境やスタンドアロン用システムの開発に使えば
将来、BSDサーバやMacでさえ動かせる可能性が出てきますから。
(これはMySQLでも同じですけどね)
0185NAME IS NULL
2005/07/02(土) 12:33:04ID:???0186NAME IS NULL
2005/07/02(土) 13:06:18ID:???日本語周りでトラぶったら全部俺のせいにされる。_no
0187NAME IS NULL
2005/07/02(土) 14:18:25ID:I2kVu6Mcちょっと不安になる書き込みです。
わたしはMySQLですべて文字列はUTF8で取り扱っています。
日本語禁止にできないとは、つまりどういうことなのでしょうか。
私はUTF8でLIKEで類似文字列の検索など、問題なくできています。
ブラウザー(IE)のユニコード表示って綺麗にするにはちょっとした
テクニックがいるから、まだまだユニコード万能とは言えませんが、
多国の言葉の取り扱いはだんだんとできるようになってきましたね。
0188NAME IS NULL
2005/07/02(土) 15:15:38ID:???使う側の不具合まで押し付けられるのが鬱。
俺 「MySQLでは日本語の扱いに問題があります。」
上司 「それじゃ仕方がないな。」
俺 「PosgreSQLでは日本語の扱いに問題があります。」
上司 「そんなわけないだろ。」
俺 「そうですね。」
0189NAME IS NULL
2005/07/04(月) 14:00:50ID:???0190NAME IS NULL
2005/07/08(金) 10:07:19ID:???座布団一枚!
0191NAME IS NULL
2005/07/24(日) 15:23:22ID:qAy7nOx4作る段階で
$creatdb test と入力したところ、
createdb: could not connect to database template1: could not connect to
server:
No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
と出ました。
どうすればいいのかアドバイスお願いします。できれば、優しく教えてください。
0192NAME IS NULL
2005/07/24(日) 18:43:38ID:???cygserverとpostmasterを起動してる?
0193NAME IS NULL
2005/07/24(日) 18:55:02ID:???0194NAME IS NULL
2005/07/24(日) 18:55:41ID:qAy7nOx4cygserverは起動させています。postmasterの起動はどうすればいいのでしょうか?
0195192
2005/07/24(日) 19:11:52ID:???Cygwin付属の文書 (たぶん /usr/share/doc/Cygwin/postgresql-7.4.5.README )を読むべし。
0196NAME IS NULL
2005/07/24(日) 20:08:27ID:qAy7nOx4READMEを読んで、postmasterの起動を行ったのですが、
$ postmaster: could not find the database system
Expected to find it in the directory "/var/postgresql/data",
but could not open file "/var/postgresql/data/global/pg_control":
No such file or directory
とでました。なにを直せばいいのでしょうか?
0197NAME IS NULL
2005/07/24(日) 20:12:21ID:???0198NAME IS NULL
2005/07/24(日) 20:28:02ID:???インストール時のオイラのメモでは、こんな感じでインストール・設定したっぽい。
1. 準備できてるかどうか
cygcheck -c cygwin cygipc postgresql
引数の3つのパッケージがインストールされていることを確認
2. ipc-daemon起動
ipc-daemon2 &
3. データベース領域確保
initdb --no-locale -D /var/postgresql/data
4. PostgreSQL起動
postmaster -D /var/postgresql/data &
5. createdbでお好みに。
0199NAME IS NULL
2005/07/24(日) 20:53:51ID:???ttp://www.castle.flnet.org/pw/?Cygwin%2FPostgreSQL
ttp://discypus.jp/wiki/?Cygwin%2FPostgreSQL
0200NAME IS NULL
2005/07/25(月) 00:35:36ID:p8MjnKxuされていませんでした。
$bunzip2 -c cygipc-1.13-2.tar.bz2 で読み込ませて、
$tar xfv cygipc-1.13-2.tarとインストールしようとしたら
tar: cygipc-1.13-2.tar: Cannot open:No such file or directory
tar: Error is not recoverable: exiting now
と出ました。これは、インストールの仕方が、間違っているのでしょうか?
0201NAME IS NULL
2005/07/25(月) 01:21:02ID:???0202NAME IS NULL
2005/07/25(月) 01:37:31ID:p8MjnKxucygipcは必要ないんですか?まだ勉強している段階なのですみません。
initdbをおこなったんですけど、
creating template1 database in /usr/local/pgsql/src/data/base/1..
FATAL: invalid value for parameter "lc_messages": "ja_JP.SJIS"
initdb: failed になりました。この場合は、どこを直せばいいのでしょうか?
0203NAME IS NULL
2005/07/25(月) 01:42:47ID:???initdb --no-locale
0204NAME IS NULL
2005/07/25(月) 02:03:26ID:p8MjnKxuinitdb上手くいきました!!ありがとうございます。
postmasterを起動させて、データベースを作成しようとしたのですが、
createdb: could not connect to database template1: could not
connect to server:
Connection refused
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
ってでてきました。。これって、どこかの設定が間違っているんでしょうか?
0205NAME IS NULL
2005/07/25(月) 02:48:32ID:???createdb の引数は?あと環境変数も
0206NAME IS NULL
2005/07/25(月) 02:49:31ID:???>>198
0207206
2005/07/25(月) 02:51:38ID:???でも、起動してなさそうな。
0208NAME IS NULL
2005/07/25(月) 14:32:22ID:p8MjnKxupostmasterは、pg_ctl startで起動させました。
postmaster -D /usr/local/pgsql/src/dataでも試してみました。
createdbの引数は -D /usr/local/pgsql/src/data &
です。環境変数は PGDATA /usr/local/pgsql/src/data
です。何か、付け足したりしたほうが良いです?
0209NAME IS NULL
2005/07/25(月) 14:57:38ID:???もしくは、 -h オプションで localhost 指定するとか。
psql -l で template1 は見える?
0210NAME IS NULL
2005/07/25(月) 19:47:53ID:lxjOBCDxどうすれば良いですか?
timestamp1, timestamp2, timestamp3 があって
この中の最新時刻を更新日として取得したい
ARRAY[timestamp1,..2,..3] として、配列中の最大値をMAXで取れないか試したけど
駄目でした
postgreSQL 8.0.3 Windows です
MySQLだと GREATEST()関数で取れたんですけどね
0211NAME IS NULL
2005/07/25(月) 23:02:50ID:???SELECT
CASE
WHEN timestamp1>timestamp2 AND timestamp1>timestamp3 THEN timestamp1
WHEN timestamp2>timestamp3 THEN timestamp2
ELSE timestamp3
END AS maxtimestamp
FROM (サブクエリ);
カラムが増えると大変だなぁ。なんかもっといい方法があった気が
しないわけでもないが。
0212210
2005/07/26(火) 20:38:05ID:B94I8OhdARRAY[a.更新日,
case when b.更新日<>$ts then b.更新日 else $ts end,
case when c.更新日<>$ts then c.更新日 else $ts end,
case when d.更新日<>$ts then d.更新日 else $ts end
] AS 更新日,
のようにして配列で取得し、perl側で最大値を選択するようにして実現しました
配列の要素に1つでもNULLがあると、配列全体がNULLになるようですね
最初これが原因で配列が取れなくて時間掛かった
0213NAME IS NULL
2005/08/02(火) 16:09:11ID:???インストールしようとしたのですが、
「次へ」をクリックして行き、"サービス構成"のところで、
パスワードを入力せずに「次へ」を押しました。
すると自動的にパスワードが生成されたのですが、
このパスワードがどこにあるのかわかりません・・・。
インストールを途中で中断して、また最初からやりなおそうとしているのですが、
"サービス構成"のところで、パスワードが間違っているといわれ、
インストールが先に進まなくなってしまいました。
自動生成されたパスワードを知るか、もしくは、最初からやりなおしたいのですが、
どうすればよいのでしょうか?
postgresql-8.0-ja.msi
↑このファイルをダブルクリックしてインストールしようとしています。
8.0.3です
0214213
2005/08/02(火) 16:25:05ID:???ご迷惑をおかけしました
0215NAME IS NULL
2005/08/04(木) 16:03:52ID:???コントロールパネルの管理ツール-コンピュータの管理-ローカル ユーザとグループ-ユーザにて
postgresユーザを消せばOK。パスワード再設定でもいいと思うけど試したことない。
0216NAME IS NULL
2005/08/23(火) 06:23:52ID:???これからの時代はアナルポッキーか
0217NAME IS NULL
2005/08/26(金) 16:16:06ID:RDFB6LxWファイルシステムバックアップ(要はデータフォルダのコピー)を試しているのですが、
これのリストア方法をご存知の方知っている方いらっしゃいますか?
単純にdataフォルダを戻すだけでは、内部エラーでサービスが起動しませんでした。
0218NAME IS NULL
2005/08/26(金) 16:37:08ID:RY8JCKjP韓国の大手テレビ局が8月15日のニュースで報道した「旧日本軍による生体実験」番組が、実は真っ赤なウソ、中国映画の盗用でっち上げだった。
韓国のマスコミは反日番組で、この種のでっち上げ「歴史歪曲(わいきょく)」をよく行うが、今回の事件で 「日本糾弾ならウソも平気」 という腐敗体質が改めて確認された。
番組では戦前、旧日本軍731部隊の実験の様子を「白黒の記録フィルム風」に紹介したが、視聴者から「映画の場面と同じだ」と抗議の声が上がり、悪質なでっち上げが露呈した。
この中国映画はカラー作品だが、テレビでは本物に見せかけて「白黒」に変えられており、意図的なでっち上げであることは明白。
日本の民主党(岡田党首)は、日本国内に数十万人もいる反日的な在日韓国・朝鮮人に日本の選挙権を与え、民主党に投票させようと画策している。
在日韓国・朝鮮人の大部分は、戦後のドサクサで密入国した不法滞在者とその子孫だが、強制連行されたとウソをついて被害者のフリをし、日本国内に居座って税金も払わず、毎月二十数万円の生活保護をもらい、ぶらぶら遊んで暮らしている。
0219NAME IS NULL
2005/08/26(金) 23:55:45ID:???マニュアルくらい読んでからバックアップしようね
0220NAME IS NULL
2005/08/27(土) 04:44:49ID:xofK+FfR0221NAME IS NULL
2005/08/28(日) 20:56:05ID:???バックアップしたものをリストアしようとすると
文字化けでエラーになってしまいます。
テーブルの文字コードがEUC_JPなのでそれが原因だとは
思われるのですが、EUC_JPのテーブルをpdAdminでバックアップ
するのは無理なんでしょうか?
0222NAME IS NULL
2005/08/28(日) 22:11:49ID:???今のところずっと使ってるが特に問題は出てないな
0223NAME IS NULL
2005/08/29(月) 11:41:29ID:???概ねドーイ
でも、メモリリークしてたりしないかね?
しばらく使ってるとスワップが多発するのだが。。。
一緒に使ってるEclipseかもしれん。
0225NAME IS NULL
2005/09/05(月) 23:30:14ID:???以下コピペ。
VB6で、refreshかけるとwindows上のプロセス(postgreSQL)が増え続けます。
原因は何でしょうか。
ちなみにexe終了すれば増え続けたプロセスは一気に開放されます。
- 環境 -
w2ksp4
vb6sp6
DB:PostgreSQL8.0.3
VB歴3週間
Private Sub Command1_Click()
Adodc1.Refresh ←このタイミングで増える。
End Sub
Private Sub Form_Load()
Adodc1.ConnectionString = _
"Provider=PostgreSQL.1;Password=postgres;User ID=postgres;" & _
"Data Source=localhost;Location=DB_name" & _
Adodc1.RecordSource = "table_name"
End Sub
Private Sub Form_Unload(Cancel As Integer)
Unload Me
End Sub
0226NAME IS NULL
2005/09/06(火) 05:09:21ID:???VBのことなんぞわからんが、単純に接続増やしてるだけなんじゃないの?
増えた分閉じてるのか?
0227225
2005/09/06(火) 08:06:10ID:7nT6CzOzなので、ポスグレ固有の何かがあるのかなーとおもいまして。
0228NAME IS NULL
2005/09/06(火) 11:32:21ID:VN8kHZyv日本語で使えますか?
0229NAME IS NULL
2005/09/06(火) 20:40:01ID:599rx19xだから向こうのスレで書いたんだが。
SQLサーバは多分サーバが接続をスレッドで受けるけど、こっちはプロセスで受けてる。
あとはADOとODBCの仕様になるが、ADOのリフレッシュを見ると、開くまたは開きなおすと書いてある。
この開きなおすに閉じる動作が入ってるかを疑って、リフレッシュ前に一旦クローズなんど突っ込んでみては?
0230NAME IS NULL
2005/09/06(火) 22:23:06ID:???俺もそう思ったんだが、いちいち閉じてたらリフレッシュ呼ぶ意味がないんだろーなー
0231225
2005/09/07(水) 10:34:04ID:???Closeをいれても変化なしです。
というより、
前述のコードではDB接続してるのはRefreshの瞬間だけなので
その前にCloseすることは出来ません。
大本になってるコードがあるのですが
(それはRefreshより前に明示的にConnectionしてある)
そちらで無理やりクローズしたところ
Refreshもされず、その後の動作に異常が発生→エラートラップに引っかかる
といったかんじです。
0232NAME IS NULL
2005/09/07(水) 11:40:50ID:???おもしろそうなので、やってみた。
Postgres8.0.1 → Refreshの瞬間にプロセスが増えてすぐに元に戻る
Postgres8.0.3 → Refreshの度にプロセスが増え続ける
8.0.2は環境がなかったので未確認。
Postgres本体 or ADOドライバのバグかもね。
Postgres-MLにでも投げてみたら?
0234NAME IS NULL
2005/09/08(木) 02:10:28ID:???つかったことないが
ttp://www.oss.ecl.ntt.co.jp/
0235NAME IS NULL
2005/09/13(火) 14:55:18ID:???8.0をWin2Kに入れたのですが、perlからアクセスする方法がわかりませぬ。
以前使っていたmysqlのときは、
c:\perl\ > ppm
PPM > install DBI
PPM > install DBD-MySQL
というかんじでモジュールを入れたのですが、今回はどういうものを入れれば委員でしょう?
PPM > install DBD-PgSQL
PPM > install DBD-PgSPI
などと当てずっぽうでやってみましたが、not foundですた・・・
よろしくおながいします。
0236NAME IS NULL
2005/09/13(火) 15:37:51ID:???http://www.google.co.jp/search?hl=ja&c2coff=1&q=Perl+ppm+PostgreSQL&lr=
0237NAME IS NULL
2005/09/13(火) 17:39:46ID:???探すの下手な俺orz
0238NAME IS NULL
2005/09/21(水) 13:10:14ID:???0239NAME IS NULL
2005/10/07(金) 16:50:08ID:5guy/VMJserver_encodingが"EUC_JP"なので、
日本語を含んだクエリを投げるとエラーが出る↓
ERROR: 22021: invalid byte sequence for encoding "EUC_JP": 0x8341
で、.NET側でEUC_JPに変換してから投げようと思うんだけど、
GetEncoding("euc-jp")で System.Byte[] 型にして、
この先どうしたらいいかわからん。。なんかもう泣きそう
誰か親切な人、教えてください
0240239
2005/10/07(金) 17:20:23ID:???Npgsqlのドキュメントを読んでいたら、
Connection String parametersの中に Encoding とあった
早速、Connectの接続文字列に「Encoding=Shift_JIS」と設定してやったら
うまく行くようになった。ここまで2日潰したけど_| ̄|○
あぁ、ドキュメントって読むもんだなと思った秋の夕暮れ
.NETからPostgresに接続するなら Npgsql マジでオススメ。
ADO.NET準拠だから OracleClient と同じ感覚で使える。
0241239
2005/10/07(金) 21:32:01ID:???書き間違えてました
.NETだから、Shift_JIS じゃなくて UNICODE ですね。
client_encodingで指定してやら無くても、↓こんな感じで逝けます
conn.ConnectionString =
"SERVER=localhost;DATABASE=hoge;ID=hoge;PASSWORD=hoge;Encoding=UNICODE;"
0242NAME IS NULL
2005/10/08(土) 06:28:55ID:???0243NAME IS NULL
2005/10/11(火) 15:41:02ID:jw2nGrQtWindows起動後にタスクマネージャー見ると
postgres.exe(5個ぐらい)
pg_ctl.exe
postmaster.exe
って勝手に何個もプロセスが起動してる。
使う時だけ起動したいんだけど、どうするの?
WindowsXP Pro SP2
0244NAME IS NULL
2005/10/11(火) 15:50:35ID:???スタートメニューのPostgreSQLのところに、
サービスの起動、サービスの停止ってあるだろ。
使いたいとき以外は、停止させておけばいいよ。
0245NAME IS NULL
2005/10/11(火) 16:01:37ID:???起動時に実行させないようにしたいんだけど。
毎回手でスタートメニューからサービス停止をクリックしないとダメぽ?
0246NAME IS NULL
2005/10/11(火) 16:23:37ID:???Windowsの基本的な使い方は板違いかと。
「windows サービス 起動 停止」でググってみ
0247NAME IS NULL
2005/10/11(火) 16:29:48ID:???ポカーン
0248NAME IS NULL
2005/10/11(火) 16:34:42ID:???スタートアップの種類を「手動」に変えれ。
変えた後は、回線切って吊ってこい
0249NAME IS NULL
2005/10/11(火) 16:37:47ID:jw2nGrQt了解
とりあえず吊ってくる。
それからだな
0250NAME IS NULL
2005/10/12(水) 15:16:20ID:w0CXzOKJvacuumdb , pg_dumpを定期的に実行するシェルを作りました。
いざ実行してみるとvacuumdbでパスワードを聞かれるのでそこでとまってしまいます。
パスワードを聞かれない方法またはオプションから渡す方法はありますでしょうか?
0251NAME IS NULL
2005/10/12(水) 15:26:45ID:???そのシェルスクリプト内で環境変数 PGPASSWORD に設定すればオケ。
#!/bin/sh
PGPASSWORD=パスワード
export PGPASSWORD
/path/vacuumdb xxxx とか
/path/pg_dump xxx など
0252NAME IS NULL
2005/10/12(水) 16:17:35ID:yHibahQHできませんでした。
ありがとうございました
0253250
2005/10/12(水) 18:15:57ID:???0254NAME IS NULL
2005/10/13(木) 03:29:53ID:???cronを実行してるユーザの問題かねえ?
0255NAME IS NULL
2005/10/13(木) 03:34:10ID:???>>252
cronを実行してるユーザの問題かねえ?
それとも環境変数PGUSER=ユーザ名が無いせいか?
0256NAME IS NULL
2005/10/13(木) 16:15:31ID:???WindowsXP & VB6
もしくは
WindowsXP & VB.NET2003
からLinuxDBサーバ上にあるポスグレ8に接続する時に
何か特別な事ってある?
Windowsサーバにテストでインスコしたポスグレには普通に繋げてるんだけど・・
0257NAME IS NULL
2005/10/14(金) 00:24:27ID:???じつは8.0とか8.0.1を使っているとか
0258NAME IS NULL
2005/10/16(日) 06:50:40ID:???外部から接続できるように設定汁
0259NAME IS NULL
2005/10/16(日) 10:41:48ID:???0260NAME IS NULL
2005/10/17(月) 17:37:35ID:???>259
「Windowsサーバにテストでインスコしたポスグレには普通に繋げてるんだけど・・」
ということなので、その辺はクリアしている、と思いたい。
であれば「何か特別な事」はない。
0261NAME IS NULL
2005/10/18(火) 03:03:22ID:???Win鯖に接続って同一PC上でやってるだけだと思うけどな
質問者が戻ってこないのできっとうごいたんだろ
0262NAME IS NULL
2005/10/18(火) 12:15:19ID:???クライアント環境がWinXPってあったからさ・・・
XPシリーズにサーバーってないっしょ。
どうでもいいか。動いたんだろ。
0263NAME IS NULL
2005/11/20(日) 06:34:04ID:2zcdASaWpostgresql-8.1-ja.msiを起動して、
任意のアカウント入力後
パスワードを入力してインストールを開始すると、
「内部のアカウント探索に失敗しました:アカウント名とセキュリティID
の間のマッピングは実行されませんでした」「致命的なエラー」
とエラーが出てインジケータが逆戻り。
アカウントはPC管理者権限のものでも試してみてもダメです。
どなたか分かる方いたら教えてください。
0264263
2005/11/20(日) 06:35:53ID:???0265NAME IS NULL
2005/11/20(日) 07:01:04ID:???Administrator権限がないユーザでWindowsにログインしてない?
0266263
2005/11/20(日) 08:25:09ID:???0267NAME IS NULL
2005/11/20(日) 08:36:58ID:aQbjk/iW同じ経験あり
俺の場合、専用のユーザ作った
どうもAdminユーザではPostgres起動できないみたいなことをどこかで読んで(つーかインストール時にでてくるエラーで、俺はそう言う意味に読み取ったんだよたしか)
専用のユーザ作って、インストール時にでてくるユーザ入力欄にそのユーザ入力して(つーか最初からpostgresになっているはず)インストール成功
で、その後は普通にAdminユーザでもなんでもPostgres起動できるわざわざ作ったユーザでなくてもOK
どうも、こういう経緯でインストール成功したということで単純に「Windowsのユーザ作成(postgresユーザ)」に失敗しているとしか思えない
それはそうと、このスレの下にあるPostgresのスレの748なのですが誰かわかる人いたら教えてください(泣
0268263
2005/11/21(月) 23:23:05ID:BD+L+6jBでもアカウントの作成はやっぱりできませんでした。
XPのユーザーアカウントを新規作成
→Postgresのサービスアカウント名欄に新規作成したXPのアカウント名を入力。
→Postgres内部のサーバー管理用アカウントにpostgresを入力
エラー
「内部のアカウント探索に失敗しました:アカウント名とセキュリティID
の間のマッピングは実行されませんでした」
サービスアカウントのユーザ名と、Postgres管理用アカウント(postgres)を
入れ替えてみてもダメ。両方を同じアカウント名にすると
「アカウント名が既に生成されています〜」という旨のエラーが出て失敗。
ドメイン名に問題があるのかなんなのか…原因が分かりませんでした。
そこで、インストール画面の途中に出てくる「サービスアカウントを作成する」のチェックボックスを
オフにしたところ、何の問題も無くインストールすることができました。
ホントはダメなんでしょうけど、個人でのローカルな使用なので無事インストール完了ということで…
0269NAME IS NULL
2005/11/22(火) 13:54:09ID:???こんなもん、わかってればなんてこと無いんだけど
ユーザー管理したこと無いとひっかかるもんなんだな
0270NAME IS NULL
2005/11/22(火) 14:01:44ID:???知り合いも一度セットアップに失敗した後
ユーザーの問題でずっと失敗し続けていた
ORACLEマスターのように無駄に費用かけるより、
この資格とってとりあえずDBのスキルとするほうが懸命に思えてきた。
0272NAME IS NULL
2005/11/25(金) 00:17:29ID:???業務系みればいくらでも
0273NAME IS NULL
2005/12/15(木) 18:40:30ID:+ouoDcGkあがってけろ
0274NAME IS NULL
2005/12/16(金) 07:08:13ID:vm7yBoZ9これ、colに入ってるのが半角だったらうまく通るんだけど、マルチバイト文字だと
重複したレコードが帰ってきてしまう。
これって、設定とかで回避できるんですかね。
ちなみに、Windows用の8.0.1です。
0275NAME IS NULL
2005/12/16(金) 09:26:17ID:???おそらくロケールがC以外になってると思う
no-localeでdb作り直すと治る
0276NAME IS NULL
2005/12/16(金) 09:46:29ID:???サンクス!
やってみます。
0277NAME IS NULL
2005/12/21(水) 16:21:46ID:8BF8onPp一度インストールして運用してたDBを別のDBにデータごとコピーしたいんですがどうすればいいでしょうか?
OS入れなおしたせいで、ソフトは入ってない状況になってます
ちなみにOSはwindows2kです
インストール→フォルダをコピー
とかでいけそうな気はするんですけど、誰か情報もってませんか
0278NAME IS NULL
2005/12/21(水) 19:01:17ID:???そうでないなら、同じ条件のPostgreSQLを入れなおして
そのフォルダをpg_dump等でダンプしてテキストファイルに落とせば
任意のPostgreSQLに入れなおしできる
0280NAME IS NULL
2005/12/21(水) 22:37:09ID:???フォルダをコピーしてみろ。
linux だといける。
win はしらんが、でもたぶんいけるだろ。
0281277
2005/12/21(水) 23:01:07ID:???どこか設定ないか調べてみます・・・
0282NAME IS NULL
2005/12/21(水) 23:04:10ID:???0283277
2005/12/21(水) 23:16:01ID:???やってみます!
先にPostgreSQLフォルダごとインストールフォルダに突っ込んで
上からインストールすればいいんですよね?
0284277
2005/12/21(水) 23:50:19ID:???インストール途中一回質問が増えたけどそれ以外は問題なくインストールできました
ありがとうございます
0285NAME IS NULL
2005/12/22(木) 12:29:50ID:???ttp://jp.sun.com/
0286NAME IS NULL
2006/01/19(木) 18:13:25ID:WGWyvXtsデータベースに接続する Winアプリを作っています.
Visual Studio 2003 環境で製作しているアプリの中で
データベースに SQL を飛ばすところで
TRACE を表示するコンソールに
Warning: ODBC Success With Info on field 4.
The buffer was too small for the GetData.
というのが大量に出て,
アプリがかたまってしまう症状に困っています.
Web で検索しても情報がなく
どのように対処すればいいのかわかりません
0287NAME IS NULL
2006/02/03(金) 17:02:27ID:???0288NAME IS NULL
2006/02/06(月) 08:17:28ID:???0289NAME IS NULL
2006/02/06(月) 09:21:39ID:???それだけかよ!もっとkwsk
0290NAME IS NULL
2006/02/06(月) 10:25:18ID:???0291NAME IS NULL
2006/02/06(月) 10:36:36ID:???非Windowsと同じやりかたでできるけど。
path指定が、'C:\\foo\\bar' みたいになるけどな。
0292NAME IS NULL
2006/02/06(月) 10:47:26ID:???ありがと。
バックスラッシュはエスケープってことか。
ついでに自爆、ディレクトリのセキュリティ設定でひっかかって。。。。orz
0293NAME IS NULL
2006/02/06(月) 12:44:51ID:???もしかしたらどちらでもいけるのかも。
ドライブ名はどうなるかなあ
0294NAME IS NULL
2006/02/17(金) 11:59:02ID:72xXMt8e0295NAME IS NULL
2006/02/17(金) 12:12:16ID:???pg_dumpall > filename
サービスの停止
8.1のインストール
initdb
起動
psql < filename
の手順でできます。
0296NAME IS NULL
2006/02/17(金) 15:19:43ID:72xXMt8e0297NAME IS NULL
2006/02/17(金) 15:26:59ID:???ほぼ同じかな。ユーザーとかTABLESPACEとかは手作業でやるのなら。
0298NAME IS NULL
2006/02/18(土) 01:31:48ID:???http://www.tohoku.postgresql.jp/index.php?8.0Winto8.1Win
0299NAME IS NULL
2006/02/18(土) 16:39:40ID:???0300NAME IS NULL
2006/02/22(水) 17:54:07ID:A0xJBZ7m8.0→8.1へのアップデートですか、pgadminVでバックアップとってリストアしたら
出来た様子です。
リストア中に色々メッセージが出てきたのですが、8.1のデータベースの内容が8.0と同じに
なったのでよしとします。
0301NAME IS NULL
2006/03/09(木) 17:45:29ID:???代わりになる機能ってあります?
0302NAME IS NULL
2006/03/09(木) 17:53:13ID:???CREATE TABLE 時には SERIAL を指定すればいい。
0303NAME IS NULL
2006/03/09(木) 18:01:27ID:???ありがとうございます
0304NAME IS NULL
2006/03/18(土) 21:13:31ID:sa7ItIyD「指導的ヒントーサーバーは閉じています。」となってしまいます。
初心者で申し訳ありませんが、どうか、解決策を教えてください。
0305NAME IS NULL
2006/03/20(月) 03:06:51ID:???試しにサーバ名をlocalhostでやってみるとどうなる?
0306NAME IS NULL
2006/03/21(火) 20:51:49ID:TsAQfPS2一日たつと、また「サーバーの接続に失敗しました」で「指導的ヒントーサーバーは閉じています。」
と出てしまいます。
0307NAME IS NULL
2006/03/21(火) 22:12:37ID:???localhostでOKならpg_hba.confかpostgresql.confだし
ダメならファイヤーウォールかサーバー起動してない
と言えるが、前はつながった、とかじゃそれも言えない
つながった時から何も変えてないんだよな?
まずサービス動いてるか確認してくれ
0308NAME IS NULL
2006/03/22(水) 23:21:37ID:Io+T3q8U何が原因なのかほんとさっぱりで。
0309NAME IS NULL
2006/03/22(水) 23:37:47ID:XOjDI7emお前解決する気ないだろ?
0310NAME IS NULL
2006/03/23(木) 10:04:46ID:???「サービスとアプリケーション」からサービスを選び
PostgreSQL Database Server X.X.X というとこを探して
状態が「開始」になってるか確認するんだよ。
netstat -a とか -an とか -aon で5432ポートでLISTENしてるか確認してもいい
0311NAME IS NULL
2006/03/23(木) 21:00:17ID:1XjPFJqa見たら、停止になってて開始にしてもならないです。
0312NAME IS NULL
2006/03/23(木) 21:03:34ID:1XjPFJqa一部のサービスは作業がない場合に自動的に停止します。」と出ました。
0313NAME IS NULL
2006/03/23(木) 21:47:47ID:???教えて君のガイドラインでも参考にしてんのか?
君には脳みそついてるか?
検索の仕方知ってるか?
0314NAME IS NULL
2006/03/23(木) 22:18:54ID:1XjPFJqa0315NAME IS NULL
2006/03/24(金) 09:42:01ID:???めんどくさいから再インストールしたほうが・・
0316NAME IS NULL
2006/03/24(金) 22:50:08ID:qWPzMu34丁寧に答えていただき、ありがとうございました。
0317NAME IS NULL
2006/04/03(月) 17:34:21ID:???0318NAME IS NULL
2006/04/03(月) 20:46:26ID:???0319NAME IS NULL
2006/04/04(火) 10:30:36ID:???0320NAME IS NULL
2006/04/20(木) 15:31:35ID:16+K09ioPostgreSQL 8.1.3 Windows版だと、
VB6 SP6 で、
-----------------------------------------
Dim WithEvents adoPrimaryRS As Recordset
-----------------------------------------
上記のようにADOを利用し、下記の
-----------------------------------------
adoPrimaryRS.UpdateBatch adAffectAll
-----------------------------------------
を実行する個所で、
『更新に必要なベース テーブル情報が足りません。』
が、出てしまいます。
ADOのRecordset での、SELETなど参照は問題ありません。
INSERTやUPDATE文をExecute発行する場合は、問題ありません。
どなたか、ご存知の方いますか?
同様に再現しますか?
commit でデータが失われるバグの可能性は、怖いけど、
しばらくは、8.0.3 のままで利用するしかないなぁ。。。
ベーステーブル情報っていう意味もよくわからない。。。(^^;
0321NAME IS NULL
2006/05/05(金) 04:38:44ID:hFm972qWpg_dump or pg_dumpall or その他、など。
pg_dump -c と pg_dump -s の組み合わせて取っているんですが、
他にどんな運用の仕方があるかな?と思って。
Restore も実施して確認はしているのですが、本当の障害にぶち当たったことが無く、
実戦経験のある方の意見としてはどうでしょうか?
0322NAME IS NULL
2006/05/05(金) 04:39:30ID:???○pg_dumpall -s
でした。ごめんなさい。
0323NAME IS NULL
2006/05/26(金) 19:05:06ID:4SSfJU7w0324NAME IS NULL
2006/06/09(金) 14:11:05ID:3rf6lNcE自己レスです。
PostgreSQL 8.1.4 Windows版 でも修正されていないようです。
早く修正してくれよぉ。。。(T_T)
0325NAME IS NULL
2006/06/09(金) 19:26:52ID:???そう思うならここより、本家かMLかにでも投稿したほうがいいかと
0326NAME IS NULL
2006/06/09(金) 19:30:35ID:???貴重なフィードバックありがとうございました。
本日バグフィックスに取り掛からせていただきます。
来週リリース予定のパッチに間に合うかと思います。
0327NAME IS NULL
2006/06/09(金) 22:46:10ID:???ん?ほんとに関係者?
せめて、トリップつけるか名前名乗ったら?
0328NAME IS NULL
2006/06/12(月) 06:05:47ID:lad+ZLVdって言いたい。
デグレードくらい、早ょ、自分で気づけよっ(*´З`)
0329NAME IS NULL
2006/06/13(火) 19:48:23ID:???0330NAME IS NULL
2006/06/29(木) 13:37:09ID:???0331NAME IS NULL
2006/06/29(木) 14:06:06ID:???0332NAME IS NULL
2006/06/30(金) 15:17:21ID:???0333NAME IS NULL
2006/06/30(金) 19:43:22ID:???0334NAME IS NULL
2006/07/03(月) 14:25:05ID:???0335NAME IS NULL
2006/07/03(月) 17:02:25ID:???GOOGLE MAPで探したのですが、見つかりませんでした。
0336NAME IS NULL
2006/07/03(月) 19:47:42ID:???さすれば、経路を表示してくれます。
ときどき遠回りな経路を選択することがありますが、
到着できないことは無いので、気にする必要はないでしょう。
0337NAME IS NULL
2006/07/13(木) 12:43:33ID:MswwkVXJと同じ現象なのですが、%windir%\system32 にパスを通すとはどの様に
すればいいのでしょうか??教えて下さい。<(_ _)>
0338NAME IS NULL
2006/07/13(木) 12:48:37ID:???普通 %windir%\system32 にパスは通っていると思うけど。
cmd で echo %PATH% ってしてみ?
0339NAME IS NULL
2006/07/13(木) 14:56:14ID:???が無いのかも??
ちなみに、 %windir% は多くの場合XPでは C:\Windows\
0340NAME IS NULL
2006/08/22(火) 19:20:27ID:Nir9JARkテーブルへデータを挿入したあと、Enterキーを
押すとそのつどエラーが生じます。
いったいなぜなんでしょう?初心者ですみません。ご教授ください。
0341NAME IS NULL
2006/08/22(火) 20:11:38ID:???エンターをどこで押したかによるけど
次のレコードにカーソルが移動してて、そこに空のレコード入れようとしたとかじゃないのかな
0342NAME IS NULL
2006/08/22(火) 20:38:03ID:k5T9Sk6nとあるアプリを入れようとすると、libpq.so.3が見つからないと叱られます。
ネットを適当に検索すると、libpq.so.3は7.4系列でないとインストールされないというレスもあるのですが、本当でしょうか?
0343NAME IS NULL
2006/08/23(水) 09:48:33ID:???8.1.0 には3.1があるみたいだけど、8.1.2では4.0になってるみたいだな。
PG_HOME/lib はどうなってんの?
0344NAME IS NULL
2006/08/23(水) 10:11:01ID:ailSN2Wmエラーが起こりました:
ERROR: array value must start with "{" or dimesion information
というエラーです。
0345NAME IS NULL
2006/08/23(水) 11:23:10ID:???それは配列型のカラムがあるんじゃない?
配列方の入力は、{} で囲む。
{1,2,3} とか {'a','b'} とか。項目1つでも必要
0346NAME IS NULL
2006/08/23(水) 11:23:50ID:ailSN2Wm×社員表 レコード挿入時エラーあり(改行できない)
0347NAME IS NULL
2006/08/23(水) 11:56:54ID:ailSN2Wm社員コード int4
社員名 text
部署コード int4
朝礼担当日 date
どれが配列型でしょうか?
0348NAME IS NULL
2006/08/23(水) 12:07:29ID:???配列は、後ろに [] がついてるはずだが、、、(int4[] とか text[] とか)
もしかしてバージョンの違いとかでおかしくなってる?
0349NAME IS NULL
2006/08/23(水) 12:41:20ID:ailSN2Wm0350NAME IS NULL
2006/08/23(水) 12:43:02ID:ailSN2Wm0351NAME IS NULL
2006/08/23(水) 12:45:55ID:ailSN2Wm{2006/02/12}と入力したら{2006-02-12}で格納できました。
改行も出来ました。ありがとうございます。>>348
0352NAME IS NULL
2006/08/23(水) 13:15:46ID:m1i6bZ4E8.1.0をsrcよりbuildしてみたけど、libpq.so.3では無く、libpq.so.4になったましたです。
0353NAME IS NULL
2006/08/23(水) 14:43:57ID:???リンク貼ってごまかせんかな
0354NAME IS NULL
2006/08/23(水) 15:17:59ID:???そうですね。
「libpq.so.3 => not found」と表示されます。
どこかから適当にlibpq.so.3を引っ張ってきて、PG_HOME/libに放り込むというのは,,,ダメなのでしょうか。
0355NAME IS NULL
2006/08/23(水) 15:33:25ID:???7.X と8.0、8.0.Xと 8.1.X はかなりかわってるので、元ソフトをなんとかしたほうがいいような
0356NAME IS NULL
2006/08/23(水) 16:01:03ID:???了解です。その方向で攻めてみます。
でも、そのソフトは8.1.Xで動くらしいのですよ。
いい加減な作り方をしたのかなぁ...?
0357NAME IS NULL
2006/08/26(土) 17:10:28ID:dqbcAN+3できますか? 最近Postgreに浮気しようかと考えています
0358NAME IS NULL
2006/08/27(日) 12:03:50ID:???0359NAME IS NULL
2006/08/28(月) 15:34:02ID:???「PostgreSQLの構築時、スレッドセーフは有効にして下さい。」
との指示を受けたのですが、いまいち該当する文書が見つかりません。
これはいったい何をせよということでしょうか。
0360NAME IS NULL
2006/08/28(月) 16:07:15ID:???構築ってコンパイルのことでしょ?
configure のオプションに入れる
--enable-thread-safety の事じゃないのかな?
0361NAME IS NULL
2006/08/28(月) 16:10:29ID:???なるほど。そういうオプションがあるのか。ありがとうございます。やってみます。
つか、DBなんてそもそもスレッドセーフなのかと思ってました。
0362NAME IS NULL
2006/08/28(月) 16:20:50ID:???過去の互換性でこうなってるのかもね。
0363NAME IS NULL
2006/08/28(月) 20:22:44ID:X2MvAZKeどうしても文字化けします。
postgresql.confやphp.iniの内容を書き換えたり
pgAdminVのバックエンド構成エディタでpostgresql.conf
の内容を書き直してもどうしても、文字化けします。
psqlでset client_encodingを使ってデータを挿入しても文字化けします。
phpファイルの中でmb_convert_encoding($変数,"EUC-JP","SJIS")関数を使っても、
やっぱり文字化けします。
データベースの内容をwindowsのブラウザで表示させようとするとどうしても
文字化けします。
いったいどうしたらよいでしょうか?
0364NAME IS NULL
2006/08/29(火) 00:20:30ID:???文字化けしないようにしたらいいよ
いらないことばっかり書いて情報すくなすぎ
DBの文字コードは何になってんの?
DBに格納されてるときのデータはよめてるの?
エンコード・でコードしてもだめ?
0365NAME IS NULL
2006/08/29(火) 01:19:28ID:7wbP8C3MDB文字コード=UNICODE
DB文字コード=EUC-JP
(どちらでも以下を試しました)
1
mb_convert_encoding($変数,"EUC-JP","SJIS");
2
mb_convert_encoding($変数,"EUC-JP","UTF-8");
3
なにもしない→文字化け
1
mb_convert_encoding($変数,"EUC-JP","SJIS");
2
mb_convert_encoding($変数,"SJIS","UTF-8");
3
mb_convert_encoding($変数,"SJIS","EUC-JP");
postgreSQL.confの内容
client_encoding = euc-jp ハイフンをアンダーバーに変えても試した。
それと、pgAdminばかり利用していてDOS上から接続する方法がわかりません。
どうか教えてくれたらと思っています。
0366NAME IS NULL
2006/08/29(火) 03:55:52ID:???pgadminで、テーブルのぞいてみた?
ちゃんと文字化けせずに格納されてる?
0367NAME IS NULL
2006/08/29(火) 10:01:52ID:aTAQZsLR格納されてます。
psqlでも格納してみたんですが、どちらも
ちゃんと文字化けせずにDBに格納されてます。
時間かかるけど、表を作って確認してみます。
0368367
2006/08/29(火) 15:56:28ID:aTAQZsLR0369NAME IS NULL
2006/08/30(水) 02:34:29ID:???PHPは何で書いてるの?DW?
0370NAME IS NULL
2006/08/30(水) 16:30:04ID:LNqquF8SC:\Documents and Settings\xxx\Application Data\postgresql\pgpass.conf' をオープンできません
(エラー 3: 指定されたパスが見つかりません。)
て出るんだけど、解決法を教えてください。
CじゃなくてDに入れているのですが・・・
0371NAME IS NULL
2006/08/30(水) 16:59:49ID:???インストールしてから移動したのなら入れなおせばいけるかと
0372NAME IS NULL
2006/08/30(水) 17:04:27ID:???SQLを試してみたところ、大文字小文字の区別をされないようだと思ったのですが、pgAdmin IIIのGUI「新しいスキーマ」を作成すると、
「Foo」と「foo」を作成することが出来ました。
これは、これでいいのでしょうか?
もう少しスマートなやり方をご存じのかた、教えてください。
0373NAME IS NULL
2006/08/30(水) 17:07:48ID:???他のスレで書いた気がするが、バックエンドを経由するときに統一される。
区別させたいなら "" でくくる。
pgAdminIIIは、一部それをやってくれる。
0374NAME IS NULL
2006/08/30(水) 17:12:30ID:???おおお。ありがとうございます。
勉強になりました。
0376NAME IS NULL
2006/09/01(金) 15:44:48ID:???0377NAME IS NULL
2006/09/01(金) 16:09:23ID:???1から覚えるならPHPもありかもしれないが。
0378NAME IS NULL
2006/09/01(金) 16:45:36ID:???文法的にはJavaが一番取っつきやすそうだけど、大仰かつリソース食いな雰囲気があるし...。
関係ないけどNpgSQLの配布サイトがつながんネ('A`)
0379NAME IS NULL
2006/09/01(金) 18:28:33ID:???CっぽいPHPもそんなに困らないかもしれない。
まあどれ使うにしても慣れないと環境作るまでが大変だけど。
0380NAME IS NULL
2006/09/03(日) 19:22:30ID:IFPR3xSl0381NAME IS NULL
2006/09/04(月) 00:46:21ID:???それを知ってどうする気だ?
0382NAME IS NULL
2006/09/04(月) 00:49:38ID:???0383NAME IS NULL
2006/09/04(月) 11:25:36ID:???0384NAME IS NULL
2006/09/13(水) 16:14:17ID:Xw0MIhwz日付の取り扱いについて教えていただければと思います。
・データベースに格納されている値
Integer : 1970-01-01 09:00:00 からの経過秒数
・やりたいこと
上記をyyyy-mm-dd hh:mm:ssで得たい。(SELECT文の中で使用する)
・以前は下記のような形式で得ていました。
DATEADD(SECOND,項目名,'1970/01/01 09:00:00')
よろしく、よろしくおねがいいたします。
0385NAME IS NULL
2006/09/13(水) 18:22:29ID:???とかでどう?
0386385
2006/09/13(水) 18:30:56ID:???SELECT to_timestamp(SECOND) FROM ・・・
でOK
0387385
2006/09/13(水) 18:43:30ID:???SELECT to_timestamp(項目名) AT TIME ZONE 'GMT' ・・・
みたいにタイムゾーンは替えることができます。
0388NAME IS NULL
2006/09/13(水) 19:35:00ID:???ありがとうございます。明日出勤したら試してみます。
定時退社するとビールが美味いです。
0389NAME IS NULL
2006/09/14(木) 10:45:03ID:GsHXk29uこれで、どうやら正しい値を表示する事ができました。ありがとうございました。
--日本のタイムゾーンはこれでいいんだよね...。
疑問なのですが、この書式には'1970/01/01 09:00:00'が何故含まれていないのでしょうか。
0390NAME IS NULL
2006/09/14(木) 15:02:38ID:???UNIX時刻とは、1970-01-01 00:00:00GMT からの経過秒のこと。
日本時間だと、1970-01-01 09:00:00JST ですね。
デフォルトがこうなってるなら、タイムゾーン指定無くても-9時間になりますよ。
0391NAME IS NULL
2006/09/14(木) 15:49:43ID:???ありがとうございます。実に勉強になりました。
そうか、根拠の無い定数値ではなかったんだ。。 恥ずかしス
0392NAME IS NULL
2006/09/21(木) 11:14:02ID:EUAu1HPFどんなコンポーネントを使うのが、いいのでしょうか?
0393NAME IS NULL
2006/09/27(水) 11:41:11ID:LTQRh5dBデータベースファイルの場所を指定して、さらにデフォルトのport以外で接続するようにしたいと考えています。
新規作成する場合はcreatedbのオプションを指定するだけで、特にpostgresql.conf等の設定は必要ないのでしょうか。
また、接続ポートを変更する事でありがちな「困ること」ってありますか?
0394NAME IS NULL
2006/09/27(水) 12:05:23ID:???createdb のオプションはすでに起動しているPostgreSQLのポート指定ですよ。
そしてそのポートは、postgresql.confで設定するんですよ。
変えて困ることは特に無いですね。デフォルトを前提にしてるやつがいなければ。
0395NAME IS NULL
2006/09/27(水) 12:27:02ID:???レスありがとうございます。参考になりました。
なんか自分いろいろ混同してるみたいなので、マニュアルもいちど読んできます。
0396NAME IS NULL
2006/09/27(水) 13:45:21ID:???その場所にあるpostgresql.confのポートを変えればいいよ
当然、pg_ctl で複数起動する必要がある
0397NAME IS NULL
2006/09/27(水) 14:11:19ID:???複数?
0398NAME IS NULL
2006/09/27(水) 14:14:02ID:???複数と書いた。
0399NAME IS NULL
2006/09/27(水) 14:54:45ID:???あ、違います。
デフォの5432を塞いで、別のポートで通信を行おうとしているのです。
0401NAME IS NULL
2006/09/29(金) 18:24:40ID:l4uDq3y5http://slashdot.jp/developers/article.pl?sid=06/09/29/079243
0402NAME IS NULL
2006/10/06(金) 13:37:50ID:FCgsBt/iインサートがまるっきり出来ないんですね。
知らなかった。
ショック大。
0403NAME IS NULL
2006/10/06(金) 15:32:46ID:???プライマリだと無理だが
0404NAME IS NULL
2006/10/06(金) 16:24:14ID:FCgsBt/iSQLサーバーEXPRESSにしようと思っていたのですが、
フリーならPOSTGREが良いとソフト屋さんが言うので、
いろいろ検証してて今日わかったのです。
SQLにした方が無難そう。
0405NAME IS NULL
2006/10/06(金) 17:57:46ID:???SQLサーバーで同じ目にあうぞ
0406NAME IS NULL
2006/10/06(金) 18:47:17ID:FCgsBt/iそれ以外のデータは受け入れて欲しいのです。
MSDEとかでテストしていたときは、
そこら辺の動きが、
ACCESSと同じだったと思うのですが、
POSTGREだと、
重複しているデータもしていないデータもまとめて、
何も入らなかったので、
驚いただけです。
おまけに止まってしまうし。
でも使い方に慣れていないせいもあると思いますので、
もう少し研究します。
ご指導、
ありがとうございました。
0407NAME IS NULL
2006/10/06(金) 21:17:56ID:???0408NAME IS NULL
2006/10/08(日) 08:14:37ID:Xqm4zc5y至急調べて勉強します。
ありがとうございました。
0409NAME IS NULL
2006/10/10(火) 14:34:51ID:???トランザクション内でなら当然全てキャンセルされる。
0410NAME IS NULL
2006/10/10(火) 23:22:24ID:???0411NAME IS NULL
2006/10/10(火) 23:40:13ID:???PostgresってDBのクラスタリング - Google 検索
http://www.google.co.jp/search?sourceid=navclient-ff&ie=UTF-8&rls=GGGL,GGGL:2006-26,GGGL:ja&q=Postgres%E3%81%A3%E3%81%A6DB%E3%81%AE%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0
0412NAME IS NULL
2006/10/11(水) 01:03:16ID:???HDDでいうとこのRADE1とかと同じ感じ?
0413NAME IS NULL
2006/10/11(水) 21:07:13ID:???>>RADE1
>>RADE1
>>RADE1
>>RADE1
>>RADE1
>>RADE1
>>RADE1
>>RADE1
>>RADE1
0414NAME IS NULL
2006/10/11(水) 23:18:51ID:???0415NAME IS NULL
2006/10/12(木) 16:16:14ID:JlXlSYD0402です。
ACCESSのリンクテーブルを使って、
伝票番号の範囲を1000枚ずつ区切ってクエリーで追加しようとしました。
途中でエラーになったので、
オリジナルのデータを調べたら、
変な文字が商品名のところに見つかって、
その文字をオリジナルから削除して再挑戦しました。
ある程度追加が終わったテーブルですから、
最初っから実行すれば当然重複キーが出ます。
以上です。
0416NAME IS NULL
2006/10/12(木) 16:19:16ID:JlXlSYD0ACCESSのデータを一件ずつ取り出して、
POSTGRE側のデータをキーチェックして、
存在してなければ一件だけ書き込むという風に変えました。
今実行中で、
一応動いてます。
ちょっと遅い。
0417NAME IS NULL
2006/10/12(木) 16:22:27ID:???明示的にトランザクションにして全キャンセルさせたほうがよかったね
0418NAME IS NULL
2006/10/12(木) 16:59:31ID:JlXlSYD0ちょっと中途半端なやり方になってしまっています。
ACCESSのデータはDAOで一件ずつ読み取って、
そこからキー項目のみを取り出した後、
ODBC接続で ODBC_REC=CN.EXCUTE(SQL)
などとして、
ODBC_RECがEOFなら、
先に取り出したキー項目で、
ACCESSのリンクテーブルのACCESS側から、
同じくリンクテーブルのPOSTGRE側へクエリーで、
キーが一致する一件だけ書き出してます。
ベテランの皆さんが見たら、
ぷっと吹き出しそうな不細工さではないかと思います。
なにせ一件ずつ、
ACCESSのクエリ実行の「.........」が、
高速でちかちかしてますので。
もうちょっと、
考えて見ます。
0419NAME IS NULL
2006/10/12(木) 17:03:15ID:2aaHHgPhなんでじゃ〜なんでじゃ〜なんでやねん
0420NAME IS NULL
2006/10/12(木) 21:15:24ID:???0421NAME IS NULL
2006/10/12(木) 22:37:01ID:???0422NAME IS NULL
2006/10/13(金) 09:09:25ID:UZJ+8m5S419です。
postgreSQL7.4.3はREDHATのES3に入ったんですよ
でも、7.1.2を入れるためにmakeをすると
途中で終了しちゃって最後まで行われないですよ
make checkも途中で終わっちゃって、
無理やりmake installするとdocとmanしかインストールされないですよ
7.4.3なら入るのに・・・
骨董品といわれても仕様なので・・・
0423NAME IS NULL
2006/10/13(金) 09:40:57ID:???多分スレ違いw
ここは8専用でふ。なんで別なのかは知らないけど。
0424NAME IS NULL
2006/10/16(月) 12:37:29ID:???スレ違いならよそでやってるのかな
0425NAME IS NULL
2006/10/18(水) 02:13:35ID:???pgスレはいっぱいあって、一見さんにはちょっと辛いかな。
2.0Betaとかは別スレで話題になってるし。
0426NAME IS NULL
2006/10/18(水) 15:31:53ID:???PostgreSQLについて語ろう where OID=2::oid
http://pc8.2ch.net/test/read.cgi/db/1136805513/
MLヲチ
PostgreSQL & pgsql-jp ML 3テーブル目
http://pc8.2ch.net/test/read.cgi/db/1079771059/
8は、、、普通8.xな現在ではこのスレ無くてもいいような・・・
ベータやRC版用として使えればいいが
0427NAME IS NULL
2006/10/21(土) 18:31:39ID:X+FkhGh4Windows2000+apach2.0.59+php5.1.6+postgreSQL8.1.4でテスト動作まで
確認しました。
このマシンはスペックがプアなんで、DBのみの使用にする為に外部に
WindowsXP-Home+apach2.0.59+php5.1.6のマシンを用意したのですが、
dbにアクセスできません。
postgres.conf
listen_addresses = '*'
pg_hba.conf
host testdb all 192.168.1.24 md5
と変更してます。
接続しようとすると以下のエラーがでます。
「Unable to connect to PostgreSQL server: could not translate host name "192.168.10:5432postgres" to address: Unknown server error in …」
何かヒントをいただけませんか?
0428NAME IS NULL
2006/10/21(土) 18:36:31ID:???0429NAME IS NULL
2006/10/21(土) 18:37:42ID:X+FkhGh40430NAME IS NULL
2006/10/21(土) 22:13:49ID:???単なるIPアドレスの入力間違いじゃね?「192.168.10」て。
0431NAME IS NULL
2006/10/23(月) 10:59:57ID:???0432NAME IS NULL
2006/10/23(月) 14:09:54ID:7g/UfwDXすんません、>>427のエラーメッセージを拾った時はタイプミスがあったんで・・・
実際には「Unable to connect to PostgreSQL server: could not translate host name "192.168.1.24:5432postgres" to address: Unknown host in 」
だす…
0433NAME IS NULL
2006/10/23(月) 16:15:18ID:???"192.168.1.24:5432postgres" の後ろのpostgresは何よ
0434433
2006/10/23(月) 16:16:27ID:???0435NAME IS NULL
2006/10/23(月) 16:38:04ID:7g/UfwDXpostgresはソースの間違いでした
今は
<?
$con = pg_connect("host=192.168.1.24:5432 dbname=postgres user=postgres");
if($con){
echo "connect OK.";
}else{
echo "connect NG.";
}
pg_close($con);
?>
と直してみました。結果、以下のエラーが出ます
「Unable to connect to PostgreSQL server: could not translate host name "192.168.1.24:5432" to address: Unknown host in C:\Apache Group\Apache2\htdocs\test\connectstar.php on line 2
connect NG.」
0436NAME IS NULL
2006/10/23(月) 16:39:15ID:???0437NAME IS NULL
2006/10/23(月) 16:42:18ID:7g/UfwDXphpもrdbも素人なんで的外れな事言ってたらすみません
0438NAME IS NULL
2006/10/23(月) 17:27:46ID:???host=192.168.1.24 port=5432 dbname=・・・
0439NAME IS NULL
2006/10/23(月) 18:09:52ID:7g/UfwDXありがとうございました。
無事接続出来ました。
書式は、どっかのサイトで拾ったサンプルだったんで・・・(^^ゞ
もっと精進します
0440NAME IS NULL
2006/10/24(火) 04:05:48ID:???でもでも、半角空白をデリミタにしちゃうのはちょっと気持ちが悪いな。
素人意見だけど。
0441NAME IS NULL
2006/10/30(月) 17:00:21ID:Oa4WHqKkデータベースクラスタの初期化の画面で、
アドレス(すべてのアドレスでコネクションを受け入れる ただのlocalhostでなく)
ってやつにはチェック入れるべきなんでしょうか?
0442NAME IS NULL
2006/10/30(月) 17:42:39ID:???Windows版か何かでDB初期化するのかな。
どう使うかによるでしょ。
あとでconfいじってもなおせるから適当で。
0443NAME IS NULL
2006/10/30(月) 17:54:28ID:Oa4WHqKkなんかダウンロードの際の入力項目が、いままで使ってたアプリに比べて、異常に多いです。
javaとかだと、初心者サイトで、ダウンロードのフォローもしてくれてるところあったのですが。
ググッたのですが、うまく見つけれません
0444NAME IS NULL
2006/10/30(月) 18:31:23ID:???何のことだかさっぱりわからない。
インストールのこと?
0445NAME IS NULL
2006/10/30(月) 21:08:20ID:???もし>>444が言う様にインストールの事なら、そのチェックは必要無いよ
設定は後でも変更出来るから
的外れだったらゴメン
0446441 443
2006/10/31(火) 05:31:59ID:i6ugXll1>>445
低レベルな質問にお答えいただきありがとうございます。
インストールしようとしたのです。
443に書いたように、インストール時に、あんなに設定しなきゃいけないものを使うのは初めてだったもので。
今までにもあったかもしれませんが、初心者サイトで、そのままやってました。
今回は初心者サイトが見つからなかったので、本屋で入門書を見てきました。
>>445ありがとうございます。本にもそのように書いてました。
とりあえずインストールしてみます。
本は買おうと思ったのですが、た、高いんですね・・・ 手が出なかったです
0447NAME IS NULL
2006/10/31(火) 12:33:00ID:???まあ基本的には安全のためだね。
誰でもアクセスできる状態を気づかずに作ってしまうと面倒だからね
0448NAME IS NULL
2006/10/31(火) 15:51:40ID:???余計な事かもしれませんが、質問する時は動作環境くらい書いた方が良いよ
特にインストール関連だと、WindowsとLinuxでまるで違うからね
0449NAME IS NULL
2006/11/01(水) 15:42:40ID:???ここ、スレタイでWindowsってでかでかと書いてあるから
Windows専門なのかと思う人が多いとは思う
0450NAME IS NULL
2006/11/01(水) 15:43:49ID:???( ゚ Д゚)
( つ旦O
と_)_)
_, ._
( ゚ Д゚) ガシャ
( つ O. __
と_)_) (__()、;.o:。
゚*・:.。
0451NAME IS NULL
2006/11/05(日) 23:34:19ID:???しかしなんつーかWindows....いや ODBCとは相性悪いのぅ・・・
ODBC経由の良品ツールはほとんどスカスカのmysql用。
postgreは個人的に付き合いも長いし、DBとしても使いやすいが
一からWindowsで設計をやろうとするとどのツールも
帯に短し襷に(ry になっちまうのが残念だ。
clay core/DBDesigner4/Enterprise Architecture/SI ER
すべてpostgreだとどっかで制限が掛かる or 使用不可。
0452NAME IS NULL
2006/11/07(火) 18:28:50ID:???0453NAME IS NULL
2006/11/08(水) 02:27:35ID:???そんなあなたに、EMS SQL Management Studio for PostgreSQL
0454NAME IS NULL
2006/11/08(水) 11:58:33ID:???すまんおれは昔からだから、postgresと書くんだが、
最近postgresってなんすかーといカギが多くてな
0455NAME IS NULL
2006/11/08(水) 20:50:15ID:???ところで初代gresってどんなDB?
0456NAME IS NULL
2006/11/09(木) 00:53:14ID:???ingres
0457NAME IS NULL
2006/11/11(土) 14:35:07ID:iC3ZS8DGデータベースクラスタの初期化 チェックが入ってる
ポート番号 5432
アドレス チェックが入ってない
ロケール C
エンコーディング EUC_JP
スーパーユーザ名 postgres
パスワードだけ自分で設定して、あとは初期値のままでいいのでしょうか?
3000円も出して分厚い本買ってきたのに、ここについて詳しく書いてないです。
0458NAME IS NULL
2006/11/11(土) 16:42:11ID:???基本的には何も考えずに進んでも大丈夫だと思うよ
大概の事は後から変更出来る
日本語を扱いたいならロケールは「C」のまま変更しない方が
良いらしいよ
0459457
2006/11/12(日) 01:05:16ID:D0ykjlI7レス感謝します。
変更が聞くなら、初期値のままで進んでみます。
ありがとうございました。
0460NAME IS NULL
2006/11/24(金) 16:53:44ID:???0461NAME IS NULL
2006/11/25(土) 18:12:16ID:???無償。
0462NAME IS NULL
2006/11/25(土) 18:15:33ID:???通っぽい。
0463NAME IS NULL
2006/11/25(土) 18:23:47ID:???MS製品でない。
0464NAME IS NULL
2006/11/27(月) 18:21:07ID:???重要かも(爆
0465NAME IS NULL
2006/12/02(土) 15:12:26ID:rfS7Dolcエラーメッセージも出てないし
0466NAME IS NULL
2006/12/02(土) 15:33:40ID:???それは独り言?
0467NAME IS NULL
2006/12/02(土) 21:38:08ID:rfS7Dolcまあ、そういう問題があるよってこと
0468NAME IS NULL
2006/12/04(月) 11:40:44ID:cYQQ9FVU0469NAME IS NULL
2006/12/05(火) 12:04:28ID:???なんで?ポート1024以下を使うつもりなのかな
0470NAME IS NULL
2006/12/05(火) 12:12:15ID:???0471NAME IS NULL
2006/12/05(火) 12:32:02ID:???わざわざそういうことできないようにしてあるのに理由がわからんと
回避手段も考え付かん
0472NAME IS NULL
2006/12/05(火) 15:37:44ID:X++f+GDB0473NAME IS NULL
2006/12/05(火) 15:39:36ID:???どうしてもやりたいなら、ソースから構築できる環境?
0474NAME IS NULL
2006/12/05(火) 15:45:00ID:gso8sm/E命令ってないでしょうか?
oracleだとROWNUMとかでできるようですが・・・。
0475NAME IS NULL
2006/12/05(火) 16:00:00ID:X++f+GDBその領域は、substコマンドで作成した仮想ドライブで、そのユーザしか見られなくて。。。
手段はソース変更のみってこと?
0476NAME IS NULL
2006/12/05(火) 16:04:54ID:X++f+GDBやりたいことは、PostgreSQLの環境まるごとをUSBメモリなんかに入れて
持ち運びたいので、インストールなしで起動したいってことなんです。
だからできればpostgresユーザも作りたくない。
0477NAME IS NULL
2006/12/05(火) 17:30:15ID:???まあサービスにしないでファイルもエブリワンにしとけばいけるのかな?
USBに置くならSQLiteあたりでええんでないの?
0478NAME IS NULL
2006/12/06(水) 18:17:38ID:???pg_restoreでエラーが出るようになったぞ
8.1.5だと復元できるのに。うーんなんだこれ
0479NAME IS NULL
2006/12/06(水) 18:52:40ID:???EUCの文字コードエラーってのは最近の版で出るようになったな
0480NAME IS NULL
2006/12/06(水) 21:27:29ID:???8.1.4でdumpしたデータをリストアしようとしたんだけど
【8.2.0】だと
pg_restoreからリストアすると
「input file does not appear to be a valid archive」
と出てリストアできない。
psqlからリストアすると上手くいく
【8.1.4】だと
pg_restore、psqlどちらでも上手く行く
どちらも同じdumpデータを使ってる。
これは一体なんだろ・・・
0481NAME IS NULL
2006/12/06(水) 23:30:26ID:???あの、低次元なこと聞くかもしれないのですが、最近webな会社に入ってpostgresを扱うようになったんですが、timestamp型にCURRENT_TIMESTAMPするとμ秒まで入ってしまいますよね?
なのにテーブルの仕様にtimestamp(0)と書かれたのを見たことがないのですが何故なんでしょうか・・・。
0482NAME IS NULL
2006/12/07(木) 09:38:08ID:???0483NAME IS NULL
2006/12/08(金) 05:17:52ID:???というかあえて精度を悪くする理由がよくわからないんだけど
0484481
2006/12/08(金) 07:13:35ID:???>>483
やっぱりそれが普通なんですか。
ググッてもtimestamp(0)ってやってるの出てこなかったし。。
でもそうなると表示する際いちいちμ秒削らなきゃいけないですよね?
それはやはり暗黙了解見たいな感じなんでしょうか。
0485NAME IS NULL
2006/12/08(金) 09:55:38ID:???0486NAME IS NULL
2006/12/08(金) 10:10:03ID:???SELECT (10000 || ' seconds')::interval;
0487NAME IS NULL
2006/12/08(金) 10:55:26ID:???出来ました。ありがとうございました。
0488NAME IS NULL
2006/12/10(日) 09:27:08ID:???上の方でうまくdumpが取り込めないという報告がありましたが、
その後どうだったのでしょうか。
0489NAME IS NULL
2006/12/14(木) 01:10:50ID:6qMOtelV0490NAME IS NULL
2006/12/14(木) 09:48:40ID:???0491NAME IS NULL
2006/12/16(土) 17:46:18ID:???Postgres 7.4.8から8.1.5にバージョンアップ後、
phpMyAdmin4.0.1やpgAdmin3 1.6.1から編集できないテーブルが出来ました。
phpMyAdminの場合は操作一覧(編集/削除)、pgAdmin3の場合はクリックしても無反応。
7.4.8の頃は全てのテーブルで編集も削除できていました。
出来るものと出来ないものの違いはINDEXがあるかないかくらいです。
ちなみにSQLレベルではINSERT/UPDATE/DELETE可能です。
こんな現象になった人はいませんでしょうか?
0492NAME IS NULL
2006/12/16(土) 19:56:01ID:???0493491
2006/12/16(土) 20:29:57ID:???すまそ。phpPgAdminです。
8.1以降OIDがデフォルトで生成されなくなったのですね。
どうやらそのせいのようです。キーをちゃんと指定しろってことですね。
失礼しました。
0494NAME IS NULL
2006/12/17(日) 14:54:06ID:???autocommitのON・OFFにかかわらずそうなのでしょうか?
それともautocommitがONの場合には、ストアドプロシージャ中のSQL文が実行されるたびにコミットされているのでしょうか?
0495NAME IS NULL
2006/12/17(日) 22:06:24ID:7ekSKI67Freebsd
jdk-1.5.0p2_6 Java Development Kit 1.5.0
postgresql-client-8.1.3 PostgreSQL database (client)
postgresql-jdbc-8.1.404 The Java JDBC implementation for PostgreSQL
postgresql-server-8.1.3 The most advanced open-source database available anywhere
な環境で
testdb=# \d ttt_table
Table "public.ttt_table"
Column | Type | Modifiers
-------------+--------------------------+-----------
d_date | date |
d_time | time without time zone |
d_timestamp | timestamp with time zone |
としました。
0496NAME IS NULL
2006/12/17(日) 22:07:07ID:7ekSKI67import java.lang.*;
import java.sql.*;
public class Hizuke {
public static void main(String [] args) {
Connection conn = null;
String url = "jdbc:postgresql:testdb";
String user = "postgres";
String password = "";
String date_field = "2002-11-05";
String time_field = "10:09:35";
String timeStamp_field = "1980-09-21 15:42:13";
try {
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection(url, user, password);
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO ttt_table values (?, ?, ?)");
pstmt.clearParameters();
pstmt.setString(1, date_field);
pstmt.setString(2, time_field);
pstmt.setString(3, timeStamp_field);
pstmt.executeUpdate();
conn.commit();
pstmt.close();
conn.close();
} catch(SQLException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
}
}
}
を実行すると、
0497NAME IS NULL
2006/12/17(日) 22:08:20ID:7ekSKI67org.postgresql.util.PSQLException: ERROR: column "d_date" is of type date but expression is of type character varying
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1512)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1297)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:430)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:346)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:300)
at Hizuke.main(Hizuke.java:26)
%
となります。
一見してdate型にsetStingしているのが悪いように思い色々試したのですがうまく行きませんでした。
netで検索するとdate型にsetStingしているサンプルプログラムが非常に多いのですが環境がダメなのでしょうか。
できれば上記サンプルと同じ動きをするプログラムを書いて頂けるとうれすぃです。
よろしくお願いします。
0498ココ電球(∩T∀T) ◆tIS/.aX84.
2006/12/18(月) 00:32:04ID:K/LY4AKs'2006-12-18 00:22:33' とか
0499NAME IS NULL
2006/12/18(月) 03:03:27ID:???8系のJDBCドライバでは、setter の型チェックが厳密になりました。
日付系(に限らずすべて)、DB側の型に合わせた setter を
使用する必要があります。setDate()、setTime()、setTimestamp()。
ttp://archives.postgresql.org/pgsql-jdbc/2005-06/msg00150.php
システム要件でどうしても7.4系のJDBCのようにsetStringでいけないと
ダメだ、という場合には protocolVersion=2 を付けるように。
(いつまでサポートされるかは知りませんが)
jdbc:postgresql://localhost:5432/postgres?protocolVersion=2
0501495
2006/12/18(月) 05:55:16ID:???ありがとうございました。
import java.lang.*;
import java.sql.*;
public class Hizuke {
public static void main(String [] args) {
Connection conn = null;
String url = "jdbc:postgresql:testdb";
String user = "pgsql";
String password = "";
String date_field = "2002-11-05";
String time_field = "10:09:35";
String timeStamp_field = "2006-09-21 15:42:13.0";
java.sql.Date newDate = java.sql.Date.valueOf(date_field);
java.sql.Time newTime = java.sql.Time.valueOf(time_field);
java.sql.Timestamp newTimestamp = java.sql.Timestamp.valueOf(timeStamp_field);
try {
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection(url, user, password);
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO ttt_table values (?, ?, ?)");
pstmt.clearParameters();
pstmt.setDate(1, newDate);
pstmt.setTime(2, newTime);
pstmt.setTimestamp(3, newTimestamp);
pstmt.executeUpdate();
conn.commit();
pstmt.close();
conn.close();
} catch(SQLException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
}
}
}
で
testdb=# select * from ttt_table;
d_date | d_time | d_timestamp
------------+----------+------------------------
2002-11-05 | 10:09:35 | 2006-09-21 15:42:13+09
(1 row)
となりました。
0502NAME IS NULL
2006/12/21(木) 16:52:16ID:???org.postgresql.util.PSQLException: FATAL: missing or erroneous pg_hba.conf file
pg_hba.confの設定にミスがあるようなのです。
javaでのアクセス法
Class.forName("org.postgresql.Driver");
Connection con = DriverManager.getConnection("jdbc:postgresql://192.168.1.2:5432/hellodb","postgresql","");
pg_hba.confの設定
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# IPv4 local connections:
host all all 192.168.1.0/99 trust
0503NAME IS NULL
2006/12/21(木) 17:21:24ID:???0504NAME IS NULL
2006/12/21(木) 17:43:54ID:???1台だけなら 32 、クラスCのアドレス全部なら 24 で
0505NAME IS NULL
2006/12/21(木) 18:11:38ID:???ネットワークのことが良くわかっていないみたいで、申し訳ないです。
0506502
2006/12/21(木) 18:16:04ID:???/32の場合
org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "192.168.1.93", user "postgresql", database "hellodb", SSL off
/24の場合
org.postgresql.util.PSQLException: FATAL: role "postgresql" does not exist
0507NAME IS NULL
2006/12/21(木) 18:20:17ID:???ちなみに/32のエラーはどういった理由なのか、一応知りたいのですが、お願いできますでしょうか?
0508NAME IS NULL
2006/12/21(木) 18:22:02ID:???えっとだな、192.168.1.1〜192.168.1.254 までの許可なら192.168.1.0/24 でいいよ
1台だけ許可するなら、 192.168.1.2/32 な
で、postgresql というユーザーは作ってあるの?
デフォルトの管理者は、postgres だと思うよ
まあ管理者アカウントは使わないほうがいいが
とりあえず動かすなら、postgres にしてみ
0509NAME IS NULL
2006/12/21(木) 18:23:25ID:???/32 は、たぶん 192.168.1.0/32 とやったんだろう
これだと 192.168.1.2 は含まれないから単にはじかれただけ。
0510NAME IS NULL
2006/12/21(木) 18:24:05ID:???0511NAME IS NULL
2006/12/21(木) 18:30:47ID:???ご親切にありがとうございます。
お察しの通り192.168.1.0/32とやっておりました。
192.168.1.93が含まれずにはじかれた、ということですね。
お手数かけてすみませんでした。
大変勉強になりました。ありがとうございました。
0512NAME IS NULL
2006/12/22(金) 00:53:26ID:k4k2FTfMSlony-I のWindows版が早くリリースされることを期待しています。
0513NAME IS NULL
2006/12/25(月) 15:40:55ID:???0514NAME IS NULL
2006/12/25(月) 16:22:49ID:???クライアントエンコーディングには設定できるので、使い勝手は問題ないです
0515NAME IS NULL
2006/12/28(木) 00:16:27ID:P4qIqcJdpostgresql.confに記述するauthentication_timeoutがよくわかりません。
1. authentication_timeout=60 に設定
2. postmaster再起動
3. psqlで接続を試みる。パスワード求められる時に60sec以上待つ
4. パスワードログインできる
このパラメタって3の段階で接続要求をきるという意味ではないのですか?
4.のようにログインできてしまいます。
0516NAME IS NULL
2006/12/28(木) 08:45:04ID:1MAdQIZd使ったことないから知らないけど、普通に考えたら
「パスワード入力後にレスポンスが返ってくるまで」の
タイムアウトじゃないの?
むしろどうして3.のタイムアウトだと思ったのかを教えてほしい。
0517NAME IS NULL
2006/12/28(木) 09:38:26ID:???0518NAME IS NULL
2006/12/28(木) 09:49:12ID:???そう。
psqlがサーバからのレスポンスを待つ時間。
0519NAME IS NULL
2006/12/28(木) 09:52:46ID:???psqlは接続要求したときにパスワードを求められたら、一旦接続解除。
psqlがPassword:プロンプトを出して、入力後に再度接続要求を出してる。
0520NAME IS NULL
2006/12/28(木) 09:57:58ID:???それはちがうだろw
0521515
2006/12/29(金) 09:03:30ID:rT8vx8ru>>516
オフィシャルドキュメントより:
この時間内に自称クライアントが認証プロトコルを完了しない場合、
サーバは接続を中断します。
--
プロンプトがでてる段階で、プロトコルレベルで認証の段階なのでは
って思ったからですね。でもよく考えるとpsqlがlibpq使うのならありえないなあ。
>> 517, 519
なるほど。 ありがとう。結局ソースコード見て確認しました。
src/bin/psql/startup.c:204あたりだね(PostgreSQL8.1.5)
パスワード入力がされていない時は、
1. psqlがPQsetdbLoginでパスワードなしで接続
2. 接続状態をみてパスワードが必要であることを確認
3. コネクトを切り、pass入力プロンプトを出す、で再接続
みたいになってました。
psqlで60sec待ってるから515でやってた方法じゃうまくいかないのだね。
0522NAME IS NULL
2007/01/08(月) 13:18:11ID:MGKZA6gMpgAdminからバックアップ/リストアができません。
8.1の時は、作成したデータベース->[右クリ]にバックアップ/リストアの
メニューがありましたが、8.2では[ツール]にバックアップ/リストアが
あり、常に選択不可になっています。
どなたかご教授いただけると幸いです。
0523NAME IS NULL
2007/01/08(月) 18:02:30ID:???普通に右クリックのメニューでもツールでも使えてるけど
0524NAME IS NULL
2007/01/08(月) 18:03:55ID:???0525NAME IS NULL
2007/01/08(月) 22:44:30ID:Cby+pvUGありがとうございます。
@net user postgres /delete で古いアカウントを消す
AAdministratorsグループのユーザでinstall
Bサービスアカウント postgres -> 自動作成
CDBのスーパーユーザ postgres
上記の手順でやっています。
コマンドでpg_restoreなら問題なくできました。不思議です。
0526NAME IS NULL
2007/01/09(火) 14:31:53ID:???接続しっぱなしのAセッション上でユーザ定義関数a()を繰り返し実行する
別セッションBからCREATE OR REPLACE a()を実行して定義を更新する
更新後にユーザ定義関数a()を実行する際に新しい定義に更新される
って、解釈でいいんだろうか?
それとも、セッションAはエラーでa()関数が実行できなくなる?
0527ココ電球(∩T∀T) ◆tIS/.aX84.
2007/01/09(火) 20:09:21ID:EnJ2TtdZpsqlをつかいませう
だそうです
0528NAME IS NULL
2007/01/10(水) 07:05:55ID:ZM1Em5evアカウント名とセキュリティIDの間の
マッピングは実行されませんとでるが
何が原因なんでしょうか?
WinXPpro
セキュリティ avast
0529NAME IS NULL
2007/01/11(木) 21:28:10ID:???0530NAME IS NULL
2007/01/12(金) 21:31:04ID:b0W6bgat0531NAME IS NULL
2007/01/13(土) 17:54:58ID:???0532NAME IS NULL
2007/01/30(火) 23:06:16ID:Xgx4NnsH何が悪いんでしょうか?以下のようにやってます。
CREATE USER
user_name
WITH
PASSWORD 'password';
GRANT
CONNECT
ON DATABASE
my_database
TO
user_name;
これで
psql -U user_name -d my_database
で接続できません。何が足りないのでしょうか?
0533NAME IS NULL
2007/01/31(水) 10:08:36ID:???接続制御はpg_hba.confでやるから無いんじゃないかな。
0534NAME IS NULL
2007/01/31(水) 23:33:00ID:???postgresql-8.2-ja.msiからインストールしてみたのですが、クライアント用の
ノートPC1台にODBCドライバがインストールされません。(インストール動作は正常に
終了するのですが。) もう一台のノートにはpostgreSQL ODBCドライバは
インストール出来ていて、サーバ用のデスクトップ機もドライバは確認できます。
インストール可能であった2台は最近OSを入れ直したものです。どのマシンも
windowsアップデートはしてあります。
何か理由があるのでしょうか?? 詳しい方アドバイス頂けませんか?
0535NAME IS NULL
2007/02/01(木) 10:03:56ID:???0536ココ電球(∩T∀T) ◆tIS/.aX84.
2007/02/01(木) 18:47:49ID:BE/MXAwv0537NAME IS NULL
2007/02/01(木) 23:30:21ID:???Administrator権限でインストールしました。
ODBCドライバがインストール出来た・出来なかった、どちらのノートPCからも
pgAdminからだとサーバのデータベースにアクセス可能です。 なので
データベースがないわけでもありません。
う〜ん。
0538ココ電球(∩T∀T) ◆tIS/.aX84.
2007/02/02(金) 00:07:56ID:htSkYdhW0539NAME IS NULL
2007/02/02(金) 00:55:53ID:???createuser
はないんだっけ?
0540NAME IS NULL
2007/02/02(金) 01:33:48ID:???0541534
2007/02/02(金) 22:17:47ID:???レス有難うございます。
「Administrator」でWindows2000にログインしてpostgresqlをインストールしました。
同じWin2000proSP4でもODBCドライバがインストール不可能な場合があるんです・・・
「コントロールパネル」→「管理ツール」→「データソース(ODBC)」→「・・・DSN」で
PostgreSQLドライバが追加できません。
0542534
2007/02/03(土) 09:06:47ID:???PostgresqlODBCドライバが登録できるようになりました。
MDACのバージョンは2.8になっていたのですが、Windows updateではサービスパック1
は適用されていなかったのでしょうか。
スレ汚しスミマセン。
0543ココ電球(∩T∀T) ◆tIS/.aX84.
2007/02/03(土) 20:54:40ID:WYHC8egd0544NAME IS NULL
2007/02/09(金) 16:08:33ID:???t1 に 100 以上カラムがあり、その中から c50 というカラムの
情報だけ見る方法はないでしょうか。
0545NAME IS NULL
2007/02/09(金) 16:17:34ID:???pg_class,pg_attribute,pg_typeでもselectしてくれ。
0546NAME IS NULL
2007/02/09(金) 17:37:10ID:???やはり簡単に知る方法はないんですね。
# \d t1 c50
c50 | interger | default 0
とか
#\d t1 c5*
c50 | interger | default 0
c51 | text |
とか見ることができれば最高ですかね。
0547NAME IS NULL
2007/02/09(金) 18:00:21ID:???% echo '\d t1' | psql -d hogedb | grep 'c50'
0548NAME IS NULL
2007/02/09(金) 18:44:02ID:???システムカタログをselectするのが
簡単じゃないって言うのかwww
0549NAME IS NULL
2007/02/09(金) 19:20:26ID:???ありがとうございます!
echo '\d '$2 | psql -d $1 | grep $3
というスクリプトを作りました。
>>548
簡単なんですか?
0550NAME IS NULL
2007/02/09(金) 19:22:09ID:???0551NAME IS NULL
2007/02/15(木) 20:10:32ID:???0552NAME IS NULL
2007/02/20(火) 14:48:38ID:???0553NAME IS NULL
2007/02/20(火) 23:18:42ID:???0554NAME IS NULL
2007/02/20(火) 23:22:45ID:???0555NAME IS NULL
2007/02/21(水) 20:19:00ID:???Windows版は必須です。
0556NAME IS NULL
2007/03/05(月) 23:21:40ID:???日本語のユーザー名でWindowsにログインしている
状態で、pgadmin1.6.2をインストールして実行しようと
すると、
C:\Documents and Settings\xxx\Application Data\postgresql\pgpass.conf
がありまへーんって言われます。
適当なユーザー名(日本語含まず)でログインしなおして
pgpass.confをコピーしたら動きました。
0557NAME IS NULL
2007/03/17(土) 01:15:29ID:???0558NAME IS NULL
2007/03/22(木) 00:57:57ID:aRIeHmyL際限なくメモリを確保しようとするんだ…。
8.2.1の環境もあって、こっちも同じような動きをしてスワップしまくり…。
orz
80MBぐらいにすると期待したとおりのメモリ使用量なんだが、何でですかね…。
0559NAME IS NULL
2007/03/22(木) 23:42:28ID:???0560NAME IS NULL
2007/03/27(火) 02:02:20ID:???ロール(ユーザ) test が、自分で作成したデータベースだけ
アクセスできるようにしたいのですが、うまくいきません。
# pg_hba.conf
local samerole test md5
$ psql
test=>\l
Name | Owner
--------------
test | test
test2 | test (Encoding は省略)
データベース test にはアクセスできるのですが、test2 は
test=>\c test2
FATAL: no pg_hba.conf entry for host "[local]", user "test", database "test2", SSL off
となります。アクセス権限が samerole なら、データベースのロール (Owner?) と
同じものにアクセスできるものとマニュアルから判断しているのですが、
sameuser の同じ動作ような動作になっています。
どこか間違っている、または足りないことがあると思うのですが分かりません。
0561NAME IS NULL
2007/03/27(火) 11:25:05ID:???この場合、test2グループを作って、そこのメンバにtestをいれてやらないとなりませんね。
0562560
2007/03/27(火) 14:15:40ID:???分かりやすいご説明ありがとうございました。
マニュアルに書かれている通り、pg_hba.conf はホスト制限や
パスワード形式のみの設定に留めておき、
個々のデータベースに関しては、その都度 CONNECT 権限で設定してみようと思います。
0563NAME IS NULL
2007/03/30(金) 14:59:57ID:???一応、毎晩各テーブルにはVACUUM ANALYZE してるんだけど。
SCSIのスマートアレイ接続でLinux ext3fs。
0564NAME IS NULL
2007/03/30(金) 15:09:59ID:???0565NAME IS NULL
2007/03/30(金) 15:23:36ID:???0566560
2007/03/30(金) 20:42:05ID:???データベースのアクセス権限を確認できるコマンドはありますか?
テーブルは \z で簡単に確認できるようですが、色々調べてみて
pg_database を除いてみることくらいしか現状分かっていません。
0567NAME IS NULL
2007/03/31(土) 00:14:25ID:1yUfpQQS0568NAME IS NULL
2007/04/03(火) 12:04:08ID:???WindowsにOLEDBのドライバ突っ込んでみたんですが動かない状態です。
PgOleDb-1.0.0.20を導入しようとしました。
レジストリへの登録はREADMEの通りにやって正常に登録できたとメッセージ表示
さて、いざVB.NETで以下のように接続してみようとしましたが
OPENしようとした時にエラーメッセージが表示されます。
-------SOURCE
Private cnn As New OleDb.OleDbConnection("Provider=PostgreSQL OLE DB Provider;data source=XXX.XXX.XXX.XXX;location=XXXX;Uid=XXXX;Pwd=XXXX;timeout=15;")
cnn.open
cnn.close
cnn.dispose
--------------
-------------Message
FATAL: no PostgreSQL user name specified in startup packet
--------------
VBのコードの問題ではないのではないか?と思いこちらに投稿させていただきました。
もしなにか情報をご存知の方はお教え願えませんか?
0569NAME IS NULL
2007/04/03(火) 12:43:55ID:???PostgreSQLはどのバージョンをお使いですか?
0570NAME IS NULL
2007/04/03(火) 12:46:20ID:???>>569
Postgresの接続先バージョンは8.2です。
確かOLEDBドライバは7.1X以前はサポートしてなかったと記憶しているんですが、もしかして逆だったんでしょうか?
0571NAME IS NULL
2007/04/03(火) 12:53:37ID:???どこから持ってきたのかな、もしかして別のRDBMS?
0572NAME IS NULL
2007/04/03(火) 13:08:07ID:???接続情報として
http://www.connectionstrings.com/?carrier=postgresql
ここからOLEDBのものをコピーして
接続先192.168.1.22のアドレスにあるPostgres8.2のDB test に接続します。
スーパーユーザーはUID=postgres PWD=postgres
としこのIDはPgAdmin3で接続する時に使用しているので大丈夫のようです。
結果接続文字列は以下のようになっています。
"Provider=PostgreSQL OLE DB Provider;data source=192.168.1.22;location=test;Uid=postgres;Pwd=postgres;timeout=15;"
0573NAME IS NULL
2007/04/03(火) 14:59:36ID:???OLE DB のとこはUser ID=myUsername; ってなってるけど。
UidってODBCじゃないの?
0574NAME IS NULL
2007/04/03(火) 15:21:13ID:???うわぁ・・・・・・
本当にごめんなさい
ほんとうだ・・・
なんかクセでこうなってて見落としていた様子です。
これを仰るとおりに修正したら一歩進む事ができました。
エラーだけどこのエラーは調べた時にフォーラムで見たことあったはずなんで調べてやってみます。
くだらない事でお手数おかけしました・・・・
0575NAME IS NULL
2007/04/04(水) 11:04:53ID:???serial 型は扱えないと聞いたのですが本当でしょうか?
もしそうなら、どのようにしてユニークなキーを扱うのでしょうか?
( serial を発行する別の DB サーバを用意する? )
0576NAME IS NULL
2007/04/04(水) 11:09:46ID:???シリアルが使われてるテーブルでINSERTするときは
必ずテーブルをロックすれば回避できるとは思うが
0577NAME IS NULL
2007/04/04(水) 11:10:59ID:???これかな?
http://pgpool.sraoss.jp/index.php?pgpoolAdmin%2Fhelp#e0258298
0578NAME IS NULL
2007/04/04(水) 16:02:15ID:???insert_lock という便利なオプションがあるのですね。
ありがとうございました。
0579NAME IS NULL
2007/04/09(月) 12:47:03ID:???質問なのですが、Postgresのデータベースを元に、WEBページ上のあるアイコンの表示をオンオフ、
または他のアイコンと切り替えて表示させるにはどうしたらよいのでしょうか?
漠然とした質問ですが、どなたかご教示お願いします。
0580NAME IS NULL
2007/04/09(月) 12:55:00ID:???「テーブルのデータの内容を判断して、
WEBページ上のあるアイコンの表示をオンオフ、
または他のアイコンと切り替えて表示させる」
サーバサイドスクリプトを記述すればいいと思うよ。
0581NAME IS NULL
2007/04/09(月) 13:38:49ID:???>>580
ご指導ありがとうございます。
もう少し、詳しく書いてみます。
今、格闘している.phpファイルにこんな感じで、スクリプトが記述されています。
<? $obj = pg_fetch_assoc(pg_exec("select * from users where \"user\"='$k'")); ?>
<?= $k ?>
この.phpファイルですと、usersテーブルのuser列で指定された文字データはWEBページ上で表示されます。
この中のあるデータを0、1で記入するなどして、それを特定のアイコンにon、offで対応させ、WEBページ上で表示させたいと思っています。
たとえば、0をYes、1をNoと設定して、YesのアイコンやNoのアイコンを表示させる感じです。
データベースとアイコン画像を結ぶスクリプトをどう記述したらよいかで悩んでいるのです。
どうかご教示お願いいたします。
0582NAME IS NULL
2007/04/09(月) 14:06:35ID:???IMAGEタグのファイル名を入れ替えるんじゃだめなのか
で、DB関係なくないか?
0583NAME IS NULL
2007/04/09(月) 14:11:28ID:???>データベースとアイコン画像を結ぶスクリプトをどう記述したらよいかで悩んでいるのです。
データや画像はどうなっているのだ?
・・・PHPスレへ
0584NAME IS NULL
2007/04/09(月) 14:19:00ID:???>>582
faviconではなく、gifなどの画像データです。
スレ違いでしたら、すみません。
よろしくお願いいたします。
0585NAME IS NULL
2007/04/09(月) 14:32:47ID:???よろしく、ということはまだここで聞くのか?
なにが聞きたいのかイマイチワカラン。
usersテーブルに画像ファイルの名前入れておく。
0586NAME IS NULL
2007/04/09(月) 14:41:56ID:???0587NAME IS NULL
2007/04/09(月) 15:28:58ID:???誘導
【PHP】下らねぇ質問はここに書き込みやがれ 43
http://pc11.2ch.net/test/read.cgi/php/1175368910/l50
0588NAME IS NULL
2007/04/11(水) 12:02:10ID:7MN6WPvyjspだけど
kにDBから読み込んできたimgのurlが入ればよいのでは?
0589NAME IS NULL
2007/04/11(水) 20:19:46ID:???パフォーマンスうんぬんいうなら、option explicit / option strictは必須。
C#でもボクシング・アンボクシングを繰り返すように書けば同じように遅くなる。
クラスとか構造体とかはCLSコンパチにするためにVB6から、
めちゃくちゃ変わってて、C#と変わらんようになってるぞ。
0590NAME IS NULL
2007/04/11(水) 20:21:16ID:???すまん誤爆
0591NAME IS NULL
2007/04/12(木) 22:04:29ID:???http://www.nttdata.co.jp/services/postgreSQL/index.html
0592NAME IS NULL
2007/04/12(木) 22:39:52ID:???0593NAME IS NULL
2007/04/13(金) 20:44:40ID:dG/Glk62毎日cronで以下のようにvacuumとanalyzeの両方を実行しています。
vacuumdb -d DB名 --analyze >> test.log
これを、analyzeのみの実行としたいのですが、
どう書いたらいいのでしょう。
vacuum用のラッパークラスはvacuumdbですが、
analyze用のラッパークラスは無いですよね。
ひょっとしてラッパークラス使わなくても(無くても)、
psql -d DB名 -c "ANALYZE --VERBOSE テーブル名(カラム名)" >> test.log
ってすればよいのですか?
0594NAME IS NULL
2007/04/13(金) 21:33:13ID:???YES. 面倒ならば テーブル名(カラム名) も省略可。単なるラッパに過ぎない。
あと、ラッパー「クラス」ってのは単語の使い方がおかしい。
0595NAME IS NULL
2007/04/13(金) 21:55:33ID:???回答ありがとうございます。
ラッパークラスでなくてラッパー「スクリプト」ですね。
postgrsってvacuumの存在のせいで酷く使い勝手が悪い気がしますが、
他のDBと比べてメリットってありますか?
OracleとかSQLServerなら自動的にpostgresで言う所のanalyzeを
してくれますし(効果の程は知りませんが)、vacuumも必要ありません。
MySQLと比較しても両者に機能的な差はほとんど無い気がしますし・・
0596NAME IS NULL
2007/04/13(金) 23:09:34ID:???俺はOracle方言っぽいSQL構文がそのまま使えるとか、
Oracleにはないlimit offsetの存在だけでも使う意味があると思ってる。
あと、無償だしな。
運用中にvacuum必要なのは糞仕様だと思うがwww
今のMySQLはサブクエリとかインラインビューとか使えるのか?
0597NAME IS NULL
2007/04/14(土) 00:16:20ID:???autovacuum = on やってれば vacuum なんて気にならない。
0598NAME IS NULL
2007/04/14(土) 16:03:08ID:???SQLを発行したら今までにないエラーが出ました
Query failed: ERROR: invalid input syntax for type double precision: ""
float8でNull許可してるのにこう返されてしまいます
なにか違うのでしょうか?
0599NAME IS NULL
2007/04/14(土) 17:33:13ID:???厳密なバージョンを書け。理由はたぶんこれ。
http://www.postgresql.jp/document/current/html/release-8-0.html
E.26.3. 廃止予定の機能
oid/float4/float8データ型に空文字列を代入した時に、サーバが警告を発するようになりました。
次のメジャーリリースでは、空文字列はこうしたデータ型では無効とみなす予定です。
0600NAME IS NULL
2007/04/14(土) 18:01:51ID:???レスありがとうございます
バージョンは 7.4.6 から 8.1.8 です
紛れも無くそれですね orz...
0601NAME IS NULL
2007/04/14(土) 20:47:22ID:???0602NAME IS NULL
2007/04/17(火) 18:51:09ID:???アメリカにある PostgreSQL に接続しようと思います。
この時、セキュリティ確保のために
ネットワークに流れるデータを暗号化したいのですが、
どのような方法があるでしょうか?
0603NAME IS NULL
2007/04/17(火) 20:09:07ID:???0604NAME IS NULL
2007/04/18(水) 01:48:19ID:???0605NAME IS NULL
2007/04/18(水) 02:24:22ID:???>>525
WindowsXP Proにインストールした
8.2.3 の pgAdminIII (ver1.6.1)で、 同様の現象で、
右クリックでバックアップ、リストアが選択できません。
pg_dump.exe/pg_restore.exe のコマンドでは、OKです。
Windows2000にインストールした 8.2.3 の pgAdminIII、なら、起こりません。
また、8.0.3 の pgAdminIII (ver1.3.0)で、8.2.3 のDBに接続して、
右クリックでバックアップ、リストアが選択できます。
また8.2.3 の pgAdminIII (ver1.6.1)だと
データビューでの操作で、
アプリケーションエラーで落ちることもあるなぁ。。。
不安定なのかな。。。
簡易版GUIでも作成しようかなぁ。。。
古いpgAdminIIIを利用する方が、楽かぁ?!。。。(不安だけど)
8.2.3 の pgAdminIIIのバックアップとリストアって、
pg_dump.exe/pg_restore.exe をコールしてるんですよね?
8.0.3 の pgAdminIIIに pg_dump.exe/pg_restore.exe 入れ替えてみるかぁ?!
0606NAME IS NULL
2007/04/18(水) 11:44:56ID:???回答いくつか出てるが、
丸ごと暗号化 VPN
ポート単位で暗号化 ssh フォワード
PostgreSQLが持ってる昨日を使う SSL
0608NAME IS NULL
2007/04/19(木) 00:37:01ID:5U3UALOA0609NAME IS NULL
2007/04/20(金) 23:55:45ID:???こんなメッセージがでます。
"control reached end of trigger procedure without RETURN CONTEXT: PL/pgSQL function xxxxx()"
Functionは create function xxxxx() returns opaque as'
からはじめて戻り値は無いようになってますが
Trigger を実行すると上のエラーが出ます
どなたか何処を見直せばいいのか教えてもらえますでしょうか?
0610NAME IS NULL
2007/04/21(土) 00:01:38ID:???困った時のマニュアル頼み。
http://www.postgresql.jp/document/pg815doc/html/triggers.html#TRIGGER-DEFINITION
0611NAME IS NULL
2007/04/21(土) 00:17:35ID:???ありがとうございます。
一回じっくりと読んでみます
0612NAME IS NULL
2007/04/21(土) 00:20:23ID:???じっくり読まなくても、数行で答えが。
「トリガ関数は、引数を取らない、trigger型を返す関数として宣言される必要があります」とね。
0613NAME IS NULL
2007/04/21(土) 00:34:01ID:???ありがとうございます。
RETURN NEW or OLD;
が抜けていた為でした。
トリガーには RETURN がいらないものと勝手に解釈しておりました。
すみません、以降マニュアルを読んでから書き込みをします。
0614NAME IS NULL
2007/04/22(日) 10:59:41ID:???0615NAME IS NULL
2007/04/22(日) 18:50:03ID:???including a security fix. (CVE-2007-2138)
security-definer function は癌だな。
0616NAME IS NULL
2007/04/25(水) 14:22:13ID:Qc+BtLRIver 8.0.3 では、問題ないのに、
ほとんどのSQL文は問題ないけど
特定の select 文で、
『-2147467259 データ プロバイダまたはほかのサービスが E_FAIL 状態
を返しました。』
っていうエラーが出るなぁ。
8.2.3 のドライバ『PostgreSQL Unicode』だと出るが、
8.0.3 のドライバ『PostgreSQL』だと出ない。
8.2.3のDB に対して、
8.0.3 のドライバ使用して問題あるってことありますかねぇ?
他、8.2.3って何か問題出てますか?
0617NAME IS NULL
2007/04/25(水) 16:18:25ID:???Unicode版のドライババージョン詳細は?
いのっち父さんの最新ドライバと入れ替えたら?(何のことか分からないなら検索)
特定のSQL文とは?
0618NAME IS NULL
2007/04/26(木) 01:48:17ID:Oh0EKWzPありがとうございます。
『PostgreSQL Unicode』のバージョンは、
8.0.2.02.03(2006/12/19版)です。
VB6とは、ADO接続です。
SQL文はテーブル構成は省略しますが、以下のような感じです。
------------------
select
case
when aa.id=0 then aa.name
else null
end as name1,
case
when aa.id=0 then null
else aa.name
end as name2,
aa.id2,
aa.kbn,
aa.id,
bb.grp,
bb.grpname
from table1 aa left join
(
select * from table2
where grp=2
) bb
on aa.id2=bb.id2
or bb.grp is NULL
order by aa.no
------------------
今夏には、8.3 が出るかもしれない?ので、それまで待つかもしれません。
0619NAME IS NULL
2007/04/26(木) 01:55:56ID:???いや、だから、いのっち父さんとこの最新版8.2.3.1使ったらどうなる?
0620NAME IS NULL
2007/04/26(木) 02:09:55ID:Oh0EKWzPすみません。確認中でした。
http://www.postgresql.org/ftp/odbc/versions/msi/
の
psqlodbc-08_02_0300.zip
の導入で、直ったようです。
随時、更新しているドライバ等もあるのですね。
いのっち父さん、貴殿に感謝です。
ありがとうございました。
0621NAME IS NULL
2007/04/26(木) 02:55:09ID:Oh0EKWzP>>620
すみません。早とちりでした。(^^;
せっかく教えて頂いて申し訳ありません。
ODBC『PostgreSQL Unicode』のバージョン、
8.02.03.00(2007/04/15版)でもエラーが出ます。
ver8.2.3 では、
8.0.3 のODBCドライバ『PostgreSQL』
7.03.02.08(2004/02/23版)を利用するかもしれません。
随時、ドライバ情報を参照させてもらいます。
ありがとうございました。
0622NAME IS NULL
2007/04/26(木) 03:12:23ID:???いのっち父さんのところの最新版の8.2.3.1でも出るなら
掲示板に書き込んで(バグなら)フィックスしてもらわないと
いつまでたっても直らないかもよ。
現象が再現出来るなら是非とも報告をお願い致します。
0623NAME IS NULL
2007/04/26(木) 03:35:23ID:Oh0EKWzPありがとうございます。
今、
http://www.geocities.jp/inocchichichi/psqlodbc/psqlodbc35w.zip
で、
psqlodbc35w.dll
pgxalib.dll
pgenlist.dll
(psqlodbc35w.dllの製品バージョン 08.02.0301 2007/04/24 20:20版)
を
:\Program Files\PostgreSQL\8.2\bin
の配下へコピーして再起動しましたが、やはり、エラーが出ます。
ちなみに、Windows2000です。
別途、同じようなテーブル構成を別に作成して、
そのようなSQL文で、発生するようでしたら、
今度、掲示板へ報告したいと思います。
今夜はありがとうございました。
おやすみなさい。
0624NAME IS NULL
2007/04/26(木) 03:49:06ID:Oh0EKWzPver8.2.3の
pgAdminIII でのSQL文では、エラーは出ません。
0625NAME IS NULL
2007/04/26(木) 08:18:36ID:Oh0EKWzP-- table0のレコードに対してNULLのカラムとしてレコード抽出される場合、
-- というエラーが出るようです。
select
case
when aa.grpid=0 then aa.name
else null
end as name1,
case
when aa.grpid=0 then null
else aa.name
end as name2,
aa.id,
aa.kbn,
aa.grpid,
bb.grp, --★NULLのカラムがエラー?
bb.name --★NULLのカラムがエラー?
from table0 aa left join
(
select * from table2
where grp=2
) bb
on aa.id=bb.id
or bb.grp is NULL
order by aa.no
-- 結局寝なかった。(^^;
0626NAME IS NULL
2007/04/26(木) 08:38:55ID:???もうちょっと簡素な再現SQL文は見出せないの?
0627NAME IS NULL
2007/04/26(木) 09:54:32ID:Oh0EKWzPすみません。
開発元へ報告しておきましたが、
簡易なパターンの調査はしておりません。
0628NAME IS NULL
2007/04/26(木) 10:30:34ID:???0629NAME IS NULL
2007/04/26(木) 11:55:11ID:???ちゅーか不具合報告の鉄則ですね。最小限の再現パターンを提示するのは。
まぁ、今回は再現環境一式を出してるから悪くはないけど。
0630NAME IS NULL
2007/04/26(木) 13:02:21ID:???0631NAME IS NULL
2007/04/26(木) 16:50:23ID:Oh0EKWzP2007/04/26版で正常動作を確認しました。
開発元さん、アドバイス頂いた方へ感謝です。
0632NAME IS NULL
2007/04/26(木) 17:07:07ID:Oh0EKWzP私の思い込みで、
簡単なパターンでの不具合とは思わなかったので、
できるだけ実行環境に近いものを提示しました。
ツールを作成したので、テストや比較の検証も少し楽になったので、
調べてみました。
---------------
select
bb.grp
from table0 aa left join
(
select * from table2
where grp=2
) bb
on bb.grp is NULL
---------------
-- ★grp int2 型です。
たぶん、数値へのNULLが原因だったのかもしれません。
誰でもよく間違うバグでしょうか。。。
逆に、今まで報告がなかったほうが不思議なくらい簡単なSQLでした。
あまりv8.2.3は使用してないのかな?
それとも単純なSQL利用者が多いのかなぁ?。。。
私は、まだ8.0.3を使用しているので、急いではいませんでした。(^^;
8.0.3では、トランザクション利用で問題が出ているようなので、
8.2.3での基本的な検証ができた後、そろそろ移行したいと思っています。
0633NAME IS NULL
2007/04/26(木) 18:51:02ID:???0634NAME IS NULL
2007/04/26(木) 19:45:20ID:???8.2.xは自分とこの環境では問題が出たから、まだ8.1.xを使ってる。
ところで、最初っから思ってたんだけど、これって8.2.xの問題という訳ではなく
8.2.x同梱のODBCドライバの問題、でしょ?
なんか本体のバージョンと話がごっちゃになってて分かりにくいんだけど。
そういう話なら
・8.2.x系列を使っている人はまだまだ少ない(8.2.xで特定のSQL文が遅くなった報告ちらほらあり)
・Windows版を使っている人が少ない
・インタフェースとしてODBCを使っている人が少ない
からでしょ。圧倒的に。
あと、提示された最小限(?)のSQL文てかなーり奇妙に見えるんだけど。
where grep=2 で on bb.grp is NULL で select bb.grp ?
0635NAME IS NULL
2007/04/27(金) 01:07:53ID:SOVAIhWg私のところでは、当初、8.1.x で問題があったので、
8.0.3 のまま利用しています。
どのバージョンが中途半端なのか評価していないのでわかりませんが、
8.1.x が安定しているようでしたら、8.1.8 を使ってみたいと思います。
>最小限(?)のSQL文
そのSQL文の解説、評価をしても無意味ですね。
されるなら、元のSQLの >625 を参照して下さい。
0636NAME IS NULL
2007/05/07(月) 17:56:22ID:kfw86U9Ivarchar(5)であれば、全角5文字もOKってな具合に。
UTF-8だとASCIIが1バイトで日本語が3バイトですが、
UTF-8でDBの容量見積もりする際は、単純に倍でOK?
0637NAME IS NULL
2007/05/07(月) 18:04:00ID:???格納する文字種によるので一概には何とも。
そのカラムに日本語も格納される可能性が高いと思われるなら1文字3bytesで見積もるし、
確実にシングルバイトの文字しか入ってこないなら1文字1byte。
Unicode全部想定すれば1文字4bytesだってあり得るから、
多言語対応で考えるなら1文字4bytesで見積もるよ。
とりあえず概算でよけりゃ1文字2bytesでもいいんじゃね?
0638NAME IS NULL
2007/05/07(月) 18:06:25ID:???> データベースをUTF-8にすると、フィールドサイズはバイトでなく、文字数として扱われますよね。
別にUTF-8でなくとも、文字数だけど。7.4あたりで仕様変更されてから。
0639NAME IS NULL
2007/05/07(月) 18:57:27ID:???0640NAME IS NULL
2007/05/07(月) 21:18:36ID:kfw86U9I参考になるものありますか。
0641NAME IS NULL
2007/05/08(火) 00:35:41ID:???postgre8.0.3に、既存データを移行しようとしています。
移行テストに際し、開発用のdbをダンプし、
同じサーバーに作成した新規dbにリストアしました。
その後旧データを用意して移行用スクリプトを流し始めたところ、20/40程度のテーブルを消化した段階で、
応答がなくなっってしまいました。
調査したところ、orderというテーブルに対するあらゆるsqlの応答速度が極端に低下していました。
移行前で、orderの中身は0件の状態で、
select * from order = 60秒
delete from order = 77秒(0件を更新しました)
select count(*) from order = 応答なし。
上記のような遅さになっています。
この状況から考えられる原因として、どのようなものがありますでしょうか。
試したことを以下に列挙します。
・postgresリスタート(状況変わらず)
・サーバーリブート(状況変わらず)
・デッドロックのチェック(そもそもdeleteが出来てしまっているのですが、一応調べました。結果問題なし)
・使われるはずのsequenceチェック(63万ちょいまでカウントされていました。1にセットしなおしましたが、状況変わらず)
・依存関係にあるテーブルのデータチェック(⇒ゴミを全て削除した結果、単純なselect分は2-3秒まで短縮されました。0件ですが)
テーブルをドロップして再度作ろうかとも思ったのですが、フレームワークのtblで依存関係が非常に複雑になっており、
単純には消せない為、これは行っていません。
データベース全体ではなく、特定のテーブルのみ遅くなると言う状態が初めてで、
原因の見当が付きません。
わかる方いらっしゃいましたら、ご教授お願いしますm(_ _)m
0642NAME IS NULL
2007/05/08(火) 02:17:29ID:???0643NAME IS NULL
2007/05/08(火) 04:08:22ID:???レスありがとうございます!
VACUUM ANALYZE…やってないです。
今ググって意味を調べたってレベルです。。
何回も見てたページのど真ん中に載ってました。。
依存関係のあるテーブルをいじった際に応答速度が変わったって所から、
あやしい感じですね。。明日朝一で試してみます!
ありがとうございました!
0644NAME IS NULL
2007/05/09(水) 11:35:42ID:???これを実行すると、エラーが発生して([Error:57014 : canceling statement due to userrequest])処理が中断されてしまいます。
VacuumのようなSQLは.NETのExecuteNonQuery()で実行することはできないのでしょうか。
import clr
clr.AddReferenceByPartialName("System.Windows.Forms")
from System.Windows.Forms import *
clr.AddReferenceByPartialName ('System.Data')
clr.AddReferenceToFile ('Npgsql.dll')
from System.Data import *
from Npgsql import *
#接続文字列
connstr = 'Server=XXX.XXX.XXX.XXX;Port=5432;User ID=hoge;Password=hoge;Database=hoge;Encoding=UNICODE'
def vacuum (conn):
cmd = NpgsqlCommand('VACUUM',conn);
ret = cmd.ExecuteNonQuery()
print "done:" + ret
def main():
conn = None
try:
conn = NpgsqlConnection (connstr)
conn.Open ()
test(conn)
finally:
if not conn is None:
conn.Close ()
if __name__ == '__main__':
main()
0645NAME IS NULL
2007/05/09(水) 17:07:05ID:???たぶん、タイムアウトしていると思われ。
cmd.CommandTimeoutを長めに取るか、いっそ0にして終わるまで永久的に待機させるか。
一旦psqlなりPgAdminなりでVacuumを実行してみてから試せば、Vacuum時間も一時的に
短くなるから確認しやすいだろう。
0646NAME IS NULL
2007/05/10(木) 21:55:44ID:???CommandTimeoutを0に設定することで、無事にVacuumを実行することができました。
0647NAME IS NULL
2007/05/11(金) 00:45:25ID:LmqbBaoBされないのならどうすれば良いのですか?
0648名無し
2007/05/16(水) 05:27:18ID:???0649NAME IS NULL
2007/05/19(土) 23:42:29ID:dKYDsDbp0650NAME IS NULL
2007/05/20(日) 12:42:14ID:???0651NAME IS NULL
2007/05/20(日) 16:20:52ID:WPBssusO読めるにこした事はないけど、一貫した基準で初めて見た人でも判る名前を付けるのが能力だよ?
まぁpostgresql何ぞで仕事してる奴に生産性の話しても仕方ないか。
0652NAME IS NULL
2007/05/20(日) 18:35:09ID:???保守する現場だと普通に必要な能力だと思うけどな。
> 一貫した基準で初めて見た人でも判る名前を付けるのが能力だよ?
コーディングルールに従うだけのことをわざわざ「能力」と言うの?
ある意味能力の1つだけど、ずいぶんレベルの低い話をしてるんだね。
0653NAME IS NULL
2007/05/20(日) 21:48:31ID:???0654NAME IS NULL
2007/05/20(日) 21:50:42ID:???変数名・関数名を挙げてみてよ。
0655NAME IS NULL
2007/05/21(月) 09:15:11ID:???PostgreSQL8.1.4なんですが、カタカナだけの列を基準に、
50音順に並べ替えたいのですが、期待通りになってくれません。
DB作成時に --nolocaleを指定しろっていうのは発見したのですが、
すでに運用中のDBなので、できればDBの再作成はしたくありません。
なにか他に手段はありませんでしょうか?
0656NAME IS NULL
2007/05/21(月) 17:51:27ID:???どこか変えてインデックス再構築とかあるのかもしれないが、ちょっとわからん。
しかし現行で動いてるDBをそのまま移行するのは手間ではないよ。
ものすごくでかいとか、止める暇が無いくらい頻繁に更新してるんでもない限り。
0657JPUG中の人
2007/05/21(月) 18:56:27ID:spUpon8Yhttp://www.postgresql.jp/
0658NAME IS NULL
2007/05/21(月) 19:47:37ID:???こんなところでやるの? こわいよぉ。
■ アキバ ■
1位 上気した孫策はみパン・ブルマでエロ過ぎ!
そして製品版は透明化された下着の天使さん!
http://ascii.jp/elem/000/000/035/35668/?jpm
2位 委員チョはミニスカ・エロボディで縞パンツ!
覗き穴から見た貧乳少女は裸ん坊だったっ!
http://ascii.jp/elem/000/000/035/35299/?jpm
3位 水玉パンツと旧スク水、メイド服は我らマニアにとって三種の神器である!
http://ascii.jp/elem/000/000/034/34376/?jpm
4位 アイドルマスターが早くも純白コットンで登場!
そして魑魅魍魎のエロの数々が大漁っ!
http://ascii.jp/elem/000/000/036/36133/?jpm
5位 危険過ぎで閲覧禁止だ! バスト・ぽろ〜ん! ヒップ・ぺろ〜ん!
http://ascii.jp/elem/000/000/033/33942/?jpm
0659NAME IS NULL
2007/05/24(木) 23:59:00ID:G0lbvSZiusb接続のサブHDDにDBを作りたいのですが、下記のようなエラーで上手く行きません。
ユーザ名$ initdb -D /Volumes/SecondDisk/Data/
(中略)
creating template1 database in /Volumes/SecondDisk/Data/base/1 ... FATAL: could not link file "pg_xlog/xlogtemp.1903" to "pg_xlog/000000010000000000000000" (initialization of log file 0, segment 0): Operation not supported
サブの方はFAT32でフォーマットしてあります。
対処法ご存知でしたらお願いします。
0660NAME IS NULL
2007/05/25(金) 02:57:18ID:PMew0+mxどういうときに並べ替えをされたいのか、わかりませんが、
なんらかのプログラム言語を使用しているのでしたら、
並べ替え用の列をソフトウェア上の変数やグリッドなどに追加して、
対応してみるとかは?
0661NAME IS NULL
2007/05/25(金) 13:44:29ID:DPNedvr4select * from table1 as t1, DB2::table2 as t2 where t2.id = t1.id ....
みたいな感じ
0662NAME IS NULL
2007/05/25(金) 14:27:13ID:???dblinkだったかな
0663NAME IS NULL
2007/05/26(土) 06:08:39ID:???pgpool とかは unix系専用みたいだし。
そういうことやりたいのならMySQLなのかしら・・・。
0664NAME IS NULL
2007/05/26(土) 06:27:33ID:q4cdBz9a0665NAME IS NULL
2007/05/27(日) 02:52:31ID:???0666NAME IS NULL
2007/05/27(日) 02:53:26ID:???Slony-I待ち
0667NAME IS NULL
2007/05/27(日) 04:53:10ID:hFVpTI5xだれも試さんだろ
0668NAME IS NULL
2007/05/27(日) 09:21:41ID:???一応自己解決という事で、報告。というか勉強になったので自慢させてくれ。
ソースをほじくり返してみたら”could not link file”のメッセージを吐く所は実質一カ所で、link()関数失敗時のエラーメッセージ。
link()関数のmanに曰く、
そもそもlink()関数で作ったハード・リンクはファイル・システムを跨げない、
ファイル・システムがハード・リンクをサポートしていない場合もエラー。
ソースコードを変えて、link()でなくてrename()関数を使うようにしてmakeし直してinitdbすると659の問題は発生しませんでした。
が、今度はアクセス権の指定が正しくないからといってdb作ってサーバに入れない。
FATはアクセス権設定できないので、諦めてサブHDDをmac本体と同じフォーマットにして再度make。
したら、見事に成功。めでたしめでたし。
ご清聴ありがとう。
0669NAME IS NULL
2007/05/27(日) 10:37:11ID:???それでもあえてやろうという質問かと思ったら、フォーマットしていいのかよ・・・
WindowsだとFAT32でも何とか使えるし。お勧めはしないけど。
0670NAME IS NULL
2007/05/27(日) 22:20:11ID:???リンクエラーの所も判った上でスルーだった訳っすか。
0671NAME IS NULL
2007/05/28(月) 16:16:47ID:???0672NAME IS NULL
2007/05/31(木) 22:12:17ID:T1+g34Osほんとだな。そんな重要なトコ変えちゃっていいならOS変えろよみたいなアドバイスしてたよな(w
0673NAME IS NULL
2007/06/03(日) 12:14:35ID:???0674NAME IS NULL
2007/06/11(月) 13:10:06ID:Aqq3nwiZt0
i
---
1
2
3
4
5
6
7
8
9
--------------
t1
i | j
---+---
1 | a
2 | b
4 | c
--------------
t2
i | j
---+---
1 | x
2 | y
3 | z
--------------
t3
i | j
---+---
1 | o
2 | p
5 | q
--------------
select a.i, tt1.k1, tt2.k2, tt3.k3
from ((((select i from t0) a left join
(select i, j as k1 from t1) tt1 on a.i=tt1.i) left join
(select i, j as k2 from t2) tt2 on a.i=tt2.i) left join
(select i, j as k3 from t3) tt3 on a.i=tt3.i)
where
tt1.k1 is not null or tt2.k2 is not null or tt3.k3 is not null;
i | k1 | k2 | k3
---+----+----+----
1 | a | x | o
2 | b | y | p
3 | | z |
4 | c | |
5 | | | q
※t0のテーブルを使用しないで同じ結果がほしいのですが、
うまくいきません宜しくお願いします。
0675NAME IS NULL
2007/06/11(月) 14:35:11ID:???LEFT JOIN じゃなくてFULL JOIN
k1〜k3 の別名は端折るが、
SELECT * FROM t1 FULL JOIN t2 USING(i) FULL JOIN t3 USING(i);
0676NAME IS NULL
2007/06/11(月) 15:01:45ID:Aqq3nwiZ助かりました。
有難うございました。
少し感動です!
0677NAME IS NULL
2007/06/12(火) 09:28:41ID:ZoyGBZu/PostgreSQL8.2.3をWindowsXPのサービスで動かしているのですが、
不特定のタイミングで
FATAL: could not reattach to shared memory (key=6561001, addr=01D20000): Invalid argument
というエラーを出し、まったく応答しなくなります。
対処法をご存知の方おられましたら、ご教授願います。
0678NAME IS NULL
2007/06/12(火) 09:36:39ID:???ググるとこんなのが出てくるが。
http://archives.postgresql.org/pgsql-bugs/2006-05/msg00027.php
0679NAME IS NULL
2007/06/12(火) 10:11:01ID:ZoyGBZu/アンチウィルスソフトは止めてあります。
0680NAME IS NULL
2007/06/12(火) 10:12:59ID:???プロセス生き残ってたりしない?
0681NAME IS NULL
2007/06/12(火) 10:17:16ID:???ドライブ代えて試してみては
0682NAME IS NULL
2007/06/12(火) 13:25:52ID:???止めていると思ってたんですが動いてました。
どうもNOD32が原因のようです。
ありがとうございました。
0683NAME IS NULL
2007/06/13(水) 03:00:13ID:lM41+/Yhその中にコメントって書けるんですか?
0684NAME IS NULL
2007/06/13(水) 09:21:55ID:UeiB7K01「create table foo as select * from bar;」というSQLだと
COPYコマンドというものを使った方がいいんでしょうか?
0685NAME IS NULL
2007/06/13(水) 10:10:20ID:???コメントは -- で始まる
0686NAME IS NULL
2007/06/13(水) 10:12:35ID:???# MySQLだとこれもかな?
0687NAME IS NULL
2007/06/16(土) 06:51:44ID:hWklptmu遅くなったけどまじサンキューです!
C言語形がつかえるんですね!
0688NAME IS NULL
2007/06/16(土) 22:10:38ID:9eh8zkQc将来的に別DBへの移行を考えてるなら -- にしておいたほうが無難だよ。
0689NAME IS NULL
2007/06/17(日) 13:40:33ID:???まあ対応してないのもあるかもなあ
0690NAME IS NULL
2007/06/19(火) 13:50:36ID:7TcVr+mlO/Rマッパーを噛ましているときに、ファントムが挿入されないようにするときの対処方ですが、
ストアドプロシージャーでロック掛けてるんですか?
それとも他の方法使ってらっしゃるんですか?
0691NAME IS NULL
2007/06/19(火) 14:27:31ID:7TcVr+ml×ストアドプロシージャー
〇トリガー
0692NAME IS NULL
2007/06/20(水) 08:58:12ID:cIC7i3yO0693NAME IS NULL
2007/06/20(水) 09:08:00ID:???log_statement = 'all'
でどう?
0694NAME IS NULL
2007/06/20(水) 09:09:20ID:???modでいいのか
0695NAME IS NULL
2007/07/02(月) 12:53:07ID:NEpJtz1Uid: serial というカラムを持つ aTable にレコードを insert したとき、
挿入したレコードのidを取得するにはどうしたらいいのでしょうか?
0696NAME IS NULL
2007/07/02(月) 13:37:30ID:???select文の最後に returning * を付けてみ。
ただしPostgreSQL 8.0 か 8.1 以上じゃないと使えないはず。
0697NAME IS NULL
2007/07/02(月) 14:02:35ID:???おお、select じゃなくて insert into の最後に returning * を書いたらうまくいったよ
ありがとぉ
0698NAME IS NULL
2007/07/02(月) 14:17:46ID:???0699NAME IS NULL
2007/07/02(月) 14:27:02ID:???あー、insert文の最後だったw
寝起きでぼけてたw
>>698
ググったら 8.2 からだった。すま。
0700NAME IS NULL
2007/07/02(月) 14:32:52ID:???って一回で実行すると戻り値がそのシリアル値
0701NAME IS NULL
2007/07/02(月) 14:32:54ID:???いやいや、助かったよ
バージョン確認せずに試したらうまくいった
今確認したら 8.2 だった ^^;;;
8.2 未満の時はどうやってたんだろうねぇ?
0702NAME IS NULL
2007/07/02(月) 15:55:23ID:???してからその値を使いまわしてる
serial も省略しないでその値を使用
0703NAME IS NULL
2007/07/03(火) 00:39:43ID:???おれは、挿入されたレコードの oid を取得して、その oid で再検索してた。
0704NAME IS NULL
2007/07/03(火) 11:50:04ID:???してた
0705NAME IS NULL
2007/07/05(木) 06:35:32ID:emhuPB4DWin XP Pro Pentium4 2.8G メモリ1G で使用していますが、
CPUが高性能なサーバーに変えると処理速度のアップは期待できますかね?
数十万〜100万レコードの30秒〜1分以上かかるSELECT分の応答を
短縮したいんですけど。
テーブルやアプリケーションの設計を見直す方が
効果あるのは、わかっているんですがね。。。
チューニングの方は、インデックスを張るくらいしかしてませんが。
OSをServerに変更しても対して変わらないですよね?
とりあえず、ver8.2へバージョンアップして、
速度差を計測してみようとは思っていますが。
将来は、Linux版へも検討したほうがいいのかもしれないけど。
0706NAME IS NULL
2007/07/05(木) 07:17:23ID:???設計見直す前に発行してるSQLだ。
とりあえずEXPLAIN PLAN見てから考えた方が良いと思うが。
0707NAME IS NULL
2007/07/05(木) 09:50:06ID:???EXPLAIN でチェックすることと、VACUUM ANALYZE することからだな
0708NAME IS NULL
2007/07/05(木) 14:49:40ID:???いまさら8.0.3は論外だと思ってしまう。
にしても、1分かかるSELECTってインデックス使われていないとしか思えん。
0709NAME IS NULL
2007/07/06(金) 01:59:42ID:PG3xYQ8hありがとうございます。
EXPLAIN は初めて知ったので勉強いたします。
SQLは、Group By やら、Union All などで、少し複雑になっています。
VACUUM は、実行してもそれほどの差はありません。
Index はpgAdminVで見る限りは、張れています。
実際にIndexが有効なのかどうかは、
解除してから、その差を確認すればいいのでしょうが、
そこまでは確認していません。
1テーブル46万レコードから
2つの条件で抽出で、100レコードを抽出した場合、
pgAdminVでの応答は、約6秒くらいです。
(例)
select * from table1
where code=1
and dateA='2007/07/06'
code,dateA には、Index を張っています。
日付を文字列にしたのは、あまりよくなかったかな。。。(^^;
ちなみに、
PRIMARY KEY (oid)
って、やっぱり邪道ですかね?。。。(^^;
0710NAME IS NULL
2007/07/06(金) 09:20:39ID:???先にそれやれと。
0711NAME IS NULL
2007/07/06(金) 15:02:19ID:???それを確認するのがEXPLAIN
0712NAME IS NULL
2007/07/06(金) 15:51:04ID:PG3xYQ8h『EXPLAIN ANALYZE ・・・』の結果の
『QUERY PLAN』に
『Index Scan using』がないってことは、
インデックスが使われてないってことでしょうか?
0713NAME IS NULL
2007/07/06(金) 16:39:29ID:PG3xYQ8hプランに反映させるには、どういったチューニングをしたらよいのでしょうか?
0714NAME IS NULL
2007/07/06(金) 18:10:11ID:???インデックスが無ければ作り、あるのに使われてなければ使うようにすればいいわけで、
VACUUM ANALYZE しても使わないようなら、SQLそのものを変える必要もあるかも
0715NAME IS NULL
2007/07/06(金) 21:46:48ID:???EXPLAIN で見たときに、index検索してくれるかも。
create index code_dateA_index on table1 ( code,dateA );
VACUUM ANALYZE table1;
0716NAME IS NULL
2007/07/07(土) 01:14:05ID:4yvS7a5G肝心の数十万レコードのテーブルには、
『Index Scan using』が1つもなかったことには、
ある意味、衝撃でした。(^^;
下記なども参考に、ver 8.2 へのバージョンアップも含め、
試行錯誤しながら、短縮を実現したいと思います。
http://www.postgresql.jp/blog/71
http://www.postgresql.jp/blog/78
0717NAME IS NULL
2007/07/08(日) 09:59:27ID:???いいですか?
ちなみに導入対象は業務系システムです。
0718NAME IS NULL
2007/07/08(日) 10:16:30ID:???create index code_dateA_index on table1 ( code,dateA ); は試してみた?
2つのフィールドを合わせたインデックス作れば、
ほぼ確実にインデックス検索されるはずだけど。
>>717
8.2でもう十分安定してる。
0719NAME IS NULL
2007/07/09(月) 10:04:21ID:???> code,dateA には、Index を張っています。
この例の場合、別々に張っても使われないと思われ。
0720NAME IS NULL
2007/07/10(火) 18:52:06ID:???CentOSにPostgreSQL 8.0.12を乗せた環境を構築しようとしています。
資料の一切無い既存アプリの移行の為、載っている各モジュールのバージョンを合わせながら作業をしているのですが、
Postgresを手動でインストール後、データのリストア時に下記のようなエラーが出るようになってしまいました。
------------
ERROR: could not access file "$libdir/tablefunc": そのようなファイルやディレクトリはありません
ERROR: function public.connectby(text, text, text, text, integer, text) does not exist
ERROR: could not access file "$libdir/tablefunc": そのようなファイルやディレクトリはありません
ERROR: function public.connectby(text, text, text, text, integer) does not exist
ERROR: could not access file "$libdir/tablefunc": そのようなファイルやディレクトリはありません
ERROR: function public.crosstab(text, integer) does not exist
ERROR: could not access file "$libdir/tablefunc": そのようなファイルやディレクトリはありません
ERROR: function public.crosstab2(text) does not exist
ERROR: could not access file "$libdir/tablefunc": そのようなファイルやディレクトリはありません
ERROR: function public.crosstab3(text) does not exist
ERROR: could not access file "$libdir/tablefunc": そのようなファイルやディレクトリはありません
ERROR: function public.crosstab4(text) does not exist
ERROR: could not access file "$libdir/tablefunc": そのようなファイルやディレクトリはありません
ERROR: function public.normal_rand(integer, double precision, double precision, integer) does not exist
------------
色々検索してみたのですが、上記エラーの情報が無い状態です。
どなたかこのようなエラーについてご存知の方いらっしゃいますでしょうか。
ご教授の程、宜しくお願い致します。。
0721NAME IS NULL
2007/07/10(火) 19:04:03ID:???手動でインストールというのは、ソースからコンパイルしたということかな?
そのソースのあるディレクトリの、 contrib/tablefunc はインストールした?
0722NAME IS NULL
2007/07/10(火) 19:07:37ID:???contrib/tablefunc/README.tablefunc
などを読みましょう。
0723NAME IS NULL
2007/07/10(火) 20:06:49ID:???ありがとうございます!
下層フォルダの物は、見てもいませんでした。。
インストールしてみます。
0724NAME IS NULL
2007/07/13(金) 19:52:38ID:???予想外に精力的な活動をしてたんだね
0725NAME IS NULL
2007/07/14(土) 10:09:41ID:s1oJSC8U2つのテンポラリテーブルtbl1、tbl2をまとめたいのですが
INSERT INTO tbl1 (id,count) SELECT * FROM tbl2;
SELECT * FROM tbl1 GROUP BY id;
とすれば、結果の表示が出来るのですけど、UPDATEを使って一行で同じ結果を得るには…
と言うか、表示の時に集計しなくて済むようにするにはどの様にすれば良いのでしょうか。
tbl1
id | name| count
---+-----+------
1 |user1|
2 |user1|
3 |user1|
tbl2
id |count
---+------
1 |10
2 |20
結果
id | name| count
---+-----+------
1 |user1|10
2 |user1|20
3 |user1|
0726NAME IS NULL
2007/07/14(土) 11:09:22ID:???データ挿入する毎に集計結果を更新すればいいんじゃないかな。
0727NAME IS NULL
2007/07/14(土) 11:17:31ID:???update tbl1 a set count = ( select count from tbl2 b where b.id = a.id )
こんな感じか? PostgreSQLで動くのかどうか分からないけど ^^;
一応、Oracleではこれでいいような気がするけど違っていたらすまそ
0728725
2007/07/14(土) 17:57:21ID:s1oJSC8Uありがとうございます。
更新はデーター挿入と同じSQL文で可能なのでしょうか?
勉強してみます。
>>727
ありがとうございます。
自分で書いたサブクエリはエラーばっかりで2日近くも弄ってましたが
ご教示頂いたSQLですんなりと動きました。ほんとに助かりました。
0730NAME IS NULL
2007/07/18(水) 04:29:19ID:F4zU+wmw>>718
ありがとうございます。
まだ試していません。
ver 8.0.3 から ver8.2.4 へバージョンアップで限定的にテストしたところ、
1/2〜1/3の時間に短縮されました。
まだ、ver8.2.4 でのEXPLAIN で Index が使用されているかどうかの確認はしていません。
0731NAME IS NULL
2007/07/18(水) 05:17:29ID:F4zU+wmwありがとうございます。
0732NAME IS NULL
2007/07/18(水) 05:19:58ID:F4zU+wmwver 8.0.3 で、テストしてみました。
2つにIndex を張ると、約1/2〜2/3に短縮されました。
ちなみに、もうひとつフィールドを増やし、
3つだと逆に3倍ほど遅くなってしまいました。
Index の張り方次第で、チューニングできそうです。
■それぞれ別に1つずつIndex を張った場合
5906ms
■2つにIndex を張った場合
3406ms
■3つにIndex を張った場合
15500ms
(例)
select * from table1
where code=1
and dateA='2007/07/06'
■それぞれ別に1つにIndex を張った場合
CREATE INDEX table1_idx1
ON table1
USING btree
(code);
CREATE INDEX table1_idx2
ON table1
USING btree
(code2);
CREATE INDEX table1_idx3
ON table1
USING btree
(dateA);
■2つにIndex を張った場合
CREATE INDEX table1_idx4
ON table1
USING btree
(code,dateA);
■3つにIndex を張った場合
CREATE INDEX table1_idx5
ON table1
USING btree
(code,code2,dateA);
0733NAME IS NULL
2007/07/18(水) 13:00:41ID:???$PGDATAをまっさら初期と同じ様にしたいのですけれども、
どうすればよいでしょうか?
またそうすることの何かリスクはあるでしょうか?
ご教示いただけると幸いです。
0734NAME IS NULL
2007/07/18(水) 16:39:08ID:???$PGDATAをどっか移して
$PGDATAは改めて initdb すればいいよ。
0736NAME IS NULL
2007/07/19(木) 11:41:17ID:???0737NAME IS NULL
2007/07/19(木) 17:10:31ID:???PostgreSQL対応をさせようという企画に関わっているのだけど…
どうやったら同士を増やせると思いますか?
あ、関わっているだけで直接コーディングしているわけではないので
細かいところはわかってないかもしれません;;
0738NAME IS NULL
2007/07/19(木) 17:25:49ID:???オレはそういうのがあったら参加したいかなあ
0739NAME IS NULL
2007/07/19(木) 20:13:38ID:???ども!
0740NAME IS NULL
2007/07/19(木) 22:15:01ID:???データベース単位で権限を付与する方法がわかりません。どうすればいいのでしょう?
0741NAME IS NULL
2007/07/19(木) 23:20:31ID:???0742740
2007/07/19(木) 23:51:31ID:???│ tableA │
│ tableB │
│ tableC │
--------------------------
こんな感じのをデータベースを指定して一気に権限付与できないかなってことです
0743NAME IS NULL
2007/07/20(金) 11:31:15ID:bJm05vQTにバージョンアップして全般的に、高速になりました。
遅かった検索が、1/4〜1/3程度に高速化。
これには、満足。
しかし、特定のGroup by の集計で、遅くなるものありました。
2秒で検索できていたものが、60秒以上かかり、
これを複数使用していると、数分〜十数分はかかるので、
応答なし、ハングアップかと思った。
これじゃ使えないなぁ。
バージョンアップされる方は、要注意です。
ver 8.2.3 で試せばよかったのかなぁ。。。
0744NAME IS NULL
2007/07/20(金) 11:36:14ID:bJm05vQT特定のパソコンで、
インストーラーでエラー。
OS:Windows 2000 SP4
『モジュール
C:\Program Files\PostgreSQL\8.2\bin\pgoledb.dll
で登録に失敗しました。
HRESULT -2147024770。
サポート担当者に問い合わせて下さい。
』
のメッセージが出る。
ドライバOLEDBを選択せず、インストールすれば、とりあえず回避できます。
Windows 2000 SP4 でもエラーにならないPCもありました。
0745NAME IS NULL
2007/07/20(金) 11:43:34ID:HKe463Bnhttp://hibi.hamazo.tv/e18229.html
0746NAME IS NULL
2007/07/20(金) 14:21:46ID:bJm05vQTご情報、ありがとうございます。
ずっと以前からあったんですね。
0747NAME IS NULL
2007/07/20(金) 14:23:28ID:bJm05vQTとりあえず、SQLの見直しで回避しました。
■ver 8.0.3 では問題ないが ver 8.2.4 で極端に遅くなったSQL
-------------------
■改善前■
-------------------
select
aa.code,
bb.code2,
sum(aa.suryo) as sum_suryo
from
table1 aa
left join table2 bb
on aa.code2=bb.code2
where
aa.hizuke='20070720'
and bb.kbn='0'
group by
aa.code,
bb.code2
-------------------
■改善後■
-------------------
select
cc.code,
bb.code2,
cc.sum_suryo
from
table1 aa
(
select
aa.code,
aa.code2,
sum(aa.suryo) as sum_suryo
from
table1 aa
where
aa.hizuke='20070720'
group by
aa.code,
aa.code2
) cc
left join table2 bb
on cc.code2=bb.code2
where
bb.kbn='0'
0748NAME IS NULL
2007/07/24(火) 16:25:00ID:???bit形式のデータをtextなりvarcharにキャストすること
できませんか?
select B'101010' :: text;
みたいな感じで。
0749NAME IS NULL
2007/07/24(火) 17:29:01ID:???関数作るのが手っ取り早いか?
0750NAME IS NULL
2007/07/24(火) 18:27:30ID:???PLでできるかなぁ?
ちょっと困っています。
0751NAME IS NULL
2007/07/24(火) 18:33:24ID:???一文字に収まる想定?
select chr(B'101010' :: integer);
とか、どうにかなるんじゃない?
0752NAME IS NULL
2007/07/24(火) 19:30:34ID:???バイナリをintにして文字コードにする(cha)
ではなくて、人間からみたら同じ'1010'なんだけど、
あくまでもバイナリのカラムに入るような値を文字列textなりvarcharに入る値
にしたいのです。
cで組めばできるんだろうけど、posgreで組んだことないです。
0753NAME IS NULL
2007/07/24(火) 22:42:51ID:???case (バイナリ & B'1000') = B'1000' then '1' else '0' end ||
case (バイナリ & B'0100') = B'0100' then '1' else '0' end ||
case (バイナリ & B'0010') = B'0010' then '1' else '0' end ||
case (バイナリ & B'0001') = B'0001' then '1' else '0' end
ぐらいしか思いつかん。
0754NAME IS NULL
2007/07/25(水) 00:15:44ID:???なるほど。
一個一個AND取っていくやり方があるなら
ビットシフト処理でフラグを拾っていく
PLもできそうですね。
一瞬、
bit | txt
------------------
1010 | 1010
みたいなテーブル作っちゃうのが
早いような気がしてきましたが。
0755NAME IS NULL
2007/07/25(水) 06:48:36ID:sY0o2URa=> select textin(bit_out(B'1010'));
textin
--------
1010
(1 row)
0756NAME IS NULL
2007/07/25(水) 19:44:43ID:???す、すごい。
これってCの関数をコールしてるんでよね。
これでなんか問題なり制約がでてくること
ありますか?
もちろん移植性は悪いでしょうが。
0757755
2007/07/25(水) 23:47:27ID:CNk60Kvdうまく説明できる気がしないけど、
浮動小数点型だろうが幾何型だろうが、どんな型であっても
表示するときは文字列なわけだし、SQLで入力するときも
文字列なわけなので、内部でどんな風にデータを保持していても、
文字列(cstring)と変換可能なわけです。
それをやる関数がpg_type.typinputとpg_type.typoutputで、
ここでいうtextinとかbit_outとかがそれ。
0758NAME IS NULL
2007/07/26(木) 06:53:50ID:???戻ってくるんだろ」とか能天気に思っていたらコワス
0759NAME IS NULL
2007/07/26(木) 06:54:30ID:???0760NAME IS NULL
2007/07/26(木) 10:44:41ID:???なんとなくイメージはつきます。
あとは将来この処理をpgの関数としてwrapしたのが実装されると
いいなぁ。別に難しくないんだろうから。でもニーズはないかな。
ともあれありがとうございます。
0761NAME IS NULL
2007/07/26(木) 17:30:39ID:8A/qwV0/検索時にUPDATE回数分のレコードを検索対象にするってほんと?
結果は1件だけど、検索範囲がUPDATE回数分のレコードという意味です。
バキュームしないと、対象から消えないとか。
0762NAME IS NULL
2007/07/26(木) 18:54:55ID:dVEWGYsbhttp://www.postgresql.jp/document/pg813doc/html/maintenance.html
別に論理的に削除された見えないレコードも
UPDATE したりしてるわけじゃないから、
バキュームをしていなくても、
物理レコードが極端に増加していなければ、
処理速度が著しく遅いと感じることはないと思います。
PostgreSQLのバージョンによって違うようですが、
処理速度が著しく遅く感じるのは、
おそらく、INDEXが有効に機能していなかったり、
複合的なSQL文場合の解析、内部処理に問題がある場合のようです。
その場合、SQL文の書き方を変えることができる場合だと、
改善できる可能性があるようです。
0763NAME IS NULL
2007/07/26(木) 19:35:10ID:dVEWGYsbひとつの同じレコードを10回、UPDATEしたら、
見えているレコードは、1000レコードのままですが、
実際に存在している物理レコードは、
1010レコードあるってことですよね。
バキュームすると、
1000レコードに減るということだと思います。
例えば、
1000レコードしかない固定的なテーブルでも、
毎日、UPDATEを1000レコードに対して行うようなテーブルだと、
または、毎日、DELETE & INSERT で1000レコードに対して行う場合で、
バキューム処理をしていないと、
日に日に、物理レコードが増えていくことになりますよね。
そういうテーブルを毎日など参照する頻度が高いようなら、
バキューム処理を適時、行った方がよいということになりますね。
例えば、得意マスタのあるカラムに便利なように最新情報を保持しようと
全レコードに対して毎日などUPDATEしているような仕組み、設計だと、
日に日に、マスタの物理レコードが増えていきますね。
結局は、どんな仕組み、設計にするにしても、
UPDATEやDELETEは、必ず発生するわけですから、
バキューム処理は、適時行ったほうがよいということには、
変わりはないと思います。
0764NAME IS NULL
2007/07/26(木) 20:17:51ID:dVEWGYsbバックアップファイルのサイズですが、
フルバキュームをする前と
フルバキュームをした後を比較すると、
後の方がファイルサイズが大きいようですが、どうですか?
物理レコードの削除の領域より、なんらかの管理レコードの方が増えるからなのでしょうか?
0765NAME IS NULL
2007/07/26(木) 20:26:38ID:???参考になるかも
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20070409/267852/
0766NAME IS NULL
2007/07/26(木) 22:06:04ID:dVEWGYsbありがとうございます。
すべて簡単には理解できない内容ですが、(^^;
参考になります。
ファイル容量の肥大は問題となるレベルではありませんが、
ver 8.3 の 新機能 HOT で、さらに高速になるのは、期待ですね。
0767NAME IS NULL
2007/07/26(木) 22:09:11ID:E0VDLWtx0768NAME IS NULL
2007/07/27(金) 00:18:37ID:???「検索対象」というのには語弊がありそうだが、
MVCCも絡んでるし、有効かどうか選択されているはず。
(少なくとも7.x以前はそうだった)
参照トランザクションがなくなった時点で無効レコードに指定
していって、検索対象から外れりゃいいのだろうけど、
その判断をすべてVACUUM実行時にまわした結果かな。
ちなみに、トランザクションをアボートしても、その間で
発行されたINSERTやUPDATEでも不要領域は増えます。
0769NAME IS NULL
2007/07/27(金) 07:28:50ID:???7.3以降の話をすると、インデックスでの検索ならば、
「UPDATE後の次の検索」は、確かに空振り(ゴミも検索)がある。
ただ、そのときにインデックスにフラグが立つので、
2度目以降の検索では、無駄な行のピックアップはしない。
なので、最悪でも「2倍程度は損をしている」という理解でOK。
もちろん、検索が更新より多ければ、もっと効率は良くなる。
0770NAME IS NULL
2007/07/31(火) 12:01:32ID:jnuhsF8J1回/時間で通常Vacuum(FULLでない)を行っていますが、
Vacuum実行時間帯に、稀にアプリの実行時間が、
平均300msecのものが、4〜7secになることがあります。
原因調査中ですが、通常Vaccumでも、ロックがかかるようなことがあるのでしょうか?
0771NAME IS NULL
2007/07/31(火) 17:07:58ID:NYEBxcjnとあんまポスグレ知らない俺が予想してみる
0772NAME IS NULL
2007/07/31(火) 21:21:37ID:???起こる間隔が一定なら、チェックポイントかなぁ。
チェックポイントやbgwriterのまわり弄ってみて。
0773NAME IS NULL
2007/08/03(金) 18:56:30ID:???これってバックアップを取る場合は普通にpgpoolのポートに対してpg_dumpで良いの?
リストアもpgpoolのポートに対してpg_restoreで良いんだろうか。
pgpoolの開発サイトにその辺の事が載っていないので躊躇ってる。
あと、pgpoolはpgAdminIIIに対応しているのかしら?
0774NAME IS NULL
2007/08/07(火) 10:38:55ID:???サボってかなりの期間vacuumを行わないでいたのですが、
vacuumdb -d sampledb
としたところ
NOTICE: number of page slots needed (41234) exceeds max_fsm_pages (20000)
HINT: Consider increasing the configuration parameter "max_fsm_pages" to a value over 41234.
VACUUM
てな感じでウォーニングが出てしまいました。
おそらくpostgresql.confでの”max_fsm_pages”の設定値を41234以上にすれば
良いとも思うのですが大丈夫でしょうか?
また設定をいじらず単にvacuum fullを行ったほうが良いとの情報もありますが、
8.1の場合どちらがいいのでしょうか。
またそのほかこの状況下でvacuum処理に関わるリスク、留意点は
何がありますでしょうか。(例えばdumpのバックアップは必須とか)
ご教示いただければ幸いです。よろしくお願いいたします。
0775NAME IS NULL
2007/08/07(火) 11:19:30ID:???その後、autovacuum = on にして放置。
0776774
2007/08/07(火) 11:55:29ID:???挙動がおかしかったので現在はoffにしています。
その時、あまりにもおかしかったのでちょっと躊躇しています。
また、vacuum full は一部バグがあるという情報が
あり、どうしたものかなぁとも考えています。
もう少し安心して作業できる手順なんかご経験であれば
お伺いしたいところです。
0777NAME IS NULL
2007/08/07(火) 14:46:08ID:???仮にそんな挙動があったとしても、autovacuum が原因ではない。
autovacuumと、手でvacuumを叩くのとは、本質的な違いはない。
> vacuum full は一部バグがあるという情報
古いバージョンだと、高負荷時に問題があった。
最新版に入れ替えるか、いったんアクセスを止めたあと叩けば問題は無い。
ちなみに、autovacuum は、勝手に full することはない。
「安心」したいのならば、最新版にバージョンアップした上で、autovacuum = on にすべき。
よほどキルが無い限り、マニュアルで管理されていることほど危ないことは無い。
0778774
2007/08/08(水) 07:04:49ID:???極端な話vacuumもいらんのです。
バージョンアップしてデータ移行した時点は無駄なタプルは
ないわけですから、都度都度バージョンアップすればいいのです。
autovacuumは運用上高い負荷時に処理が
追い付かないことがあるようです。
マニュアルでもautovacuum、cronでのvacuum
かは運用形態にあわせて任意です。
一義的にautovacuumにせよとは書いていないと思います。
0779NAME IS NULL
2007/08/08(水) 08:15:33ID:???0780774
2007/08/08(水) 11:27:08ID:???0781NAME IS NULL
2007/08/08(水) 11:48:07ID:???autovacuumをあえて使わないんじゃなくてさぼってただけなんでしょ
cronでもautoでも好きなほう使えばいいじゃん
0782NAME IS NULL
2007/08/08(水) 11:59:09ID:???手動でやるのがいいんじゃないかな。
自分の目で確認できるしね。
0783NAME IS NULL
2007/08/08(水) 21:15:33ID:???どっちもサボっていた上に、まともに初期設定もしてないんだろ?
警告が出たあと取り乱しているのが滑稽だ。
0784NAME IS NULL
2007/08/10(金) 16:50:38ID:???例えば、戻り値の指定がSETOF RECORDである関数、
CREATE FUNCTION test(integer) RETURNS SETOF RECORD AS ...
があったときに、呼び出し側で、
SELECT * FROM test(1) AS t(id integer, id2, integer)
のように書く必要があるように思うのですが、関数側で呼び出しのAS以下を指定する方法は無いでしょうか。
返すRECORDが複雑になってくると、いちいち書くのが面倒くさいのです。
よろしくお願いいたします。
0785NAME IS NULL
2007/08/10(金) 17:39:27ID:???関数側で指定すると言うことは、ある決まった型を必ず返すと言うことだよな。
CREATE TYPE testfunc AS (id integer, id2, integer);
って型を作っておいて、
RETURNS SETOF testfunc AS ...
ってすればいいんじゃね。
0786NAME IS NULL
2007/08/10(金) 21:37:24ID:???0787784
2007/08/10(金) 22:27:48ID:???>>786
ありがとうございます。
とりあえず、785さんの方法で解決しました。
OUT引数についても調べて(み|い)ます。
ありがとうございました。
0788NAME IS NULL
2007/08/15(水) 16:31:31ID:???もう8月中旬だぜ。
0789NAME IS NULL
2007/08/19(日) 19:12:26ID:???http://journal.mycom.co.jp/articles/2007/06/15/postgresql/001.html
10月だろ。
0791789
2007/08/21(火) 00:52:31ID:???http://archives.postgresql.org/pgsql-hackers/2007-07/msg00633.php
ついでに、betaが9月に出るんじゃないかって話はある。
0792NAME IS NULL
2007/08/24(金) 00:25:17ID:p0WYYhYJitemテーブルのshopidには、shopテーブルのidのいずれかしか入力出来ないように制限することは可能でしょうか?
A店では品Aと品Bを取り扱っているというものです。
そもそものテーブルの設計を間違えているようでしたらご指摘頂ければと思います。
shopテーブル
id |name
--+-----
1 |A店
2 |B店
3 |C店
itemテーブル
shopid |name
------+------
1 |品A
1 |品B
2 |品C
2 |品D
3 |品E
0793NAME IS NULL
2007/08/24(金) 01:15:49ID:???詳しくは外部キー制約でググってみそ。
CREATE TABLE itemテーブル (
shopid integer REFERENCES shopテーブル(id),
name text
);
shopテーブルのidはプライマリーキーになってるかユニーク制約が掛かっていること。
itemテーブルにもプライマリーキーがほしいところ。
UNIQUE(shopid,name)制約も掛けておいた方がいいかな。
0794792
2007/08/24(金) 22:09:48ID:???コマンドまで教えていただきありがとうございます。
以下のコマンドで作成しました。
複数の列で一意にする制限もできるんですね。
CREATE TABLE shop (
id SERIAL PRIMARY KEY,
name varchar(40) NOT NULL
);
CREATE TABLE item (
id SERIAL PRIMARY KEY,
shopid integer REFERENCES shop(id),
name varchar(40) NOT NULL,
UNIQUE(shopid,name)
);
0795NAME IS NULL
2007/08/28(火) 23:33:08ID:Np2tXOAqintにして 0 or 1 を入れるようにすれば実現できるのですが、2などの例外が入ってしまう可能性があるので。
単純にon/offの型があればいいのですが。
shop
id |name |chk
--+------+--
1 |A店 |0
2 |B店 |1
3 |C店 |0
0796NAME IS NULL
2007/08/28(火) 23:36:32ID:???boolean not null で駄目なのか?
0797795
2007/08/28(火) 23:45:00ID:???うわぁ、そんなものがあったんですね。
よく調べずすいません。。。
今は環境がなく試せませんが明日やってみます。
ありがとうございます。
0798NAME IS NULL
2007/08/31(金) 13:53:19ID:f4y0TXM40799NAME IS NULL
2007/08/31(金) 14:48:11ID:???変更に酸性。
名付けは細木数子に頼むのが良い。
0800NAME IS NULL
2007/08/31(金) 16:58:08ID:f4y0TXM4名前を変えるよりロゴを萌え絵にしろよw
0801NAME IS NULL
2007/08/31(金) 19:39:18ID:QYPZ7Orqクライアントに提案しづらくなる・・・
0802NAME IS NULL
2007/08/31(金) 23:03:17ID:???0803NAME IS NULL
2007/09/01(土) 21:47:55ID:???あれって何か違い出るの?
0804NAME IS NULL
2007/09/02(日) 01:00:27ID:???ふつうは管理者権限で接続するだろうから、あんまり差はない。
ユーザごとのGUC設定を使っていると意味があるかも。
vacuumdb 専用のユーザを作って、そのユーザだけ vacuum_cost_delay を設定しておくとか。
0805NAME IS NULL
2007/09/02(日) 11:21:15ID:a2+LEoyAvacuum_cost_delayってユーザ単位に設定出来たっけ?
vacuumdbに拘らなければ
psql postgres -c "set vacumm_cost_delay=10; vacuum"
でも代用出来そうな。
0806NAME IS NULL
2007/09/02(日) 16:12:11ID:???ユーザ単位のパラメータ設定
ALTER ROLE name SET configuration_parameter { TO | = } { value | DEFAULT }]
あと、最近 vacuum と一緒に他のコマンドを実行できなくなったので、
その指定方法だとうまくいかない。まぁ、ファイルを読ませればいいんだけど。
ERROR: VACUUM cannot be executed from a function or multi-command string
0807NAME IS NULL
2007/09/03(月) 08:00:08ID:EUzll27lfedoracore4でpostgresql+phpのプログラムを動かそう
としているんですが、データベースがうまく入ってくれません。
エラーです。
また本見てやっているんですが、僕の場合euc-jpではなく
UTF-8で表示されていて、それをeucにテーブルを変換して
やろうと思っているんですが入力の際にデータベースの言語がeuc-jpが最初から書いてあって
俺のはUTF8なんだが、
それを無理やり変換してEUCで入力しようとすると、
invalid byte sequence for encoding "EUC_JP"
のエラーがでます。
どうしたいいでしょうか?
よろしくお願いします。
0808NAME IS NULL
2007/09/03(月) 09:58:34ID:???0809NAME IS NULL
2007/09/03(月) 10:27:29ID:???ちゃんと変換出来てないって事
0810NAME IS NULL
2007/09/03(月) 15:12:22ID:aCl1fY0Z8.2.4だとマルチステートメントでもVACUUMは動いたけど、「最近」って8.3のHEADのこと?
0811NAME IS NULL
2007/09/03(月) 18:18:47ID:???set client encoding to 'EUC_JP'
つか、どっちがUTF-8でどっちがEUCなんだかわかりにくいぞ
0812NAME IS NULL
2007/09/03(月) 18:20:12ID:???0813NAME IS NULL
2007/09/04(火) 00:20:16ID:???to_char(time,'YY/MM/W')で週毎の集計が出来たのですが、
yahoo!ファイナンスのチャート図(下記URL先)の様な折れ線グラフを作るためのデータを取得したいのですが…
http://quote.yahoo.co.jp/q?s=2121.t&d=c&k=c3&a=v&p=m25,m75,s&t=3m&l=off&z=m&q=c&h=on
また、十日毎といっても月を跨いだ時等はどうするかが検討つきません
どなたか御教授お願いします
1月1日〜1月10日,1月11日〜1月21日,1月21日〜1月31日の様に集計
0814NAME IS NULL
2007/09/04(火) 00:49:03ID:???結局何が知りたいのかようワカラン。
とりあえず上旬(1〜10)、中旬(11〜20)、下旬(21〜月末)で集計(GROUP BY)したいと言うことなら
SELECT
to_char(time,'YYYY/MM/')||CASE WHEN EXTRACT(day FROM time) <11 THEN '上旬' WHEN EXTRACT(day FROM time) >20 THEN '下旬' ELSE '中旬' END,
count(*) -- <- 集計したい項目
FROM Table
GROUP BY to_char(time,'YYYY/MM/')||CASE WHEN EXTRACT(day FROM time) <11 THEN '上旬' WHEN EXTRACT(day FROM time) >20 THEN '下旬' ELSE '中旬' END
週間で月を跨いだ対処も、EXTRACT(doy FROM time)/7 で導き出せるんじゃね。
0815813
2007/09/04(火) 01:00:49ID:???813です。
曖昧な質問に対して的確なレス、有難う御座いました。
意図した形で集計する事が出来ました。
参考書等を購入し勉強したのですが、813さんの様なクエリは思いつきませんでした。
本当に感謝しています。
有難う御座いました。
0816NAME IS NULL
2007/09/05(水) 12:28:29ID:q0Q7e1d0ALTER TABLE table ADD CONSTRAINT table_multi_key UNIQUE (bar_id, foo_id);
で、この場合、WHERE foo_id = 100 と検索した場合このインデックスは使われるのでしょうか?
それとも別に
CREATE INDEX table_foo_id_key ON table (foo_id);
と、別にインデックスを作ったほうが高速なのでしょうか?
バージョンは8.1.5です。
ttp://www.postgresql.jp/document/pg815doc/html/indexes-multicolumn.html
ここ読んでみたんですけど、まどろっこしく書いてあって、イマイチよくわかりません。
お願いします。
0817NAME IS NULL
2007/09/05(水) 14:00:18ID:???0818NAME IS NULL
2007/09/05(水) 15:18:38ID:q0Q7e1d0サンクス!
そうか、忘れてました。すいません。
ちなみにindex使ってました。
0819NAME IS NULL
2007/09/05(水) 18:11:34ID:GcRbieQanameの多い順にランキングを出力したい場合はどのようなSQL文になるのでしょうか。
重複数を数えるやり方でもわかればいいので宜しくお願いします。
list
name
----
foo
bar
bar
foo
foo
hoge
hoge
root
問い合わせ結果
no | name | num
---+------+-----
1 | foo | 3
2 | bar | 2
2 | hoge | 2
4 | root | 1
0820NAME IS NULL
2007/09/05(水) 18:29:09ID:???SELECT name, count(name) FROM list GROUP BY name ORDER BY count DESC;
で、順位を出すにはサブクエリ使って結果のcount が少ないやつの数を数えるんだけど
tyっとオレにはすぐは書けないわ・・・
0821NAME IS NULL
2007/09/05(水) 19:08:51ID:q0Q7e1d0前は300msくらいで終わってたクエリーが40秒かかるんですけど
何か設定がいけないのでしょうか?
メモリは同じ容量(500MB)でCPUは新しいサーバーのほうが高速です。
クエリは2つのテーブル(30000レコード*1500レコードくらい)をJOINしたビューに対して検索をかけたものです。
ビューだからというわけじゃなく、JOINするとものすごく遅くなるみたいです。
shared_buffers
work_mem
temp_buffers
この辺の値を増やしてみたけど変化ありませんでした。
topコマンドでCPUとメモリの状態をのぞいてみると
postmaster CPU100% メモリ1.0%
くらいで40秒占領します。
メモリはぜんぜん使ってない感じです。
745のサーバーはルート権限を持っていないので、postgreのメモリ関係の設定がどうなっているかわかりません。
ちょっと情報が少ないですけど、何が原因心当たりのある方いらっしゃいますでしょうか?
お願いいたします。
0822NAME IS NULL
2007/09/05(水) 19:12:52ID:???0823NAME IS NULL
2007/09/05(水) 19:20:28ID:???結構コストが嵩張りそう...
SELECT ( SELECT count(*)+1 FROM (SELECT name FROM list GROUP BY name HAVING count(*) > T1.num) AS T2)AS no,
name,num FROM (SELECT name, count(*) as num FROM list GROUP BY name) AS T1 ORDER BY no;
0824NAME IS NULL
2007/09/05(水) 20:21:13ID:q0Q7e1d0FROM t_big JOIN t_small ON t_big."delete" = 0 AND t_big.small_no = t_small.small_no AND t_small."delete" = 0 AND t_small.is_hidden = 0;
こんな感じでJOINしたのがv_bigです。
上が7.4.5の時のEXPLAIN ANALYZEで下が8.1.9のです。
EXPLAIN ANALYZE SELECT big_no FROM v_big WHERE age < 20;
QUERY PLAN
--------------------------------------------------------------------------------------------
Hash Join (cost=1411.98..3660.47 rows=2838 width=4) (actual time=30.671..101.677 rows=3415 loops=1)
Hash Cond: ("outer".small_no = "inner".small_no)
-> Seq Scan on t_big (cost=0.00..2198.48 rows=4326 width=8) (actual time=0.044..61.204 rows=4398 loops=1)
Filter: (("delete" = 0) AND (age < 20))
-> Hash (cost=1409.91..1409.91 rows=827 width=4) (actual time=30.353..30.353 rows=0 loops=1)
-> Seq Scan on t_small (cost=0.00..1409.91 rows=827 width=4) (actual time=0.072..29.192 rows=828 loops=1)
Filter: (("delete" = 0) AND (is_hidden = 0))
Total runtime: 103.799 ms
EXPLAIN ANALYZE SELECT big_no FROM v_big WHERE age < 20;
QUERY PLAN
-------------------------------------------------------------------------------------------
Nested Loop (cost=0.00..1595.61 rows=1 width=4) (actual time=0.393..20364.680 rows=3501 loops=1)
Join Filter: ("inner".small_no = "outer".small_no)
-> Seq Scan on t_small (cost=0.00..116.67 rows=1 width=4) (actual time=0.016..7.542 rows=856 loops=1)
Filter: (("delete" = 0) AND (is_hidden = 0))
-> Seq Scan on t_big (cost=0.00..1478.28 rows=53 width=8) (actual time=0.006..21.900 rows=4358 loops=856)
Filter: (("delete" = 0) AND (age < 20))
Total runtime: 20366.878 ms
どうやらNested Loopが問題だったみたいです。
set enable_nestloop = off;
したら早くなりました。
postgresql.conf設定で、enable_nestloop = off にしてるとか
ALTER DATABASE mydb SET enable_nestloop TO off;
とかするしかないんでしょうか?
OFFにしちゃって問題ないんでしょうか?(Nested Loopが役に立つときはないのでしょうか?)
プランナがうまく選んでくれるよう設定でどうにかならないのでしょうか?
なんか最後質問攻めになってしまいましたが、ご意見お願いします。
0825NAME IS NULL
2007/09/05(水) 20:33:43ID:???んで、DB移した後ANALAYE Table してなかったってオチじゃないでしょうね >>824
0826NAME IS NULL
2007/09/05(水) 20:53:54ID:???[7.4] Hash Join
-> Seq Scan on t_big (rows=4326) (rows=4398)
-> Seq Scan on t_small (rows=827) (rows=828)
[8.1] Nested Loop
-> Seq Scan on t_small (rows=1) (rows=856)
-> Seq Scan on t_big (rows=53) (rows=4358)
どう見ても ANALYZE してなさそう。
0827NAME IS NULL
2007/09/05(水) 22:00:30ID:???「プランナが悪くなった」とは聞いてないけど、
同様の事例は何度か見たことがある。
「PostgreSQL & pgsql-jp ML 3テーブル目」で見たんだっけかな?
EXPLAINを知ってて、ANALYZEを知らないなんてことは考え難いし
ANALYZEしても駄目だったという報告もあった。
0828819
2007/09/05(水) 22:30:42ID:???どうもありがとうございます!
わからない箇所だらけですが解読してみます。
ほんとうにありがとうございました。
0829NAME IS NULL
2007/09/06(木) 07:52:41ID:???「きちんと動いた」ケースは、報告されないことに注意。
世の中の大半のケースでは、問題なく移行できているかもしれない。
もちろん、できていないかもしれないけど。
0830q0Q7e1d0
2007/09/06(木) 09:59:32ID:ndlSTD04今回のケースはANALYZEしてなかっただけです。
したらプランナHash Joinを選びました。
レスしてくださった人ありがとうございました。
0831819
2007/09/07(金) 19:49:09ID:???解読しようとしているのですが、
SELECT count(*)+1 FROM (SELECT name FROM list GROUP BY name HAVING count(*) > T1.num) AS T2
この部分がよくわかりません。。。
たぶんランキングの順位の番号を出していると思うのですが、どういう処理をしているのでしょうか?
0832823
2007/09/07(金) 21:48:12ID:???相関サブクエリ。GROUP BYしてるからややこしいのだけど、
単純に点数で順番をつけるときは、以下のようにする。
name | score
foo | 5
bar | 7
hoge | 6
SELECT (SELECT count(*)+1 FROM Table WHERE score > T1.score) AS no , name ,score FROM Table AS T1 ORDER BY no;
no | name | score
1 | bar | 7
2 | hoge | 6
3 | foo | 5
>>823はこれを少し工夫したやつ。
0833NAME IS NULL
2007/09/09(日) 00:07:43ID:7m3/qMSPpostgresql8.1.9を使っています。
initdbをしたところ
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale ja_JP.UTF-8.
The default database encoding has accordingly been set to UTF8.
initdb: directory "home/postgres/data" exists but is not empty
If you want to create a new database system, either remove or empty
the directory "home/postgres/data" or run initdb
with an argument other than "home/postgres/data".
のようなエラーがでたんですが、意味がわかりません。
どういう対処したらいいのでしょうか?
教えてください。お願いします。
0834NAME IS NULL
2007/09/09(日) 00:51:26ID:???すでに initdb 済みなら、そのまま使えばいい。
再初期化したいなら、rm -r $PGDATA して全部消せばいい。
0835NAME IS NULL
2007/09/09(日) 01:17:56ID:???0836NAME IS NULL
2007/09/09(日) 02:26:59ID:7m3/qMSPうまくできなかったので、最初からインストールから
やっています。
なんでできなかったのかわからないのですが、
後もうひとつ質問なんですが、
initdb --pgdata=/home/postgres/data
cd/home/postgres/data
した場合ls -lで
いろんなファイルがでてくるはずなんですが、
すくなくともpostgresql.confなど
自分のPCにはでてこないのですが、どうしてでしょうか?
パスは
export PATH=$PATH:/usr/local/pgsql/bin
export MANPATH=$MANPATH:/usr/local/pgsql/man/
export POSTGRES_HOME=/usr/local/pgsql/
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=/home/postgres/data
です
0837NAME IS NULL
2007/09/09(日) 06:26:26ID:7m3/qMSP836わかる方お願いします。
0838NAME IS NULL
2007/09/09(日) 12:04:46ID:???1>
質問するなら自分の中の独り言を混ぜるな
2>
多分initdb出来てねえからじゃねえかと思うが
あとそういう時は ls -l よりも ls -al
0839NAME IS NULL
2007/09/09(日) 21:50:18ID:7m3/qMSPみなさんはどのようにしてやりましたか?
自分はfedoracore4で
php+postgresqlで作る実用システムと
php+postgresqlで作るwebシステムとサイト
を見てやっているんですが、まだ、postmasterの起動
もままならないです。
どういう本やサイトを見ればphp+postgresqlの
構築ができるでしょうか?
こういうサイトがあるよとかこういう本があるよ
とか教えていただければ幸いです。
0840NAME IS NULL
2007/09/09(日) 22:46:17ID:???PostgreSQLを動かすくらいだったらググるだけで出来たよ。
0841NAME IS NULL
2007/09/10(月) 00:26:18ID:i9bzVQHHなんか書籍がすくなくてfedora core4でやった人
いませんか?
0842NAME IS NULL
2007/09/10(月) 00:28:40ID:???0843NAME IS NULL
2007/09/10(月) 00:57:48ID:i9bzVQHHwebアプリを自宅サーバーで動かしたいんです。
yumでpostgresqlをいれてやってもできなくて、
ダウンロードしてやるようにしています。
0844NAME IS NULL
2007/09/10(月) 01:27:31ID:???しつこい。
明確な回答が得られないのは、質問の仕方が悪いからだと理解しなさい。
0845NAME IS NULL
2007/09/10(月) 02:49:24ID:???お前のように頭が悪いやつには無理
0846NAME IS NULL
2007/09/10(月) 04:58:55ID:i9bzVQHH0847NAME IS NULL
2007/09/10(月) 06:28:17ID:???yumでダメならソースからコンパイル汁。
0848NAME IS NULL
2007/09/11(火) 09:32:20ID:???pg_dumpのあとにnkf使って変換することに意味あるのかな、と気になりまして。
どなたかご存知でしたら、教えて頂けませんでしょか?
0849NAME IS NULL
2007/09/11(火) 09:53:29ID:???まあ直接書き換える最終手段は、時には有効だが
0851NAME IS NULL
2007/09/17(月) 07:28:06ID:BM21nJlH0852NAME IS NULL
2007/10/02(火) 03:20:18ID:???ttp://archives.postgresql.org/pgsql-hackers/2007-09/msg01199.php
0853NAME IS NULL
2007/10/03(水) 01:02:40ID:cKWyHEcN0854NAME IS NULL
2007/10/03(水) 02:56:50ID:???0855NAME IS NULL
2007/10/04(木) 00:53:09ID:???FreeBSD6.2でPostgreSQL7.4.17使ってるんですが、
PostgreSQLの管理用アカウントと同じ名前のDBって必要ですか?
initdbを実行すると、template0とtemplate1と出来ますけど、
postgresっていうDBは必須なのかな…と疑問に思いまして。
DB関連の情報(メタデータ?)はtemplate1に入るから、必須じゃないのかな?
ご存知の方いらっしゃいます?
0856NAME IS NULL
2007/10/04(木) 03:10:53ID:???必要ない
0857NAME IS NULL
2007/10/04(木) 07:40:23ID:???createdb とかがデフォルトで接続するデータベースなので、
drop するとそれらのユーティリティコマンドがエラーが出る場合がある。
まぁ、代わりに template1 につないで CREATE DATABASE すれば良いので、必須ではないけど。
0858NAME IS NULL
2007/10/04(木) 08:36:20ID:???ありがとうございます。
任意だったのか…。
template1を参照するようにします。
0859NAME IS NULL
2007/10/06(土) 18:15:06ID:3Tvo6iqU0860NAME IS NULL
2007/10/08(月) 10:16:07ID:HIdUZyeW本家のアナウンスはまだだけど、山大のサイトからは取れるんだな
ttp://ftp.yz.yamagata-u.ac.jp/pub/dbms/postgresql/source/v8.3beta1/
0861NAME IS NULL
2007/10/08(月) 21:44:19ID:HIdUZyeWttp://www.postgresql.org/ftp/source/v8.3beta1/
0862NAME IS NULL
2007/10/10(水) 05:12:31ID:L6dZ+qSxhttp://journal.mycom.co.jp/news/2007/10/09/025/index.html
0863NAME IS NULL
2007/10/16(火) 00:08:35ID:???使いやすい?
0864NAME IS NULL
2007/10/24(水) 16:34:52ID:BHsGSzOMバージョンアップにより、全般的にかなり早くなったようですが、
特定のSQLでは、極端に遅くなってしまう場合もあるようです。
その場合は、SQLを工夫して、変更すれば対処できるかもしれません。
下記の場合の例があるので、ご参考に。
>>747
あとは、8.3 の登場を待つしかないかな。
0865NAME IS NULL
2007/10/29(月) 12:42:43ID:K87H+Eo20866NAME IS NULL
2007/10/29(月) 22:40:51ID:???0867NAME IS NULL
2007/10/31(水) 21:15:13ID:PtM07kiJbeta1の時にはパスに1って入ってたのに、beta2からは数字なし。しかも本家のページからは辿れないw
0868NAME IS NULL
2007/11/01(木) 10:27:34ID:???0869NAME IS NULL
2007/11/01(木) 18:03:47ID:dyRDA18AWindowsの方のpostgresっていうアカウントは削除しておk?
0870NAME IS NULL
2007/11/01(木) 18:38:20ID:???サーバとして使うなら必要。
0871869
2007/11/01(木) 19:33:50ID:???一応、残しとくよ。レスありがとう。
0872NAME IS NULL
2007/11/01(木) 20:31:07ID:???0873NAME IS NULL
2007/11/02(金) 11:41:48ID:A+w3KhOw皆通って来た道だがんがれ。
多分100回はOSごとインストールし直すとおもぶ
0874NAME IS NULL
2007/11/02(金) 12:43:30ID:???0875NAME IS NULL
2007/11/02(金) 13:45:02ID:pzafmDcdcgi から Postgres にアクセスできません。以下のエラーが発生します。
ERROR: permission denied for relation sessions
ERROR: current transaction is aborted, commands ignored until end of transaction block
Apache は www-data というユーザー名なのですが、linux のシェルからは www-data ユーザーでアクセスできます。
debian:~# su - www-data
www-data@debian:~$ psql somedb
somedb=> insert into sessions (id) values ('12345');
INSERT 0 1
somedb=> \z sessions
Access privileges for database "somedb"
Schema | Name | Type | Access privileges
--------+----------+-------+------------------------------------------------------------------
public | sessions | table | {"someuser=arwdRxt/someuser","=arwdRxt/someuser"}
(1 row)
linux シェルから www-data ユーザーで cgi(perlスクリプト)を実行しても同様のエラーになりました。
someuser ならば cgi を実行できます。
これはどこに問題があるのでしょうか?(Postgres or cgi?)
アドバイスお願いします。
0876NAME IS NULL
2007/11/02(金) 22:56:27ID:???DBIのconnectの例文を読めば分かる
0877NAME IS NULL
2007/11/02(金) 23:11:35ID:???Windowsでやったことないもんで。
0878867
2007/11/02(金) 23:29:48ID:???今後は最新のbetaには番号を付与しないパス名にするんだろうな。
0879NAME IS NULL
2007/11/03(土) 00:18:16ID:Ng9uGUy5けど、Solaris上でPostgreSQL使ってる奴なんて見たことないな
0880NAME IS NULL
2007/11/03(土) 01:09:23ID:Lnnx883Uウウチは普通に使ってる
7.4と8.2で
ミッションクリティカルな観測系のシステムに使ってみてる トランザクション数はぼちぼちあるほうだと思うけど
ただ、試すならマイナーバージョンが古いのはオートバキュームがバグもちなんで対策済みのものを使うことをお勧め
VS派なんでSQL鯖2005のが好みだけどPostgresのパフォーマンスも悪くないと思うよ 特に8.xになってSELECTマシになった気がする
のは気のせいかもしれんが
0881NAME IS NULL
2007/11/04(日) 22:01:58ID:47ZLt+ou0882NAME IS NULL
2007/11/05(月) 14:50:33ID:???んにゃ、7.4はcygwin上でないと使えないべ
windows native対応は8.0から
0883875
2007/11/05(月) 15:07:24ID:???スレよごしすみませんでした。
>876 レスありがとうございました。
0884NAME IS NULL
2007/11/06(火) 18:16:34ID:???うちも普通にSolarisにPostgreSQLだ。
プリインストールのPostgreSQLが邪魔だw
0885NAME IS NULL
2007/11/08(木) 01:03:47ID:s9agLjsJ使った事無いけどkwsk
Linuxとかに標準搭載のPostgresみたいなものなのかな?
てかみんな実務でバージョンいくつ使ってる?
ウチは今のところ7.4なんだが
0886NAME IS NULL
2007/11/08(木) 09:40:16ID:???バキュムも改善されてるし、なにより速い。
正直オーコーと変わんないよ。
てかここウィンのposdgreでしょ。
0887NAME IS NULL
2007/11/09(金) 00:40:41ID:???【Windows】【対応】はPostgreSQL 8.0以後は「Windows対応」したことを
表しているだけ。
もう十分周知されていると思うので、次スレでは「Windows対応」の文字は
消した方がよいと思う。
0888NAME IS NULL
2007/11/09(金) 09:36:49ID:???最初にスレタイ見たとき、Windows専用かと思った
0889NAME IS NULL
2007/11/09(金) 10:21:20ID:???0890NAME IS NULL
2007/11/09(金) 12:48:02ID:???0891NAME IS NULL
2007/11/09(金) 19:35:31ID:???UNIQUE 制約の付いたカラムがに重複するレコードを INSERT 使用としたときに出る
エラーって「 23000 整合性制約違反 integrity_constraint_violation」 でええのか?
0892NAME IS NULL
2007/11/10(土) 20:21:08ID:???だと思うが。
0893NAME IS NULL
2007/11/11(日) 10:36:38ID:04zEFGg4うちは 8.1 使ってます。8.2がサブクエリで遅くなるケースがあるって
どっかで読んだので8.2は止めてます。pgpoolで2重化もしてますが、今んとこ
とくにトラブルないです。sqlの書き方で、indexをうまく使ってくれない
ケースが2回くらいあったけど、その他は不満なし
0894NAME IS NULL
2007/11/12(月) 01:42:18ID:???環境:WindowsXP-PostgreSQL8.2.0
症状:
いつの日かpgAdminIIIを起動して使用してるDBを開こうとすると
正常に見えることもあるが、 エラー(コネクティングエラー)を吐いたり、
保存してあるはずのパスワードを聞かれたりして(ちゃんと入力してもエラーとなる)
動作が不安定となる。しばらくは騙し騙し使っていたが、全く開かなくなったので、
再インスコしようと思いDBをバックアップをしようと思ったですが、
pg_dumpも同じエラーで起動できずに困ってます。
DB領域を消さずに再インスコしてアタッチできるでしょうか?
また最初のインスコ時にDB領域を変えていないのでデフォだと思うのですが、
その場所ってどこだか教えて下さい。
0895NAME IS NULL
2007/11/12(月) 03:02:47ID:???データ壊れてなけりゃ同じバージョン、同じOSならそのまま使える。
場所は、postgresql.confのあるところだよ。
メニューにeditの項目あるべ。
Program Files\PostgreSQL\8.2\data だと思う。
不安定なのに同じエラーとはどういうこと?
0896894
2007/11/12(月) 06:59:46ID:???レスありがとうございます。
恐らく不安定で動かない時はサービスが停止しちゃっている様子みたいです。
一度再インスコしてみます。
ただ不安要素としてThinkPad X60を使用しているのですが、
これって最初からパスワードを別に覚えさせるThinkVantage Client Security Solution
というソフトが入っていることですかね。。。
これが何やら悪さしてる気がしなくもないです。
0897JPUG中の人
2007/11/12(月) 16:53:14ID:uz0r3I2Dhttp://www.postgresql.jp/
0898NAME IS NULL
2007/11/12(月) 17:22:27ID:???という事で無職の人間が行ってもいんですかねー。
やぱ会社員じゃなきゃだめなんですか。
0899NAME IS NULL
2007/11/12(月) 20:02:49ID:???0900NAME IS NULL
2007/11/12(月) 20:09:38ID:BUYdaGs/0901NAME IS NULL
2007/11/13(火) 02:04:12ID:???そ そうなんですかー なんかこわいな。
でもエントリはOKなんですね。よかった。
バックアプとフェイルオバ どうやってるのか聞いてこようっと。
実際やってないとこ多いからねw U know.
0902NAME IS NULL
2007/11/13(火) 17:05:30ID:???すごい言い切りだ
0903NAME IS NULL
2007/11/14(水) 01:54:13ID:CafCLU7ehttp://journal.mycom.co.jp/articles/2007/11/08/pgpool/index.html
8.3の登場に合わせて、pgpool-IIIが出るんだっけ?
pgpool-IIはまだパフォーマンス問題があるらしいから、
早く解決してくれないかなー。
0904NAME IS NULL
2007/11/14(水) 02:11:52ID:???pgpool-II ver2でそ
0905HNRyEnsjgBP
2007/11/14(水) 04:05:16ID:???0906CBixsqWakAPEvKEcCM
2007/11/14(水) 04:18:09ID:???0907NAME IS NULL
2007/11/14(水) 09:15:38ID:???ややこしいネーミングw
2.2とかにしとけよ
0908NAME IS NULL
2007/11/14(水) 09:24:53ID:???0909NAME IS NULL
2007/11/14(水) 20:58:59ID:???PostgreSQLでSQL Serverで言うところのリンクサーバみないな
機能ってありますが?
社内で稼動中のOracleのテーブルをPostgreSQLから参照して
サービスを提供するような物を考えているのですが方法が分かり
ません。
Oracle側は別部門の管理で参照する権限しかないので、テーブル
の参照内容をPostgreSQLへ取り込みたいのです。
なにか良い方法は無いでしょうか?
0910NAME IS NULL
2007/11/14(水) 21:34:52ID:Ukk+YMyt参照だけならSELECT権限だけで充分じゃないの?
なにがしたいのかわからん。
InstantClientとかOO4Oで繋げたら?
0911NAME IS NULL
2007/11/14(水) 21:39:16ID:???0912NAME IS NULL
2007/11/14(水) 21:46:56ID:???PostgreSQLに接続して、Oracleのテーブルを参照しようってこと?
0913NAME IS NULL
2007/11/14(水) 21:57:19ID:???DBI-Link (http://pgfoundry.org/projects/dbi-link/) かな。
使ったこと無いけど。
0914NAME IS NULL
2007/11/14(水) 21:58:19ID:???ご意見ありがとう御座います。
色々な方法を模索しているのですが、InstantClientとOO4Oに
ついても調べてみます。
>>912
そんな感じです。
ある時点でのOracleのテーブル内容をPostgreSQLに蓄積したいのです。
一定間隔(1時間毎とか)でOracleのテーブル内容をPostgreSQLのテーブル
に保存して履歴の調査などに使えないか考えているのです。
0915NAME IS NULL
2007/11/14(水) 22:13:49ID:???あうDBの参照結果を別のDBに格納する事
実に当たり前の事と思う。
0916NAME IS NULL
2007/11/15(木) 00:43:46ID:???一定間隔でいいのなら、
sqlplusでOracleからテキスト書き出し → copyでPostgreSQLにテキスト取り込み
なんてスクリプトをcronで回せばいいんぢゃね?
0917NAME IS NULL
2007/11/15(木) 02:16:23ID:???まぁなんでもできるねw
0918TujNscDrzxsldtbRFZb
2007/11/15(木) 17:32:19ID:???0919pkjISmVIPWDmaruCCJ
2007/11/15(木) 17:35:02ID:???0920ARrTwEKZZKTvt
2007/11/15(木) 17:45:43ID:???0921NAME IS NULL
2007/11/16(金) 11:07:14ID:???何だったか (うるおぼえ) ここで質問させてもらったんですけど、8.2 での UTF-8 使用って問題ない
ですかね?
0922NAME IS NULL
2007/11/16(金) 12:15:04ID:???0923NAME IS NULL
2007/11/16(金) 12:43:34ID:???まさかとは思うが、 Like '*あ*' とかやってね? Like '%あ%' でやってる?
0924NAME IS NULL
2007/11/16(金) 12:43:47ID:???うろ覚えだけどこんな挙動だったような。
CREATE DATABASE HOGE WITH ENCODING ???;
CREATE TABLE A(X VARCHAR(20)) WITHOUT OIDS;
INSERT INTO A(X) VALUES('あいうえお');
SELECT * FROM A WHERE X LIKE 'あい%';
UTF-8 / 8.1 / Win → 0 件 ← ???
EUC-JP / 8.1 / Win → 1 件
UTF-8 / 8.1 / Linux → 1 件
UTF-8 / 7.? / Linux → 1 件
その時にここで質問して Win 版で UTF-8 は問題あるからやめとけと言われ、
特に UTF-8 にこだわる必要もなかったので EUC-JP にしたんだけど、その後
バージョンアップでどうなったのかなーと思って。
0925NAME IS NULL
2007/11/16(金) 14:32:17ID:???initdb で locale の設定してたとか?
0926NAME IS NULL
2007/11/16(金) 14:33:56ID:???0927NAME IS NULL
2007/11/16(金) 18:44:56ID:p3r+CAEx今、その提示したSQLで試したけど、
8.24では問題ない。
使用環境がわからないけど、
pgAdminVでもそういう結果になるのかな?
ODBCとかJDBCとか使ってる?
バキュームすると問題解消するとかじゃないかね?
0928NAME IS NULL
2007/11/16(金) 19:47:09ID:p3r+CAEx自分の知っている言語で作成すれば簡単で何でも可能でしょう。
しかし、そもそも参照権限しかないのに、
テーブル内容をコピーして保存して利用するという点に問題があるような気もしますが。。。
(^^;
履歴調査などのためなら、
システム管理者が、普通にOracleで構築すればよいのでは?
別サーバーで低コストで管理ということなんでしょうが。。。
0929NAME IS NULL
2007/11/16(金) 21:13:56ID:???ご意見ありがとうございます。
定期的にOracleから取得するように、適当な言語で作成する
事にします。
参照するOracleは工場の生産制御のサブシステムのレプリ
マシンに相当するのですが、色々と決まりがありまして、
更新は上位のシステム以外は認めない事になっているのです。
まー、Oracleが中心になっている生産制御Sで実現すれば良いの
ですが、要するにお金が無いのです。
0930NAME IS NULL
2007/11/16(金) 22:29:12ID:p3r+CAEx社内規約やコスト面、大変ですね
Win版でXpや2000などでも十分、運用できると思いますよ。
0931NAME IS NULL
2007/11/16(金) 22:41:38ID:p3r+CAExServerOS は必要になるので、Linux がいいですね
WinXpだと1、2週間に1度は再起動した方がいいかもしれません。(かな?!)
0932NAME IS NULL
2007/11/16(金) 22:57:20ID:???0933NAME IS NULL
2007/11/17(土) 10:11:48ID:I/wB30qE止めないバキュームのバグあっから
0934NAME IS NULL
2007/11/17(土) 11:13:33ID:???0935clLrWjkUphKMrUglz
2007/11/17(土) 22:30:58ID:???0936WxCoZzThB
2007/11/17(土) 22:38:06ID:???0937NAME IS NULL
2007/11/19(月) 23:28:06ID:D/q9dvA50938NAME IS NULL
2007/11/20(火) 12:54:19ID:rhmS86RL0939NAME IS NULL
2007/11/20(火) 13:58:04ID:???半年に一回くらいでいーと思うが。
0940NAME IS NULL
2007/11/20(火) 14:11:24ID:???0941NAME IS NULL
2007/11/20(火) 20:40:55ID:wWhiZNbuhttp://want-pc.com
0942GLavAEgusjYUzyjbY
2007/11/20(火) 21:31:51ID:???0943dpNCMaOXZUNHWSqplQr
2007/11/20(火) 21:43:13ID:???0944VpHdUsgipGrBjFuXB
2007/11/20(火) 21:57:18ID:???0945NAME IS NULL
2007/11/21(水) 09:53:25ID:RdYUib7r0946NAME IS NULL
2007/11/21(水) 10:20:35ID:???☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
【 あなたのタイピングどのくらい!? 】 2007/11/21 配信
制限時間内に表示される画像内の、数字やアルファベットを次々とタイプ入力していく。
あなたのタイプ成功率が刻々と表示されていく。また、その時々のランキングにも表示さ
れていく。都道府県別のランキングもあれば、それぞれ友達と好きなチームを作り競い
合うチーム別ランキングもあって楽しめれる!
また、タイプが成功したものはそのまま、「 国別対抗オンラインクリックゲーム 」の日本
チームのクリック数に貢献される。数々の激戦を戦い抜いてきた日本チームも、現在は
強敵ハンガリーチームに続いて第2位となっている。タイプの練習がそのまま日本チー
ムの優勝に貢献するかも!?あなたもぜひやってみては?
参加するには各種のツールを使う方法もあるが、まずはアクセスするだけでサイトから
簡単にできる「 小町 」をお試しください。なれてきたら各種ツールを試すのも楽しい。
タイプ入力サイトその1「 小町 」
http://f106.dyndns.org/komachi/cgi/acsupporter/supporter.cgi?m=ff
「 国別対抗オンラインクリックゲーム 」については、日本チームのオフィシャルサイトで。
http://clickjapan.jp/
※上記サイトはすべて「 国別対抗オンラインクリックゲーム 」日本チームの有志の
方達の運営で、すべて無料です。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
0947NAME IS NULL
2007/11/21(水) 21:55:29ID:wDK2HCC/だれかベータ版使った人います?
0948NAME IS NULL
2007/11/21(水) 22:15:14ID:uCKeYZ7l使ってるけど、HOTはすごすぎ。
VACUUMいらねってぐらいゴミがでない。
0949NAME IS NULL
2007/11/21(水) 23:27:50ID:???ttp://journal.mycom.co.jp/news/2007/11/20/044/index.html
0950NAME IS NULL
2007/11/21(水) 23:29:54ID:???ttp://journal.mycom.co.jp/special/2007/postgresql/index.html
HOTや分散チェックポイントもいいが地味に並列CREATE INDEXが入っているのはいいね。
どうせならALTER TABLE 〜 ADD COLUMN 〜も並列にできるようにしてほしい
0951NAME IS NULL
2007/11/21(水) 23:44:33ID:???凄そうですね〜。僕も試してみます。
0952NAME IS NULL
2007/11/22(木) 01:02:20ID:???Vistaでは稼動しないよね?
0953NAME IS NULL
2007/11/22(木) 04:36:28ID:Vex/ynntいずれ、レプリケーションを使用したいので、
Win版からLinux版に移行しないといけないかもしれませんが、
移行するのは比較的簡単ですかねぇ?
Linux版ってコンパイルしてからの導入になるんですかねぇ?
0954952
2007/11/22(木) 04:43:55ID:???おさわがせしますた・・・
0955NAME IS NULL
2007/11/22(木) 10:05:49ID:???できるよ。ユーザー作成にちょっとコツがいる
0956NAME IS NULL
2007/11/22(木) 10:06:36ID:???0957NAME IS NULL
2007/11/22(木) 10:38:55ID:???0958NAME IS NULL
2007/11/22(木) 14:32:36ID:???オレはあらゆるやつに入れてる。
WinはpgAdminIIIのついでに入れたが、これだけでクライアントもサーバも
一通り動いてるので、テストにちょうどいいや。
0959NAME IS NULL
2007/11/22(木) 15:24:39ID:lCln3Y5OOracle の sqlplus で言う "show user" を psql でやりたいのです。
0960NAME IS NULL
2007/11/22(木) 15:40:37ID:???create table pref_mst(
pref_id int primary key,
pref_name text not null
);
create table city_mst(
city_id int primary key,
city_name text not null,
pref_id int not null references pref_mst(pref_id)
);
create table zip_mst(
zip char(7) not null,
local_name text not null,
city_id int not null references city_mst(city_id),
primary key (zip,local_name)
);
という親子関係のある3テーブルがあり結合してSELCTしたいのですが
select * from zip_mst join city_mst using(city_id) join pref_mst using(pref_id) where zip = ?
の様に子に親のテーブルを結合する場合と
select * from pref_mst join city_mst using(pref_id) join zip_mst using(city_id) where zip = ?
の様に親に子のテーブルを結合する場合ではどちらが効率がいいのでしょうか?
またどちらも変わらない場合、どちらで書くのがオススメでしょうか?
0961NAME IS NULL
2007/11/22(木) 16:44:59ID:???SELECT current_user;
>>960
一緒。
何らかの拍子にJOINしてからWHERE句で抽出するようなプランを実行してしまわないようにと
気に掛けるのなら、
SELECT * FROM (SELECT * FROM zip_mst WHERE zip = ?) AS T1 JOIN city_mst USING(city_id) JOIN preg_mst USING(pref_id);
のような書き方をするときはある。
0962NAME IS NULL
2007/11/22(木) 22:17:37ID:???なるほど違いはないんですね。
有難うございました。
もうひとつ質問なのですが
create table zip_mst(
zip3 char(3) not null check( zip3 ~ '^[0-9]{3}$'),
zip4 char(4) not null check( zip4 ~ '^[0-9]{4}$'),
local_name text not null,
primary key (zip3,zip4,local_name)
);
というテーブルがあり
select * from zip_mst where zip3 || zip4 = '1600023';
という問い合わせをする場合にindexを貼る方法はありますか?
create index i_zip_mst_1 on zip_mst (zip3||zip4);は無理でした。
もちろんwhere区をzip3 = '160' and zip4 = '0023';とすすれば
primary keyが効くので問題ないのですが・・・
0964NAME IS NULL
2007/11/22(木) 23:35:36ID:J03+/NIopgpool-IIはバグが多めな印象なんで、pgpoolから試してみると良いかと。
0965age
2007/11/23(金) 00:18:34ID:lvB9rw0Jおしいな。
CREATE
0966aGTAGHQB
2007/11/23(金) 00:23:29ID:???0967NAME IS NULL
2007/11/23(金) 00:31:55ID:???いい目をしている
0968wLLPbYNe
2007/11/23(金) 10:58:16ID:???0969MAUloamuKgCLiC
2007/11/23(金) 23:01:25ID:???http://ksrajt.cn/dj-green-lantern.html Dj green lantern
http://ksrajt.cn/cello-design-rug.html Cello design rug
http://ksrajt.cn/web-design-ribble-valley.html Web design ribble valley
http://ksrajt.cn/crane-river-fish-study.html Crane river fish study
0970PbJCPrRtekn
2007/11/24(土) 08:13:24ID:???0971MtkzSDkEMX
2007/11/24(土) 13:28:44ID:???0972mPSHYFGioWFsjAR
2007/11/24(土) 14:54:24ID:???0973fZlEPGntDOMIs
2007/11/25(日) 06:05:56ID:???0974NAME IS NULL
2007/11/27(火) 03:23:15ID:Vq1CXYEu解説している書籍はありませんか?
0975NAME IS NULL
2007/11/27(火) 07:30:30ID:???0976NAME IS NULL
2007/11/27(火) 08:03:07ID:???ソース嫁。
0977vEZAPJyTYsiKSISugn
2007/11/27(火) 18:49:26ID:???0978tyHKhToidvnsZwNh
2007/11/27(火) 18:50:00ID:???0979NAME IS NULL
2007/11/28(水) 15:02:00ID:4JPP6L4Vメモリ関連についてお教えください。
postgre使って件数のやたら大きなDBいじってます(8.2.5でWindowsXP)。
2億3千万件のテーブルからselectで全件抽出し結果をファイルに吐き出し
たいのですが、まずは結果を出力させようとしています。
が、「out of memory query result」でエラーになってしまいます。
テーブルの元データがtextでも1G超えでおそらく結果も1G超えています。
sharedも1Gだけですが、これが原因でしょうか?(sharedだとしたら、1G
以上にすると正常起動しないのでこの回避策をお教え頂ければと・・)。
どなたか原因と改善策または回避策のご教示をお願い致しますm(_ _)m
0980NAME IS NULL
2007/11/28(水) 15:26:14ID:???limit offset使いながら細かくデータ取得&書き出しすればOK。
0981NAME IS NULL
2007/11/28(水) 16:39:25ID:4JPP6L4V回答ありがとうございます。さっそく試してみます。
ちなみにメモリのほうですが、8.2.5で1G以上のsharedが設定できないのは仕様
でしょうか?
または、Linuxの場合shmmaxで1プロセスで使用できるメモリのMAXが制限されて
いたので、同様な制限がWindowsのどこかであるのでしょうか?
Windows(32bit版)だとアプリは2Gまで使えると聞いたことはあるのですが・・。
必死に調べたのですが見当たらず、重ね重ねすみませんが後学のためこのあたり
ご存知の方がいたらご教授お願い致します。
0982NAME IS NULL
2007/11/28(水) 22:00:27ID:???COPY か CURSOR+FETCH を使うべし。psql なら FETCH_COUNT。
結果をすべていったんメモリ上に保持しようとするので、
結果が 2GB を超えるとでメモリ空間使い切ってエラーになる。
ストリーム的に取り出す COPY か、小分けに取り出す FETCH が適している。
取得する側(クライアント)のメモリ消費の問題なので、
shared_buffers などサーバ側の設定は関係ない。
>>980
LIMIT OFFSET はこの目的には効率が悪すぎる。
0983NAME IS NULL
2007/11/29(木) 15:04:57ID:5OSGHAYbありがとうございます。サーバ側の設定は関係ないのですか。
とりあえずこちらもやってみます。
0984NAME IS NULL
2007/11/29(木) 22:17:55ID:lVNkhgwUJPUGの分科会あたりにその類の文書って転がってないかな?
最新版には追随してはないだろうけど。
0985EqpLIrlVtgpouey
2007/11/29(木) 23:30:47ID:???http://zerozeroone.at.tut.by/porno-ve4erinki.html 粢褞竟
http://zerozeroone.at.tut.by/dikaja-orgija.html 蒻 肛
http://zerozeroone.at.tut.by/orgii-lesbijanok.html 肛 褥硼
http://zerozeroone.at.tut.by/orgii-studentov.html 肛 蒟
http://zerozeroone.at.tut.by/lesbijskie-orgii.html 褥礪鴦韃 肛
0986QtlktZAqzLdbVE
2007/11/30(金) 00:45:41ID:???http://zerozeroone.at.tut.by/pjanjie-orgii.html 肛
http://zerozeroone.at.tut.by/seks-orgii.html 裲 肛
http://zerozeroone.at.tut.by/porno-animatsija.html 瑙韲璋
http://zerozeroone.at.tut.by/porno-multji.html
0987NAME IS NULL
2007/11/30(金) 15:59:30ID:/tqK65U/> ティップ: 配列は集合ではありません。特定の配列要素に検索をかけることはデータベース設計が
> 誤っている可能性を示唆しています。配列の要素とみなされるそれぞれの項目を行に持つ別の
> テーブルを使うことを検討してください。この方が検索がより簡単になり要素数が大きくなっても
> 拡張性があります。
とありますが、これは、下記のどちらの使い方が誤りの可能性があるという意味ですか?
・WHERE pay_by_quarter[2] = 10000 // 要素2のみで抽出
・WHERE 10000 = ANY (pay_by_quarter) // 要素全体で抽出
「特定の配列要素に検索をかける」だと、前者になりそうですが、文脈からすると後者に思え、
どう解釈すべきか迷っております。
0988NAME IS NULL
2007/11/30(金) 16:04:53ID:???配列使ったら負けかな、と思ってるが結構機能あるんだな。
0989NAME IS NULL
2007/11/30(金) 16:19:23ID:/tqK65U/「配列の要素とみなされるそれぞれの項目を行に持つ」って文が不思議じゃないですか?
行 → 列 なら、分かるのですが。
それとも、とういう設計もアリなんでしょうか?
0990NAME IS NULL
2007/11/30(金) 16:51:15ID:???いくつあるかわからないのに列にできないだろ
アリというか、普通こうする。
0991NAME IS NULL
2007/11/30(金) 17:21:13ID:???0992NAME IS NULL
2007/11/30(金) 17:46:15ID:???0993NAME IS NULL
2007/11/30(金) 19:21:58ID:/tqK65U/私も同じく考えました。
配列ではなく、連想配列なら意味が分かるのですが。
0994NAME IS NULL
2007/11/30(金) 20:57:41ID:???「配列内を検索することは」くらいに読み替えるべし。ANY のほうで正解。
原文は searching for specific array elements なのだが、
specific には大して強調する意味合いはない。
つまり、「配列を使う前に、第一正規化を検討せよ」って書いてあるだけ。
0995NAME IS NULL
2007/11/30(金) 21:39:09ID:/tqK65U/了解です。
スペシャルサンクス。
0996NAME IS NULL
2007/12/01(土) 18:48:08ID:???0997NAME IS NULL
2007/12/01(土) 19:02:39ID:???それでいいと思います。
0998NAME IS NULL
2007/12/01(土) 21:35:50ID:???0999NAME IS NULL
2007/12/01(土) 21:36:26ID:???1000小倉優子 ◆YUKOH0W58Q
2007/12/01(土) 21:36:59ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。