もう8時か、
2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50 [PR]美人女性のお部屋をナマ体験[PR]  

PostgreSQL Part.5

1 :NAME IS NULL:2007/12/01(土) 21:38:37 ID:LPSUO/OT
PostgreSQL (ぽすとぐれすきゅーえる, ぽすとぐれす) について語るスレです。
前スレ [【Windows】 PostgreSQL8 Part.1 【対応】] http://pc11.2ch.net/test/read.cgi/db/1102247223/

● 関連サイト
[PostgreSQL 本家] http://www.postgresql.org/
[日本PostgreSQLユーザ会] http://www.postgresql.jp/
[ドキュメント] http://www.postgresql.jp/document/current/html/
[ダウンロード] http://www.postgresql.jp/PostgreSQL
[pgFoundry] http://pgfoundry.org/

● 関連スレ
[2ch検索] http://find.2ch.net/index.php?STR=PostgreSQL
[WebProg/PostgreSQL 2テーブル目] http://pc11.2ch.net/test/read.cgi/php/1047317680/

841 :NAME IS NULL:2008/07/24(木) 14:10:30 ID:???
postmasterはかわってないよ。
pg_ctl の表示の仕方がかわっただけでしょう。

試しに同じDBで、8.31の環境で新しいpg_ctl使ったら server、8.2のpg_ctl使ったら postmaster と出ましたよ。
ps で見てみるのが確実かもね。

842 :840:2008/07/24(木) 14:24:02 ID:???
あれ?そうなんだ。8.2以降のpostmasterのドキュメント説明が
「postmasterはpostgresの廃止予定の別名です。」
に変わっていて、psで見ても postgres になっているからてっきり。

確認し直してみると、「postmaster」で直起動してpsすると
名前がpostmasterに、「pg_ctl start」で起動してpsすると名前が
postgresになる模様。

どちらの場合も「pg_ctl status」で様子を見ると
==============================
pg_ctl: server is running (PID: 8905)
/usr/bin/postgres
==============================
と出る。ううむ。

843 :NAME IS NULL:2008/07/24(木) 14:39:24 ID:mBwHhXoV
本体はpostgresになって、postmasterはリンクになりましたよ、ってことでしょ。
pg_ctlなんかはそれに合わせて作り直されているけど、起動スクリプトなんかは
postmasterを呼び出すままになってるだけなんじゃ。

postmasterが廃止方向なのは、MTAがらみと混同してしまうからかな?
今更のような気もするけど。

844 :NAME IS NULL:2008/07/24(木) 15:11:53 ID:???
でもそれ昔からだった気がするけど。

845 :NAME IS NULL:2008/07/24(木) 21:33:50 ID:Z/swGqhj
8.3.3 からのXMLの機能ってこの本役に立つ>「標準講座 XQuery」
経験無いから、購入迷ってるんだけど
それとも、他にいい本ありそう?

846 :NAME IS NULL:2008/07/25(金) 00:53:18 ID:???
>>843 MTAがらみと混同
それもあった。他に、シンボリックリンクをサポートしていない
Windows版で、インストーラのサイズを小さくするためもあったような。
postgres と postmaster の同一バイナリを2つ含んでいるのは無駄だったから。



847 :NAME IS NULL:2008/07/25(金) 02:10:54 ID:???
インストーラがコピー作るようにすればサイズ変わらんと思うけど

848 :NAME IS NULL:2008/07/29(火) 22:09:41 ID:???
これとオラクルの連携ってどんな感じ?

849 :NAME IS NULL:2008/07/29(火) 22:10:24 ID:WgByyyeH
ついでにage

850 :820:2008/07/30(水) 01:30:46 ID:???
>>839
上手く行きましたああああああああああああ。
あざーーーーーーーーっす。

851 :NAME IS NULL:2008/08/01(金) 11:22:34 ID:Vlj4h0JM
clusterしたら select文で

Relation "t_table" with OID 68308374 no longer exists

って出るようになっちっち。( TДT)
調べたらキャッシュのOIDと違うようなんだけど、どうすればキャッシュのクリア。
もしくは整合性をとれるようになりますか。
教えてエロい人。

852 :NAME IS NULL:2008/08/01(金) 13:15:46 ID:???
>851
自己レスです。
エラー文出てたのは、clusterしたテーブルのviewテーブルをselectした時だったのですが
viewテーブルをDROPしてcreateしなおしたら、エラーでなくなりました。
すんません。

853 :NAME IS NULL:2008/08/01(金) 19:35:11 ID:???
>>852
やけにバージョンが古くないか?
最近のならそれくらいではエラーにならないと思うんだけど。

854 :NAME IS NULL:2008/08/02(土) 15:35:04 ID:IADhYOwn
ttp://erogamescape.ddo.jp/~ap2/ero/toukei_kaiseki/select.php
ここのSQLのCGIからデータを参照したいのですが・・・

テーブルリスト ttp://erogamescape.ddo.jp/~ap2/ero/toukei_kaiseki/tablelist.php

発売日・ゲーム名 だけをリストアップする場合は、
SELECT sellday, gamename FROM gamelist
で出来たんですが、テーブルをまたぐデータ参照のやりかたがわからないのです orz

発売日・ブランド名・ゲーム名 をリストアップする場合、どう書けばいいでしょうか?
gamelist.selldayが発売日。 gamelist.gamename がゲーム名。
gamelist.brandname と brandlist.id が対応するかたちで、
ブランド名は、brandlist.brandname にあります。

855 :NAME IS NULL:2008/08/02(土) 16:53:51 ID:/jmwO2I5
>>854
SELECT * FROM gamelist JOIN brandlist ON gamelist.brandname=brandlist.id

856 :NAME IS NULL:2008/08/02(土) 18:27:26 ID:???
>>855
ありがとうございます。
やっと思い通りにリストアップする事ができました。

857 :NAME IS NULL:2008/08/03(日) 19:00:59 ID:et0fI5Cl
PostgreSQL 8.3.3をWindowsXPで使用しています。
鯖はutf-8で、client_encodingでSJISを指定しているのですが、
COPY時のパス、ファイル名に日本語が含まれていた場合、失敗します。
日本語のファイル名で読み込ませるにはどうすればいいか教えてください。

'e:/日本語/hoge.txt' ← could not open file "e:/日本語/hoge.txt" for reading: No such file or directory
'e:/hoge.txt' ← コピー成功

858 :NAME IS NULL:2008/08/04(月) 08:15:39 ID:???
>>857
サーバエンコーディングとOSのエンコーディングを一致させている環境でないとダメ。
特に、鯖にSJISが使えないので、Windowsでは無理なのです。昔からある不具合。

859 :NAME IS NULL:2008/08/04(月) 09:55:32 ID:???
PostgreSQLへVB.NETから接続したいのですが
一番メジャーな方法は何でしょうか?

860 :NAME IS NULL:2008/08/04(月) 09:56:54 ID:Qg+jh4Ky
>>859
Npgsqlでいいんじゃね。

861 :NAME IS NULL:2008/08/04(月) 10:01:40 ID:???
>>860
ありがとうございます。試してみます。

862 :857:2008/08/04(月) 19:56:49 ID:???
>>858
レスありがとうございました。
素直に英数字を使うことにします。

863 :NAME IS NULL:2008/08/07(木) 15:14:49 ID:???
pgcluster-1.9系,1.7系,1.5系 それぞれの最新バージョンをテストしているのですが、pglbを通してdropdbすると、それ以降pglbが接続を受け付けない(psqlすると無反応)状態になってしまいます。
構成はINSTALL_PGCLUSTER通りの、LBx1,RPx1,CLx2で、OSはCetnOS4です。

debugログを見ると、dropdb時にpglbをHUPしているようなのですが、その後おかしくなっているみたいです。プロセスは残っていますが、pglbのpidファイルは削除されてます。

その状態でも、直接ClusterDBには正常に接続できますし、レプリケーションも機能します。

pgpool-3.4.1をpglbの元にしているバージョン以降での現象のようですが、同じ現象を経験された方や、解決方法をご存知の方いらっしゃいますか?

864 :NAME IS NULL:2008/08/09(土) 12:10:53 ID:???
同じPCで、Windowsだとpgbenchで80tpsくらい、Linuxだと500tpsくらい出るんだけど、
なんでWindowsだとこんなに遅いの?

865 :NAME IS NULL:2008/08/09(土) 14:30:37 ID:???
>>864
Windowsのほうが遅いのは確かだけど、それは差がつきすぎな気が。
チューニングしていないなら、WAL関係だけでもやってほうが良いかも。
(checkpoint_segments, wal_sync_method)

まぁ、性能が必要ならWindows版は避けたほうが無難。
ちょっと機能を試すだけならお手軽で良いんだけど。

866 :NAME IS NULL:2008/08/10(日) 23:13:39 ID:???
textとcharacter varying(varchar)のデータ型の使い分けの
基本的な考え方を教えて下さい。
webで探すとtext型を推奨するような書き込みもありますが、
お互いで得手不得手な事があるのでしょうか?


867 :NAME IS NULL:2008/08/10(日) 23:46:39 ID:???
>>866
DB側で文字数の制限およびチェックが必要かどうかだけ。
と思ってる。

868 :NAME IS NULL:2008/08/11(月) 04:43:15 ID:???
>>867
それでOK。実装はまったく一緒だし。
管理ツールで表示が違う場合はあるかも。
varcharは1行テキストボックス、textは複数行テキストボックスとか。

869 :NAME IS NULL:2008/08/11(月) 11:05:33 ID:JHhGIW9s
Macのヒラギノで表現できる文字(Adobe-Japan1-5 JIS X 0213? + Unicode?)を全て格納したいのですが、
DBの文字コードは何を指定したらいいのでしょうか。

http://www.apple.com/jp/pro/design/typography/05/index6.html
を読んでいると、全てを文字コードで格納するのは不可能とも読み取れますが・・
UTF-8にしておくのが一番いいのでしょうか?

870 :866:2008/08/11(月) 13:45:48 ID:???
>>867-868
なるほど、ありがとうございました。


871 :NAME IS NULL:2008/08/12(火) 07:29:17 ID:???
ヒラギノのことはよく知らんけどUnicodeで表現できるならUTF-8でいいんじゃ?
表現できなきゃ、バイナリデータとして格納とか。

872 :NAME IS NULL:2008/08/16(土) 12:56:12 ID:iPeeVtKy
〉863
それ、おれもなった。
結局解決つかなかったからpgpool使ったよ。

873 :NAME IS NULL:2008/08/18(月) 04:35:12 ID:rrvhCdtj
VACUUMのためにDB鯖を2台用意し
1台を通常運用、ある一定時刻がきたらデータをすべて
2台目のDB鯖に写しアプリからもデータ更新不可・2台目の鯖接続というように処理させ
1台目のVACUUM処理終了後、通常運用に戻るというような
運用はありでしょうか?
何かネックになりそうなことはありますでしょうか?

874 :NAME IS NULL:2008/08/18(月) 06:17:41 ID:???
2台目のサーバで行われた更新を
どうやって1台目に反映させるの?

875 :NAME IS NULL:2008/08/18(月) 06:48:38 ID:???
ありがとうございます。
2台目の鯖運用時は参照のみに利用し、更新は行いません。
ということです。

876 :NAME IS NULL:2008/08/18(月) 08:11:16 ID:???
>>875
特に問題はないと思う。2台目のデータは毎回捨てるってことだよね?
ただ、目的がVACUUM中の性能低下を回避するだけならば、
サーバ間のデータコピーが本当にVACUUMより軽いか調べたほうが良いかも。

877 :NAME IS NULL:2008/08/18(月) 08:50:25 ID:???
pgpoolとかで同期させといて
バキュームしたい時、意図的に切断しとけば?

878 :NAME IS NULL:2008/08/18(月) 16:14:41 ID:???
>>872
レスありがとうございます。そちらの環境でもなりましたか。
すぐ気付きそうな現象ですから、情報が出ていてもよさそうなもんですが、無いんですよね。

2008-03-09以降リリースのバージョンで、pglbのdropdb上手くいっている人いましたら、是非環境を伺いたく。

879 :NAME IS NULL:2008/08/19(火) 00:12:40 ID:qDOKASZt
複合PKを持っている表を
ID+UNIQUE制約に変更したいときに、
既存データにID値を振りなおす(採番する)のって
serial型をADD COLUMNするだけで行けます?

日本語わかりにくかったらごめんなさい。

880 :NAME IS NULL:2008/08/19(火) 08:51:25 ID:???
>>879
カラム追加だけだと中身がNULLじゃね?

881 :NAME IS NULL:2008/08/19(火) 10:02:35 ID:???
連番振るだけなら一発でできるよ。
シリアル追加だけじゃ何も入らない。

882 :NAME IS NULL:2008/08/19(火) 10:21:33 ID:???
>>879
実はその新規連番付与にも複雑な法則性が…
なんて後出しが来ないことを祈るwww

883 :881:2008/08/19(火) 10:34:12 ID:???
あれ?
今試したら、しっかり番号入ってる。

すみません、ALTER TABLE table ADD COLUMN no SERIAL;
だけで入ってました。8.1.4ですが

884 :NAME IS NULL:2008/08/20(水) 01:18:01 ID:???
クラサバの接続とApache+PHPでの接続、利用はわかるのですが、
WebサーバーのPostgreSQL へVB.NET または、VB6での接続は可能でしょうか?
可能であれば、その方法をご存知の方いましたら、教えて下さい。
WebサーバーへのODBC接続は試みましたがうまくいきませんでした。

885 :NAME IS NULL:2008/08/20(水) 07:57:05 ID:???
>>884
ODBCでも良いし、Npgsqlでも良いし、お好きな方法で。
事象の報告もなしに「うまくいきません」といわれても、これ以上のアドバイスは無理。

886 :NAME IS NULL:2008/08/20(水) 08:39:19 ID:???
>>884
「WebサーバーへのODBC接続」
文脈から理解できるが言葉の意味をしっかり押さえるべき

887 :NAME IS NULL:2008/08/20(水) 09:52:09 ID:???
PostgreSQLのODBCドライバがインストールされて無いんじゃないの?
まず、開発用PC(Win?)からWebサーバ上のPostgreSQLにODBC接続可能かどうか試しましょう。

OKならVB6ならADODB、VB.NETならADO.NETで接続可能なはず。
ADO.NETではODBC接続は速度的に使いものにならないからNpgsqlが無難だね。

888 :NAME IS NULL:2008/08/21(木) 00:13:36 ID:???
884です。
みなさん、ご教授ありがとうございます。
できるようになりました。
ポートが空いていなかったのが原因でした。
できれば、必要なポートだけを開けたいのですが、
PostgreSQLで必要な5432など以外に何が必要なのでしょうか?

889 :879:2008/08/21(木) 02:16:48 ID:???
こんなに早く回答もらえると思ってなかったので遅くなりました
ありがとうございます。

実際に試せるのはもうちょっと先になるんですが
ハードが物理的におかしくなってそれどころじゃなくなって
泣きそうです ><


890 :NAME IS NULL:2008/08/21(木) 17:41:24 ID:???
>>888
標準では5432tcpだけあけとけば問題ないよ
> PostgreSQLで必要な5432など以外に何が必要なのでしょうか?
これはPostgreSQL以外で必要となるポートと言ってますか?

273 KB [ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]

取りに行ったけどなかった。次は一時間後に取りに行くです。
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.0.7.3 2008/07/26
FOX ★ DSO(Dynamic Shared Object)