>>64
# SELECT (CURRENT_DATE - '2001-12-01'::DATE);
?column?
----------
482
どうも返り値がinteger型のようだ。
探検
PostgreSQL 2テーブル目
65nobodyさん
03/03/28 01:38ID:???6664
03/03/28 13:45ID:??? >>65
integer型のようですね(´Д`;)
結局
# select CURRENT_DATE - '2 month'::INTERVAL >= '2001-12-01'::DATE;
?column?
----------
t
(1 row)
としたら動きました。うーむ謎〜。
#よくわかってないだけかも。
integer型のようですね(´Д`;)
結局
# select CURRENT_DATE - '2 month'::INTERVAL >= '2001-12-01'::DATE;
?column?
----------
t
(1 row)
としたら動きました。うーむ謎〜。
#よくわかってないだけかも。
67nobodyさん
03/03/28 17:21ID:??? データの作成って、みなさんはどんな方法を採ってます?
MicrosoftのAccess で入力フォームを作って、それをテキストにexport、
文字コード等を適当なものに変換、最後にcopy コマンドでpostgres に
持ってくる、という煩雑なことをしているのですが、もうちょっとなんとか
ならないのかな??と悩んでまして。。。
MicrosoftのAccess で入力フォームを作って、それをテキストにexport、
文字コード等を適当なものに変換、最後にcopy コマンドでpostgres に
持ってくる、という煩雑なことをしているのですが、もうちょっとなんとか
ならないのかな??と悩んでまして。。。
68nobodyさん
03/03/28 19:11ID:??? >>66
DATE型 - TIMESTAMP型 = INTERVAL型 で
DATE型 - DATE型 = INTEGER型 なんだよな。
仕様なのかバグなのかMLで聞いてみれば。
いc氏あたりが答えてくれるかも。
DATE型 - TIMESTAMP型 = INTERVAL型 で
DATE型 - DATE型 = INTEGER型 なんだよな。
仕様なのかバグなのかMLで聞いてみれば。
いc氏あたりが答えてくれるかも。
70nobodyさん
03/03/30 15:36ID:/7/BL2Cw [pgsql-jp: 29501] DELETEコマンドの使い方について。
釣り日和でつ。
,
,/ヽ
,/ ヽ
∧_∧ ,/ ヽ
( ´∀`),/ ヽ
( つつ@ ヽ
__ | | | ヽ
|――| (__)_) ヽ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ヽ
/⌒\/⌒\/⌒\/⌒\|彡~゚ ゜~ ~。゜ ~ ~ ~ ~~ ~ ~~ ~ ~~ ~~ ~~
⌒\/⌒\/⌒\/⌒\/⌒\彡 〜 〜〜 〜〜 〜〜 〜 〜
釣り日和でつ。
,
,/ヽ
,/ ヽ
∧_∧ ,/ ヽ
( ´∀`),/ ヽ
( つつ@ ヽ
__ | | | ヽ
|――| (__)_) ヽ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ヽ
/⌒\/⌒\/⌒\/⌒\|彡~゚ ゜~ ~。゜ ~ ~ ~ ~~ ~ ~~ ~ ~~ ~~ ~~
⌒\/⌒\/⌒\/⌒\/⌒\彡 〜 〜〜 〜〜 〜〜 〜 〜
71nobodyさん
03/03/30 15:50ID:dniM4gxK PostgreSQLをWindowsでcygwinを介さないで使うことはできませんか?
72nobodyさん
03/03/30 16:41ID:??? >>71
PowerGres (PostgreSQL on Windows)
〜オープンソースデータベースのスタンダード "PostgreSQL" を Windows で〜
http://osb.sra.co.jp/PowerGres/introduction.php
PowerGres (PostgreSQL on Windows)
〜オープンソースデータベースのスタンダード "PostgreSQL" を Windows で〜
http://osb.sra.co.jp/PowerGres/introduction.php
74nobodyさん
03/03/30 17:48ID:??? >>72
有償なのはいいとしても、ソース公開じゃないから、単なる
「Windowsで動作するPostgreSQL互換RDBMS」にしか
過ぎなくなっちゃったんだよね。
石井さんはPostgreSQLがオープンソースであるメリットを
熱く語っていたけど...。
有償なのはいいとしても、ソース公開じゃないから、単なる
「Windowsで動作するPostgreSQL互換RDBMS」にしか
過ぎなくなっちゃったんだよね。
石井さんはPostgreSQLがオープンソースであるメリットを
熱く語っていたけど...。
76nobodyさん
03/03/30 23:07ID:??? >>74
BSD ライセンスのオープンソースだからこそ、
こういった派生品でのビジネスもできる。
そして、オープンソースは、関わる人間の多さが成功の要。
たとえ派生品でも、ベースとなる製品についての知識を有する人が
一人でも増えるのは喜ばしいことだよ。
増えたうちの一人がほんの少しでも本家にコミットしてくれるなら、
最終的に本家の利益にもつながる。
>>75
メールの本文はほとんど読まずに、Subject しか読んでないから全然詳しくないんだけど、
本家の postgres-hackers ML では MS Windows 版の話とか出てるよね。
7.4 でネイティブサポートするとか書いてあったような。
BSD ライセンスのオープンソースだからこそ、
こういった派生品でのビジネスもできる。
そして、オープンソースは、関わる人間の多さが成功の要。
たとえ派生品でも、ベースとなる製品についての知識を有する人が
一人でも増えるのは喜ばしいことだよ。
増えたうちの一人がほんの少しでも本家にコミットしてくれるなら、
最終的に本家の利益にもつながる。
>>75
メールの本文はほとんど読まずに、Subject しか読んでないから全然詳しくないんだけど、
本家の postgres-hackers ML では MS Windows 版の話とか出てるよね。
7.4 でネイティブサポートするとか書いてあったような。
77nobodyさん
03/03/30 23:24ID:??? >>76
ttp://hp.vector.co.jp/authors/VA023283/PostgreSQL.html
ttp://hp.vector.co.jp/authors/VA023283/PowerGres.html
本家はプロセスモデルでPowerGresはスレッドモデルってことでいいかな。
ttp://hp.vector.co.jp/authors/VA023283/PostgreSQL.html
ttp://hp.vector.co.jp/authors/VA023283/PowerGres.html
本家はプロセスモデルでPowerGresはスレッドモデルってことでいいかな。
79nobodyさん
03/03/31 13:53ID:??? 現場は、フィードバックすると言っているがね。
ただ、(WindowsのスレッドモデルをUNIXに持ってくることに)
どの程度意味があるかは分からん。
S○Aも、UNIXでいくならUNIX一本でもっと機能拡張とかすればいいのに。
中途半端にUNIXもWindowsも手を染めてどうすんだか。
ただ、(WindowsのスレッドモデルをUNIXに持ってくることに)
どの程度意味があるかは分からん。
S○Aも、UNIXでいくならUNIX一本でもっと機能拡張とかすればいいのに。
中途半端にUNIXもWindowsも手を染めてどうすんだか。
80質問です。
03/04/01 17:16ID:0gCa7Sb2 ポスグレって
Windows版 ってないのですか?
Windows版 ってないのですか?
81nobodyさん
03/04/01 17:19ID:??? ,
,/ヽ
,/ ヽ
∧_∧ ,/ ヽ
( ´∀`),/ ヽ
( つつ@ ヽ
__ | | | ヽ
|――| (__)_) ヽ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ヽ
/⌒\/⌒\/⌒\/⌒\|彡~゚ ゜~ ~。゜ ~ ~ ~ ~~ ~ ~~ ~ ~~ ~~ ~~
⌒\/⌒\/⌒\/⌒\/⌒\彡 〜 〜〜 〜〜 〜〜 〜 〜
,/ヽ
,/ ヽ
∧_∧ ,/ ヽ
( ´∀`),/ ヽ
( つつ@ ヽ
__ | | | ヽ
|――| (__)_) ヽ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ヽ
/⌒\/⌒\/⌒\/⌒\|彡~゚ ゜~ ~。゜ ~ ~ ~ ~~ ~ ~~ ~ ~~ ~~ ~~
⌒\/⌒\/⌒\/⌒\/⌒\彡 〜 〜〜 〜〜 〜〜 〜 〜
82nobodyさん
03/04/02 01:19ID:??? [pgsql-jp: 29545] 削除依頼
祭りか徹底無視か?
祭りか徹底無視か?
83nobodyさん
03/04/02 01:37ID:??? あら、意外とすんなり収束したね。
85nobodyさん
03/04/04 06:06ID:PaLgsWqP PostgreSQL7.3.2のDB(文字コードはEUC_JP)に、psqlから
set client_encoding to 'SJIS'; を実行すると、
Conversion between SJIS and EUC_JP is not supported.
となってしまいます。
PostgreSQLのlib/にはそれらしき(?)、euc_jp_and_sjis.so があります。
一体何が原因なんでしょうか?
set client_encoding to 'SJIS'; を実行すると、
Conversion between SJIS and EUC_JP is not supported.
となってしまいます。
PostgreSQLのlib/にはそれらしき(?)、euc_jp_and_sjis.so があります。
一体何が原因なんでしょうか?
86nobodyさん
03/04/05 00:01ID:??? うーんなんでだろ。
select * from pg_convertion (だったかな)
とかはヨサゲ?
select * from pg_convertion (だったかな)
とかはヨサゲ?
87nobodyさん
03/04/05 05:05ID:??? insert や delete に Left join を使うとエラーがでるのですが、
ポスグレではselect文だけにしか使えないのでしょうか?
だとしたら2つのテーブルを比較して足りないモノだけを
1方のテーブルに追加していく、なんてことはできないのでしょうか?
やれるとしたらどんな手段があるか、参考になるサイトがあれば教えてください。
ポスグレではselect文だけにしか使えないのでしょうか?
だとしたら2つのテーブルを比較して足りないモノだけを
1方のテーブルに追加していく、なんてことはできないのでしょうか?
やれるとしたらどんな手段があるか、参考になるサイトがあれば教えてください。
88nobodyさん
03/04/06 17:10ID:iXfPNuQP 既存のディスクが一杯になってきたので、ディスクを追加して、
今後は「今までのディスク+追加したディスク」を使いたいのだが可能なの?
やっぱり、一つのデータベースが複数のディスクにまたがるのは無理なのかなぁ
今後は「今までのディスク+追加したディスク」を使いたいのだが可能なの?
やっぱり、一つのデータベースが複数のディスクにまたがるのは無理なのかなぁ
91nobodyさん
03/04/07 00:49ID:??? cygwinでPostgreSQL動かしてJavaのJDBC+ODBCでアクセス
してみたら、読み込みはうまくいったけど書き込みは
文字化けしてテーブルに書き込まれてしまった。
文字コード調べてみたらSJIS->EUC-JPのような変換が
行われ、そのEUC-JPのコードをSJISで見たときの文字化け
のままテーブルに書かれてしまった感じ。
解決策があったら教えてください。
してみたら、読み込みはうまくいったけど書き込みは
文字化けしてテーブルに書き込まれてしまった。
文字コード調べてみたらSJIS->EUC-JPのような変換が
行われ、そのEUC-JPのコードをSJISで見たときの文字化け
のままテーブルに書かれてしまった感じ。
解決策があったら教えてください。
9291
03/04/08 00:41ID:??? 自己解決。
jdbc:postgresql:test?charSet=SJIS
デコードの指定を付けたらすべてうまくいきました。
jdbc:postgresql:test?charSet=SJIS
デコードの指定を付けたらすべてうまくいきました。
93nobodyさん
03/04/09 03:20ID:Ub7v47GH ところで、PowerGres、どうよ?
PostgreSQLでできること、全部できる?
PostgreSQLでできること、全部できる?
94あぼーん
NGNGあぼーん
95nobodyさん
03/04/09 06:30ID:??? >93
誰も買ってない悪寒。だから言ったのに・・・。
誰も買ってない悪寒。だから言ったのに・・・。
96nobodyさん
03/04/09 19:01ID:xm6OICY+ >93
Ver7.4のWindowsネイティブ対応っぷり次第だな。
それまで待てれば待ったほうがいい。
Ver7.4のWindowsネイティブ対応っぷり次第だな。
それまで待てれば待ったほうがいい。
97nobodyさん
03/04/10 11:21ID:??? ひょっとしてPostgreSQLのパターンマッチングって同じ文字の連続(aaa、あああ など)って検出できない?
99nobodyさん
03/04/10 12:29ID:??? w)
100nobodyさん
03/04/10 15:51ID:???101nobodyさん
03/04/10 18:42ID:Gvrywi5t 特定のフィールドを指定してセレクトするのではなく、
逆に、「あるフィールド以外すべてセレクト」というふうなクエリーはかけないのでしょうか?
逆に、「あるフィールド以外すべてセレクト」というふうなクエリーはかけないのでしょうか?
103102
03/04/10 20:27ID:??? ん? 勘違いしてた。
107nobodyさん
03/04/11 01:46ID:nN51pMH3 >106
そっか!ありがと。試してみます。
そっか!ありがと。試してみます。
109nobodyさん
03/04/12 19:46ID:UOkuI+UD 気づくの遅すぎ(藁
113nobodyさん
03/04/16 13:29ID:sI0EuNRH つーか
SELECTしたい列名なんて明示的に書くのが王道だろ
それとも
テーブル設計をコロコロ変えやがるのかと小一時間...
SELECTしたい列名なんて明示的に書くのが王道だろ
それとも
テーブル設計をコロコロ変えやがるのかと小一時間...
114山崎渉
03/04/17 12:01ID:??? (^^)
11533
03/04/17 13:09ID:???11633
03/04/17 13:09ID:??? #/bin/sh
# PostgreSQL database backup script
# Dump to DATABASE_NAME_YYMMDD.pgdmp.
# Delete expired files.
# Output log.
# Setting
TARGET_DB='firstinfo tka' # List target database name.
DIR=/home/postgres
LOG=${DIR}/pgdump.log
BACKUPDIR=${DIR}/dbbackup
EXPIRE_DAY=90
# Main routine
echo "pg_dump start." `date` >> ${LOG}
date=`date +%Y%m%d`
for db_name in ${TARGET_DB}
do
DUMP_FILE_PATH=${BACKUPDIR}/${db_name}_${date}.pgdmp
/usr/local/pgsql/bin/pg_dump ${db_name} -b -o -Fc > ${DUMP_FILE_PATH} 2>>${LOG}
echo "Database ${db_name} backup complete." `date` >> ${LOG}
done
echo "pg_dump complete." `date` >> ${LOG}
echo "Delete obosolete pgdmp files start." `date` >> ${LOG}
find ${BACKUPDIR} -type f -daystart -mtime +${EXPIRE_DAY} |xargs /bin/rm -f
echo "Delete obosolete pgdmp files complete." `date` >> ${LOG}
# PostgreSQL database backup script
# Dump to DATABASE_NAME_YYMMDD.pgdmp.
# Delete expired files.
# Output log.
# Setting
TARGET_DB='firstinfo tka' # List target database name.
DIR=/home/postgres
LOG=${DIR}/pgdump.log
BACKUPDIR=${DIR}/dbbackup
EXPIRE_DAY=90
# Main routine
echo "pg_dump start." `date` >> ${LOG}
date=`date +%Y%m%d`
for db_name in ${TARGET_DB}
do
DUMP_FILE_PATH=${BACKUPDIR}/${db_name}_${date}.pgdmp
/usr/local/pgsql/bin/pg_dump ${db_name} -b -o -Fc > ${DUMP_FILE_PATH} 2>>${LOG}
echo "Database ${db_name} backup complete." `date` >> ${LOG}
done
echo "pg_dump complete." `date` >> ${LOG}
echo "Delete obosolete pgdmp files start." `date` >> ${LOG}
find ${BACKUPDIR} -type f -daystart -mtime +${EXPIRE_DAY} |xargs /bin/rm -f
echo "Delete obosolete pgdmp files complete." `date` >> ${LOG}
117山崎渉
03/04/20 06:27ID:??? ∧_∧
( ^^ )< ぬるぽ(^^)
( ^^ )< ぬるぽ(^^)
118nobodyさん
03/04/23 02:29ID:b3QZu4Pm PostgreSQL のデータベースを UTF8 で作ったとき、日本語の入ったカラムに
ORDER BY かけると JIS 漢字順ではなくなるのかな?
ORDER BY かけると JIS 漢字順ではなくなるのかな?
119nobodyさん
03/04/23 23:03ID:??? linさんのコメントにどんな意図があるかは知らないけど
サイトのJavaScriptでしばらく楽しんでしまった。。。
サイトのJavaScriptでしばらく楽しんでしまった。。。
120あぼーん
NGNGあぼーん
121nobodyさん
03/04/24 19:29ID:Q1w3nY2w 質問です。
複数のカラムを対象に、selectしたいのですが、どう書けばよろしいでしょうか?
mysqlだとFull Text Searchとあると思うのですが、Postgresでできますでしょうか?
複数のカラムを対象に、selectしたいのですが、どう書けばよろしいでしょうか?
mysqlだとFull Text Searchとあると思うのですが、Postgresでできますでしょうか?
122nobodyさん
03/04/25 11:28ID:???123nobodyさん
03/04/25 12:18ID:??? >>122
psqlで十分。
エディタもviでいい。
巡回ダウソもwgetでいい。
なんてなぁ、新しいのを覚えられないだけ。
CSE入れてみたけど起動してみて、
さ ぁ ど う し た も の か と 小 一 時 間 ...
psqlで十分。
エディタもviでいい。
巡回ダウソもwgetでいい。
なんてなぁ、新しいのを覚えられないだけ。
CSE入れてみたけど起動してみて、
さ ぁ ど う し た も の か と 小 一 時 間 ...
125nobodyさん
03/04/27 12:54ID:??? >>121
Full Text Searchって全文検索?
NamazとかKakasiでも使うかしかないんでないの?
全文検索な時点でDBが面倒見ないといけない機能でもないような気がする。
単純に複数カラムにを検索条件に掛けたいなら地道にSQL書きなはれ。
SELECT A.id
FROM A,B
WHERE A.id = B.id
AND A.firstname = "あああ"
AND B.adress = "あああ"
みたいな。
こんなSQL使う時点で、設計ミスか余計な機能な気もするけど。
Full Text Searchって全文検索?
NamazとかKakasiでも使うかしかないんでないの?
全文検索な時点でDBが面倒見ないといけない機能でもないような気がする。
単純に複数カラムにを検索条件に掛けたいなら地道にSQL書きなはれ。
SELECT A.id
FROM A,B
WHERE A.id = B.id
AND A.firstname = "あああ"
AND B.adress = "あああ"
みたいな。
こんなSQL使う時点で、設計ミスか余計な機能な気もするけど。
126nobodyさん
03/04/27 21:48ID:RGglVdIs psqlからのcopyコマンドで"\N"という文字列がテーブルに入れれない・・・(WITH NULL AS指定はなしで )
"\b"、"\n"、"\."は
"\\b"、"\\n"、"\\."に変換すれば入るのに・・・
"\N"は"\\N"に変換してもだめ・・・
"\N"という文字列はだめなんでしょうか?
"\b"、"\n"、"\."は
"\\b"、"\\n"、"\\."に変換すれば入るのに・・・
"\N"は"\\N"に変換してもだめ・・・
"\N"という文字列はだめなんでしょうか?
127nobodyさん
03/04/27 21:51ID:ClMbC1OP >>121
第一正規化、って知っていますか?
第一正規化、って知っていますか?
128121
03/04/27 21:52ID:u/4ug4s4 >> 124
失礼しました。whereで複数カラムを指定するという意味です。
>> 125
全文検索というと、確かにNamazuとかそういう方向いっちゃいますね。
単純に複数カラムを検索条件にかけたいだけです。
where andでつなぐと遅くなるので、(レコード数が230万件あるので)
mysqlのFull Text Searchつかったらと先方にいわれ、いまさら乗り換える
のはややこしいので、Postgresでもそういう機能がないかと探しておりま
した。
設計ミスか余計な機能ではとありますが、検索対象の列が5つあって、
最初はそれぞれにかければいいという仕様でしたが、5つのどれかに
ヒットするようにしなさいと仕様が変更されたのです。
他に方法あるでしょうか? って自分で考えろという感じですが、
いろいろと調べてはいるのですが、思いつきません。。
失礼しました。whereで複数カラムを指定するという意味です。
>> 125
全文検索というと、確かにNamazuとかそういう方向いっちゃいますね。
単純に複数カラムを検索条件にかけたいだけです。
where andでつなぐと遅くなるので、(レコード数が230万件あるので)
mysqlのFull Text Searchつかったらと先方にいわれ、いまさら乗り換える
のはややこしいので、Postgresでもそういう機能がないかと探しておりま
した。
設計ミスか余計な機能ではとありますが、検索対象の列が5つあって、
最初はそれぞれにかければいいという仕様でしたが、5つのどれかに
ヒットするようにしなさいと仕様が変更されたのです。
他に方法あるでしょうか? って自分で考えろという感じですが、
いろいろと調べてはいるのですが、思いつきません。。
130121
03/04/27 22:41ID:u/4ug4s4 > 129
すいません、where andではなく、where or で、遅くなるという意味です。
すいません、where andではなく、where or で、遅くなるという意味です。
131nobodyさん
03/04/27 23:03ID:??? >>128
>設計ミスか余計な機能ではとありますが、検索対象の列が5つあって、
>最初はそれぞれにかければいいという仕様でしたが、5つのどれかに
>ヒットするようにしなさいと仕様が変更されたのです。
そんなの、仕様変更されるのが当たり前だな。
仕様変更に対応できるようにしてなかった設計ミス。
ところで、230万件×5の全文検索ってMySQLなら速くできるのかな?
>設計ミスか余計な機能ではとありますが、検索対象の列が5つあって、
>最初はそれぞれにかければいいという仕様でしたが、5つのどれかに
>ヒットするようにしなさいと仕様が変更されたのです。
そんなの、仕様変更されるのが当たり前だな。
仕様変更に対応できるようにしてなかった設計ミス。
ところで、230万件×5の全文検索ってMySQLなら速くできるのかな?
135132
03/04/28 02:16ID:??? >>134
あー、likeで%から始まる奴は駄目だね。
ホントに全文検索っぽくやってるとしたら、like '%語句%'ってやってる
可能性は高いか。
121にもうちょっと情報を出してホスィところだなぁ。
あー、likeで%から始まる奴は駄目だね。
ホントに全文検索っぽくやってるとしたら、like '%語句%'ってやってる
可能性は高いか。
121にもうちょっと情報を出してホスィところだなぁ。
136nobodyさん
03/04/28 11:27ID:??? where coalesce(列1,'') || coalesce(列2,'') || coalesce(列3,'') like '%検索ワード%'explain してみたら、costは同じだけどrowsは or より少ないよ
137121
03/04/28 13:42ID:carn+S7w >> 134,135
ご指摘の通り、like '%語句%'とやっております。
実は今からでもテーブルの設計は変更可能なのですが、
どのように変更したらよろしいでしょうか。
今はID,NAME,AA,BB,CC,DD,EEというカラム構成で、
AA,BB,CC,DD,EEの中で、どれかに検索キーワードがあればヒットする
というようにしたいです。
>> 136
こちらありがとうございます。
coalesceってこういう時に使うのですね。習ってはいたのですが、
いつ使うんだろと思っていました。勉強になります。
ご指摘の通り、like '%語句%'とやっております。
実は今からでもテーブルの設計は変更可能なのですが、
どのように変更したらよろしいでしょうか。
今はID,NAME,AA,BB,CC,DD,EEというカラム構成で、
AA,BB,CC,DD,EEの中で、どれかに検索キーワードがあればヒットする
というようにしたいです。
>> 136
こちらありがとうございます。
coalesceってこういう時に使うのですね。習ってはいたのですが、
いつ使うんだろと思っていました。勉強になります。
139nobodyさん
03/04/29 11:45ID:??? textの部分一致は、例えば「abcdefg」という文字列があったとして、
like '%cd%' とすると遅くなるから、
abcdefg
bcdefg
cdefg
defg
efg
fg
g
というテーブルを別に作って、like 'cd%' すると速くなるよ、と
言われたことがある。もちろん、インデックス作って。
実際自分でやってみたことはないが。
like '%cd%' とすると遅くなるから、
abcdefg
bcdefg
cdefg
defg
efg
fg
g
というテーブルを別に作って、like 'cd%' すると速くなるよ、と
言われたことがある。もちろん、インデックス作って。
実際自分でやってみたことはないが。
140121
03/04/29 18:01ID:JKdqeuMi >> 127
正規化については、こちらを読みました。
http://www.rfs.jp/sitebuilder/sql/01/06.html
今回のケースとは特に関係ないかと思うのですが、私の洞察力不足でしょうか。
>> 139
ありがとうございます。
そこまでやると複雑になるので、おとなしくMySQLに移行するかと思って
しまいます。。
正規化については、こちらを読みました。
http://www.rfs.jp/sitebuilder/sql/01/06.html
今回のケースとは特に関係ないかと思うのですが、私の洞察力不足でしょうか。
>> 139
ありがとうございます。
そこまでやると複雑になるので、おとなしくMySQLに移行するかと思って
しまいます。。
141nobodyさん
03/04/29 19:13ID:8zWvKIjl142あぼーん
NGNGあぼーん
143しろ
03/04/30 09:50ID:??? >140
> 正規化については、こちらを読みました。
> http://www.rfs.jp/sitebuilder/sql/01/06.html
> 今回のケースとは特に関係ないかと思うのですが、私の洞察力不足でしょうか。
今回のケースと関係あるかないかどうかは「ID,NAME,AA,BB,CC,DD,EE」では判りません。
NAME,AA,BB,CC・・・が、名前、住所、電話番号、メールアドレス・・・などだったら
この部分に関しての正規化の必要はないかもしれません。
しかし、NAME,AA,BB,CC・・・が、担当者、商品名A、商品名B、商品名C・・・などだったら
必要ありますね。
とうわけで、あなたの洞察力不足かどうかは、構造がわからないので
なんともいえないです。
> 正規化については、こちらを読みました。
> http://www.rfs.jp/sitebuilder/sql/01/06.html
> 今回のケースとは特に関係ないかと思うのですが、私の洞察力不足でしょうか。
今回のケースと関係あるかないかどうかは「ID,NAME,AA,BB,CC,DD,EE」では判りません。
NAME,AA,BB,CC・・・が、名前、住所、電話番号、メールアドレス・・・などだったら
この部分に関しての正規化の必要はないかもしれません。
しかし、NAME,AA,BB,CC・・・が、担当者、商品名A、商品名B、商品名C・・・などだったら
必要ありますね。
とうわけで、あなたの洞察力不足かどうかは、構造がわからないので
なんともいえないです。
144nobodyさん
03/04/30 14:44ID:??? 正規化汁!と言ったひとの早とちりでしょう。
145121
03/04/30 22:31ID:0656yZRu >> 143
NAME,AA,BB,CC・・・は、担当者、商品名A、商品名B、商品名C・・・という
構造です。特にカラムが一緒ではないので、正規化は関係ないかと思うのですが、、、
ちがいます?
NAME,AA,BB,CC・・・は、担当者、商品名A、商品名B、商品名C・・・という
構造です。特にカラムが一緒ではないので、正規化は関係ないかと思うのですが、、、
ちがいます?
147146
03/04/30 23:01ID:??? (担当者テーブル:tantou)
id,name,address,tel…
(担当者id,担当者名,住所,電話番号…)
(商品テーブル:item)
id,name,price,registrant_id,regist_date…
(商品id,商品名,価格,登録者id,登録日時…)
SELECT tantou.name, tantou.address, item.regist_date
FROM tantou, item
WHERE tantou.id = item.registrant_id
AND tantou.name = "AAA"
AND item.name like "%BBB%"
みたいな感じにはなんないでしょうか?
NAME,AA,BB,CC・・・は、担当者、商品名A、商品名B、商品名C
というカラムにならないといけない状況があまり想像つきませぬ。。
id,name,address,tel…
(担当者id,担当者名,住所,電話番号…)
(商品テーブル:item)
id,name,price,registrant_id,regist_date…
(商品id,商品名,価格,登録者id,登録日時…)
SELECT tantou.name, tantou.address, item.regist_date
FROM tantou, item
WHERE tantou.id = item.registrant_id
AND tantou.name = "AAA"
AND item.name like "%BBB%"
みたいな感じにはなんないでしょうか?
NAME,AA,BB,CC・・・は、担当者、商品名A、商品名B、商品名C
というカラムにならないといけない状況があまり想像つきませぬ。。
148146
03/04/30 23:06ID:??? 最近の5件だったらこうか…。
(憶測しすぎだったらスマソ)
SELECT tantou.name, tantou.address, item.regist_date
FROM tantou, item
WHERE tantou.id = item.registrant_id
AND tantou.name = "AAA"
AND item.name like "%BBB%"
ORDER BY item.regist_date
LIMIT 5
(憶測しすぎだったらスマソ)
SELECT tantou.name, tantou.address, item.regist_date
FROM tantou, item
WHERE tantou.id = item.registrant_id
AND tantou.name = "AAA"
AND item.name like "%BBB%"
ORDER BY item.regist_date
LIMIT 5
149nobodyさん
03/05/01 20:08ID:??? PostgreSQLってテーブル名とかフィールド名が大文字英数だと、
SQL書くときテーブル名, フィールド名をダブルクォーテーションで
くくらないといけないんだな。
なんでこんな仕様になってんだ?
SQL書くときテーブル名, フィールド名をダブルクォーテーションで
くくらないといけないんだな。
なんでこんな仕様になってんだ?
151nobodyさん
03/05/02 20:04ID:??? 2つのテーブルの両方のカラム(同じなまえ)にデータが存在するかどうかを
確認するために以下のようにしているのですが、うまくいきません。
どこか間違っているのでしょうか?
SELECT 1 FROM TBL1, TBL2 WHERE TBL1.ID!='hoge' AND TBL2.ID!='hoge';
SELECT 1 FROM TBL1, TBL2 WHERE TBL1.ID='hoge' OR TBL2.ID='hoge';
確認するために以下のようにしているのですが、うまくいきません。
どこか間違っているのでしょうか?
SELECT 1 FROM TBL1, TBL2 WHERE TBL1.ID!='hoge' AND TBL2.ID!='hoge';
SELECT 1 FROM TBL1, TBL2 WHERE TBL1.ID='hoge' OR TBL2.ID='hoge';
152nobodyさん
03/05/02 20:54ID:ixQKgJiY >>151
intersect
intersect
154nobodyさん
03/05/02 21:05ID:??? SELECT 1
FROM TBL1, TBL2
WHERE TBL1.ID = TBL2.ID
AND TBL1.ID = 'hoge';
FROM TBL1, TBL2
WHERE TBL1.ID = TBL2.ID
AND TBL1.ID = 'hoge';
156nobodyさん
03/05/04 18:28ID:??? ここで聞くのが適当かどうかわかりませんが、まったく同じSQLでWeb上からの
アクセス結果とスクリプトやコマンドインタプリタからのSQL実行結果
とが違うので悩んでおります。以下がそのSQL文です。
SELECT 1 WHERE EXISTS(SELECT 1 FROM TBL1 WHERE ID='hoge') OR
EXISTS(SELECT 1 FROM TBL2 WHERE ID='hoge');
Web上からの処理結果がうまく表示されません。それぞれ2つのSQLだとWeb上
でもうまく表示されるのですが・・・
因みに mod_perl を使っていますが、きちんと use strict して変数はすべて my で
宣言しています。もちろん grant もしています。
アクセス結果とスクリプトやコマンドインタプリタからのSQL実行結果
とが違うので悩んでおります。以下がそのSQL文です。
SELECT 1 WHERE EXISTS(SELECT 1 FROM TBL1 WHERE ID='hoge') OR
EXISTS(SELECT 1 FROM TBL2 WHERE ID='hoge');
Web上からの処理結果がうまく表示されません。それぞれ2つのSQLだとWeb上
でもうまく表示されるのですが・・・
因みに mod_perl を使っていますが、きちんと use strict して変数はすべて my で
宣言しています。もちろん grant もしています。
157nobodyさん
03/05/05 00:34ID:V6Q641Ow158nobodyさん
03/05/05 00:40ID:??? >>157
コンソールからはPerlで書いたスクリプトで、存在しているIDをときはきちんと
1を返します。
psql(コマンドインタプリタ)からでも同じSQLだと同じ1を返します。
ただ、Web上からPerlで書いたCGIに同じSQLを実行させた結果、0を
返します。因みにDBIとDBD−Pgを使って永続接続させています。
コンソールからはPerlで書いたスクリプトで、存在しているIDをときはきちんと
1を返します。
psql(コマンドインタプリタ)からでも同じSQLだと同じ1を返します。
ただ、Web上からPerlで書いたCGIに同じSQLを実行させた結果、0を
返します。因みにDBIとDBD−Pgを使って永続接続させています。
161nobodyさん
03/05/13 09:51ID:77a0e79m プログラミングではなく、運用の質問なんですが、
Postgresの監視って、プロセス上がってるかどうか
程度でいいですかねぇ?
Postgresの監視って、プロセス上がってるかどうか
程度でいいですかねぇ?
162nobodyさん
03/05/13 11:44ID:??? >>161
・プロセスあがってるかどうか監視
・最大プロセス超えてないかどうか監視
・クエリーの応答時間が甚だしく増えていないかどうか監視
くらいじゃねーの?
ディスク容量とかも必要かも試練が
こっちは鯖の監視の範疇に入るかな
・プロセスあがってるかどうか監視
・最大プロセス超えてないかどうか監視
・クエリーの応答時間が甚だしく増えていないかどうか監視
くらいじゃねーの?
ディスク容量とかも必要かも試練が
こっちは鯖の監視の範疇に入るかな
163nobodyさん
03/05/13 11:47ID:sZdPhQWk >>161
接続できるかどうかぐらいはテストしたら?
接続できるかどうかぐらいはテストしたら?
164161
03/05/13 17:15ID:77a0e79m165nobodyさん
03/05/14 05:36ID:aknt5UHd 原因がまったく解明しないため、質問させていただきます。
今までどおり、
if($r->resultStatus ne PGRES_TUPLES_OK){ return 0; }
このようにselectが正常にとおってるかサブルーチン内で
チェックさせていたのですが、ある時からなぜか
PGRES_TUPLES_OKがそのまま「PGRES_TUPLES_OK」
となってしまい、この照合も「2 ne PGRES_TUPLES_OK」
となり、照合エラーとなってしまいます。
考えられる原因があれば、どうかご教授ください。
よろしくお願いいたします。
今までどおり、
if($r->resultStatus ne PGRES_TUPLES_OK){ return 0; }
このようにselectが正常にとおってるかサブルーチン内で
チェックさせていたのですが、ある時からなぜか
PGRES_TUPLES_OKがそのまま「PGRES_TUPLES_OK」
となってしまい、この照合も「2 ne PGRES_TUPLES_OK」
となり、照合エラーとなってしまいます。
考えられる原因があれば、どうかご教授ください。
よろしくお願いいたします。
166nobodyさん
03/05/14 07:26ID:??? >>165
この情報からだとスペルミスか、何らかの理由で定数のimportが
できなかったのかというくらいしか思いつかんが。
原因はわからんが、そういうミスを事前にチェックできるよう、use strict; を
使うのが常識。あと、PGRES_TUPLES_OKは整数なので、比較は ne じゃ
なくて != でよい。
この情報からだとスペルミスか、何らかの理由で定数のimportが
できなかったのかというくらいしか思いつかんが。
原因はわからんが、そういうミスを事前にチェックできるよう、use strict; を
使うのが常識。あと、PGRES_TUPLES_OKは整数なので、比較は ne じゃ
なくて != でよい。
167165
03/05/14 21:34ID:aknt5UHd 原因が判明しました。しかし、その意味がどうしてもわかりません。
if($r->resultStatus ne PGRES_TUPLES_OK){ return 0; }
という処理は「db.pl」というファイルの中のサブルーチン「db_command」
内で行っていたのですが、このファイルのパッケージ名を「db(package db;)」
としました。
違うファイル「select.cgi」より「db.pl」をrequireし、サブルーチン
「db_command」を「db::db_command($sql)」と呼び出していたの
ですが、この呼び出し方に問題がありました。
パッケージ管理せず、「db_command($sql)」と呼び出すと、結果が
返ってきます。strictでも何にもエラーがはかれません。
原因はわかりましたが、その意味が不明です。
勉強不足で申し訳ないです。
if($r->resultStatus ne PGRES_TUPLES_OK){ return 0; }
という処理は「db.pl」というファイルの中のサブルーチン「db_command」
内で行っていたのですが、このファイルのパッケージ名を「db(package db;)」
としました。
違うファイル「select.cgi」より「db.pl」をrequireし、サブルーチン
「db_command」を「db::db_command($sql)」と呼び出していたの
ですが、この呼び出し方に問題がありました。
パッケージ管理せず、「db_command($sql)」と呼び出すと、結果が
返ってきます。strictでも何にもエラーがはかれません。
原因はわかりましたが、その意味が不明です。
勉強不足で申し訳ないです。
168165
03/05/14 23:48ID:??? またもや自己解決。。。ようやくわかりました。
Pg::PGRES_TUPLES_OK
これだけです。これで解決しました。
いろいろと失礼致しました。
Pg::PGRES_TUPLES_OK
これだけです。これで解決しました。
いろいろと失礼致しました。
169nobodyさん
03/05/18 19:21ID:EvuGQeIP 「40万件有るデー」って、いなかのスーパーの安売りみたいですね。
171nobodyさん
03/05/18 20:08ID:??? しょーもないカキコでageるなコラ。
172nobodyさん
03/05/18 21:06ID:5+xOckh5 PostgreSQLはなんでshift−jisのエンコーディングをサポートしてくれないの?
173あぼーん
NGNGあぼーん
174あぼーん
NGNGあぼーん
175あぼーん
NGNGあぼーん
176あぼーん
NGNGあぼーん
177nobodyさん
03/05/19 20:20ID:??? UNIX積算秒を timestamp型にUPDATE文でセットするにはどのような方法があるのでしょうか?
マニュアルの date_trunc() や timestamp() 関数を見てもそれらしいのが見あたら
なくてなやんでいます。
マニュアルの date_trunc() や timestamp() 関数を見てもそれらしいのが見あたら
なくてなやんでいます。
178nobodyさん
03/05/20 20:28ID:tVu/NkZD すんまそん、
緊急の為、過去ログ見ないで聞きます
文字コードを設定する方法を教えてくだつぁい
困りはてました・・・
環境はapache(Linux)+PostgreSQL+PHP
もう日本語めひゃくひゃ・・・
緊急の為、過去ログ見ないで聞きます
文字コードを設定する方法を教えてくだつぁい
困りはてました・・・
環境はapache(Linux)+PostgreSQL+PHP
もう日本語めひゃくひゃ・・・
179nobodyさん
03/05/20 22:01ID:7LQQ/2dr PostgreSQL 7.3.2 付属ドキュメント
http://www.postgresql.jp/document/pg732doc/
http://www.postgresql.jp/document/pg732doc/
180nobodyさん
03/05/20 22:13ID:??? 緊急で
文字コードを設定する方法を教えてくだつぁい
って疑問にぶち当たるシチュエーションってのが想像つかん。
文字コードを設定する方法を教えてくだつぁい
って疑問にぶち当たるシチュエーションってのが想像つかん。
181nobodyさん
03/05/20 22:43ID:mI4NkyBO Serialを指定したテーブルからNextValの値を取得したいと
思っています。
Javaで行う場合に、
REsultSet rs = executeQuery("select nextval('zzz_id_seq')");
としているのですが、これからどのように取得すればいいのでしょうか?
それとも、根本的に取得の方法が間違っていますか?
思っています。
Javaで行う場合に、
REsultSet rs = executeQuery("select nextval('zzz_id_seq')");
としているのですが、これからどのように取得すればいいのでしょうか?
それとも、根本的に取得の方法が間違っていますか?
183山崎渉
03/05/22 01:59ID:??? ━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
184nobodyさん
03/05/22 10:32ID:JcOANcCI オマイら
dbの容量計算の仕方教えて下さい。
dbの容量計算の仕方教えて下さい。
186nobodyさん
03/05/24 20:17ID:aDXBSjIE ポスグレ!
187nobodyさん
03/05/24 23:21ID:??? ( ゚-゚)b
188nobodyさん
03/05/24 23:26ID:??? 略すなYO!!!
189nobodyさん
03/05/27 10:31ID:oAIrGLTh select count(*) from hogehoge;
って件数じゃん
って件数じゃん
190あぼーん
NGNGあぼーん
191nobodyさん
03/05/27 13:02ID:ehUv/K+8 で、hogehogeってなに?
192あぼーん
NGNGあぼーん
193nobodyさん
03/05/27 13:44ID:??? (´-`).。oO(いつもながらツッコミが遅いです・・・)
(1) create table t1 (ts timestamp);
ってしますよね。で、日本時間15:37ごろに
(2) insert into t1 values (now());
ってしますよね。で、
(3) select * from t1;
ってやると
2003-05-27 15:37:54.748034
んな感じで値が帰ってくるかと思うのですが、
(4) これを php から epoch 形式で取得して、date() 関数に渡すと
28日の0時になってしまいます。
これは↑のうちのどこが悪いのでしょう?
ってしますよね。で、日本時間15:37ごろに
(2) insert into t1 values (now());
ってしますよね。で、
(3) select * from t1;
ってやると
2003-05-27 15:37:54.748034
んな感じで値が帰ってくるかと思うのですが、
(4) これを php から epoch 形式で取得して、date() 関数に渡すと
28日の0時になってしまいます。
これは↑のうちのどこが悪いのでしょう?
195nobodyさん
03/05/27 17:46ID:dZ0fIA92 次のようなテーブルがあるとして、思ったような
操作ができずに困っています。どなたかよい方法を
ご存知の片がおられましたら、教えてください。よろしくお願いします。
下のようなテーブルがあったとします。
Id name point date
1 あ 5 5月1日
2 い 1 5月16日
3 う 22 5月5日
4 え 0 5月27日
5 お 10 5月26日
このテーブルから、例えば本日が5月27日だとすると
本日から3日以内のdateのものを優先的に取得し、
そのレコードより後ろに、それ以外のデータを
pointの降順で並べたいのです。
操作ができずに困っています。どなたかよい方法を
ご存知の片がおられましたら、教えてください。よろしくお願いします。
下のようなテーブルがあったとします。
Id name point date
1 あ 5 5月1日
2 い 1 5月16日
3 う 22 5月5日
4 え 0 5月27日
5 お 10 5月26日
このテーブルから、例えば本日が5月27日だとすると
本日から3日以内のdateのものを優先的に取得し、
そのレコードより後ろに、それ以外のデータを
pointの降順で並べたいのです。
196195の続き
03/05/27 17:46ID:dZ0fIA92つまり上の例からSQL文で取得した結果を
id name point date
4 え 0 5月27日 (3日以内のものが上にきている)
5 お 10 5月26日 (3日以内)
3 う 22 5月5日 (↓それ以外はpointの降順)
1 あ 5 5月1日
2 い 1 5月16日
という風にしたいのです。しかし、SQL文が思いつきません。
select * from (
(select * from テーブル名 where (検索条件) and dateが3日以内 )
UNION
(select * from テーブル名 where (検索条件) )
) order by date desc , point desc;
のようにしても、dateの降順になるだけでした。
(検索条件)というのは今回ある条件でレコードを引っ張ってくるので
その条件のことなのですが、これは非常に処理が重く
なんとか1回ですませられないかとも思っています。
長文になってしまいましたが、アドバイスをよろしくおねがいします。
あつかましくてすみません・・・
197nobodyさん
03/05/27 18:23ID:??? >>196
UNIONって実践で使おうとして結局ボツにした事しかないから
あんまり詳しい挙動は良くわかんないんだけど、
(select * from テーブル名 where (検索条件) and dateが3日以内 )
と
(select * from テーブル名 where (検索条件)
をくっつけるってことは、distinctかけるか"(検索条件)and dateが3日以上前"
にしないと重複行がでるような。。
あと、"くっつけた後"のレコードに対してorder by date desc , point desc;してるんだから、
この時点で3日以内のレコードが一番上とか関係ないし。
(select * from テーブル名 where (検索条件) and dateが3日以内 )
という結果と
(select * from テーブル名 where (検索条件) and dateが3日以上前 order by date desc , point desc);
という結果をUNIONしないとだめっぽ。
それ以前に、単純に新しい日付順に並べるのが一番楽だろうになんでまたこんな奇怪な
仕様になってるんですか?
印刷するにしてもブラウザに表示するにしても、一言注意書きが必要になっちゃうような
インターフェースは避けるべきかと。
日常的に直近3日のデータしか使わないようなら、(Webアプリなら)直近3日を表示するページを作って、
全体表示をするページへのリンクを貼るようにするとか仕様変更も検討しては?
UNIONって実践で使おうとして結局ボツにした事しかないから
あんまり詳しい挙動は良くわかんないんだけど、
(select * from テーブル名 where (検索条件) and dateが3日以内 )
と
(select * from テーブル名 where (検索条件)
をくっつけるってことは、distinctかけるか"(検索条件)and dateが3日以上前"
にしないと重複行がでるような。。
あと、"くっつけた後"のレコードに対してorder by date desc , point desc;してるんだから、
この時点で3日以内のレコードが一番上とか関係ないし。
(select * from テーブル名 where (検索条件) and dateが3日以内 )
という結果と
(select * from テーブル名 where (検索条件) and dateが3日以上前 order by date desc , point desc);
という結果をUNIONしないとだめっぽ。
それ以前に、単純に新しい日付順に並べるのが一番楽だろうになんでまたこんな奇怪な
仕様になってるんですか?
印刷するにしてもブラウザに表示するにしても、一言注意書きが必要になっちゃうような
インターフェースは避けるべきかと。
日常的に直近3日のデータしか使わないようなら、(Webアプリなら)直近3日を表示するページを作って、
全体表示をするページへのリンクを貼るようにするとか仕様変更も検討しては?
198nobodyさん
03/05/27 19:33ID:??? 今197がいいこと言った!!!
199nobodyさん
03/05/28 12:30ID:37obhOpS >>196
select * from
(select *,1 AS tmp from テーブル名 where (検索条件) and dateが3日以内 )
union
(select *,2 AS tmp from テーブル名 where (検索条件)
order by tmp, date desc , point desc
ってのは?
select * from
(select *,1 AS tmp from テーブル名 where (検索条件) and dateが3日以内 )
union
(select *,2 AS tmp from テーブル名 where (検索条件)
order by tmp, date desc , point desc
ってのは?
200あぼーん
NGNGあぼーん
201あぼーん
NGNGあぼーん
202nobodyさん
03/05/28 13:41ID:??? 単発で質問スレを立てないように。終了。
203195
03/05/28 20:14ID:8u4ScsfX >>197さん
変な質問に付き合っていただき、どうもありがとうございます。
確かに、おっしゃるとおりでした。最後のソートがよくないです
UNIONは和集合なので、一応重複したレコードは1つになります。
結局、
select * from (
(select * from テーブル名 where (検索条件) and dateが3日以内 )order by date desc
UNION ALL
(select * from テーブル名 where (検索条件) )order by point desc;
)
のようにしているのが現状です。UNION ALLだと、そのままくっつけてくれて、
検索条件のところで互いに重ならないような条件をくわえています。
これ、確かに設計がわるいです・・
たとえば、検索エンジンで、新し物を表示し、アクセスうが多いものを
表示しようという嗜好なのですが・
変な質問に付き合っていただき、どうもありがとうございます。
確かに、おっしゃるとおりでした。最後のソートがよくないです
UNIONは和集合なので、一応重複したレコードは1つになります。
結局、
select * from (
(select * from テーブル名 where (検索条件) and dateが3日以内 )order by date desc
UNION ALL
(select * from テーブル名 where (検索条件) )order by point desc;
)
のようにしているのが現状です。UNION ALLだと、そのままくっつけてくれて、
検索条件のところで互いに重ならないような条件をくわえています。
これ、確かに設計がわるいです・・
たとえば、検索エンジンで、新し物を表示し、アクセスうが多いものを
表示しようという嗜好なのですが・
204nobodyさん
03/05/29 00:24ID:l3/TekvE PostgreSQL 7.3.3 Now Available for Download
Posted on 2003-05-27 by press@postgresql.org
The PostgreSQL Global Development Group has released PostgreSQL 7.3.3.
It is highly recommended that those running earlier version of the 7.3
branch upgrade at their earliest convenience.
http://www.t.ring.gr.jp/archives/misc/db/postgresql/source/v7.3.3/
Posted on 2003-05-27 by press@postgresql.org
The PostgreSQL Global Development Group has released PostgreSQL 7.3.3.
It is highly recommended that those running earlier version of the 7.3
branch upgrade at their earliest convenience.
http://www.t.ring.gr.jp/archives/misc/db/postgresql/source/v7.3.3/
205nobodyさん
03/05/29 17:54ID:??? squid で proxy 作って、WEB 見るときはそれを使うようにした。
そしたら、日本 PostgreSQL ユーザー会のページ(postgresql.jp)が見れなくなった。
他のページは見れるし、proxy 外したらユーザー会のページもOKなのに。
なんでだろう。
・・・スレ違いだね。ごめん。
そしたら、日本 PostgreSQL ユーザー会のページ(postgresql.jp)が見れなくなった。
他のページは見れるし、proxy 外したらユーザー会のページもOKなのに。
なんでだろう。
・・・スレ違いだね。ごめん。
206あぼーん
NGNGあぼーん
207あぼーん
NGNGあぼーん
208nobodyさん
03/05/31 23:38ID:NfBpY+67209nobodyさん
03/06/03 11:27ID:LFu6QbCl こんにちは。
decimal型で、&演算子を用いて演算する方法は無いでしょうか?
1ビットごとに意味を持たせておいて、&でマスクをかけて検索している
のですが、int8の64ビットだと、64種類までなので、
それては不足しています。
そこで、decimal型でやりたいのですが、int型しか&を使えない
というエラーが出てしまいます。intにcastしても、その時点で
int8の最大値を超えているとエラーが出てしまうので、
困っています。
よい解決方法がありましたら、ご教授ください。
decimal型で、&演算子を用いて演算する方法は無いでしょうか?
1ビットごとに意味を持たせておいて、&でマスクをかけて検索している
のですが、int8の64ビットだと、64種類までなので、
それては不足しています。
そこで、decimal型でやりたいのですが、int型しか&を使えない
というエラーが出てしまいます。intにcastしても、その時点で
int8の最大値を超えているとエラーが出てしまうので、
困っています。
よい解決方法がありましたら、ご教授ください。
210nobodyさん
03/06/03 14:50ID:??? bit型を使うわけにはいけない?
もしくはバイナリをつっこむとか。
文字列で表現する方法もあるし。
そもそもdecimalのデータ格納効率はintなどと比べて悪いんじゃない?
もしくはバイナリをつっこむとか。
文字列で表現する方法もあるし。
そもそもdecimalのデータ格納効率はintなどと比べて悪いんじゃない?
211209
03/06/03 16:24ID:LFu6QbCl そうだったんですか・・・ありがとうございます。
indexをはりたかったので、decimalでしました。
いろいろやった結果、
floor ( decimalカラム / 探したい数値 ) % 2 = 1
という式でなりました。お世話になりました(^^
格納効率も、次回から考慮してみますね
indexをはりたかったので、decimalでしました。
いろいろやった結果、
floor ( decimalカラム / 探したい数値 ) % 2 = 1
という式でなりました。お世話になりました(^^
格納効率も、次回から考慮してみますね
212あぼーん
NGNGあぼーん
213nobodyさん
03/06/04 14:29ID:7jLojF8m PostgreSQL7.3.2です。
あるDBへ接続できなくなってしまいました。
psql sample
とすると、
psql: FATAL: catalog is missing 5 attribute(s) for relid 1262
と出てしまいます。pg_dumpとろうとしても、
pg_dump: [archiver (db)] connection to database "sample" failed: FATAL: catalog is missing 5 attribute(s) for relid 1262
と出てしまいます。
バックアップはとっていません。。削除するわけにもいかない事情があります。
どうにかして復旧することはできませんか。。。
(つか、意外にひ弱なPostgreSQL?)
あるDBへ接続できなくなってしまいました。
psql sample
とすると、
psql: FATAL: catalog is missing 5 attribute(s) for relid 1262
と出てしまいます。pg_dumpとろうとしても、
pg_dump: [archiver (db)] connection to database "sample" failed: FATAL: catalog is missing 5 attribute(s) for relid 1262
と出てしまいます。
バックアップはとっていません。。削除するわけにもいかない事情があります。
どうにかして復旧することはできませんか。。。
(つか、意外にひ弱なPostgreSQL?)
214あぼーん
NGNGあぼーん
215nobodyさん
03/06/04 14:45ID:ulcLr4fi でいつWindows版は出るわけ?
216nobodyさん
03/06/04 18:24ID:???217nobodyさん
03/06/04 22:45ID:??? 7.4はWindowsでもビルドできるって?
218213
03/06/05 00:19ID:tKeK+oMF 213です。すんません、どなたか>>213の解決策、ご存じの方いらっしゃいませんか…まじ困ってます(;´Д`)
Google探しまくってますが有効策みあたりません。。
おながいします"_m(_'_)m_"
Google探しまくってますが有効策みあたりません。。
おながいします"_m(_'_)m_"
219nobodyさん
03/06/05 00:52ID:eid+uK9F こんばんは。
CREATE TABLE heaven (
name text,
karma int
);
karmaを10下げる関数を書いたんですけど、そんなこと
しなくても単純なSQL文で実行出来ますか?後学のため
に教えてください。
UPDATE heaven SET kerma = kerma - 10 WHERE name = 'hoge';
みたいなことがしたいんです。。
CREATE TABLE heaven (
name text,
karma int
);
karmaを10下げる関数を書いたんですけど、そんなこと
しなくても単純なSQL文で実行出来ますか?後学のため
に教えてください。
UPDATE heaven SET kerma = kerma - 10 WHERE name = 'hoge';
みたいなことがしたいんです。。
221nobodyさん
03/06/05 02:28ID:??? >>213
カタログ情報が壊れているのかな
なんか相当ヘンなことしなかった?
>バックアップはとっていません。。
日時のダンプくらい取れYO・・・
>(つか、意外にひ弱なPostgreSQL?)
他人のせいにして・・・
もうダメぽ・・・
データファイルから本体のデータを復旧するツールってないのかな?
もしなくても
デキる香具師なら
ソース読んで2,3日で作れそうだが
カタログ情報が壊れているのかな
なんか相当ヘンなことしなかった?
>バックアップはとっていません。。
日時のダンプくらい取れYO・・・
>(つか、意外にひ弱なPostgreSQL?)
他人のせいにして・・・
もうダメぽ・・・
データファイルから本体のデータを復旧するツールってないのかな?
もしなくても
デキる香具師なら
ソース読んで2,3日で作れそうだが
222213
03/06/05 09:20ID:8BFr2soT >>221
>>日時のダンプくらい取れYO・・・
そのとーりです。はい。取る前におきてしまったんでつ。もう、どうしようもないです。
>>他人のせいにして・・・
それが私の特徴です(←こら AccessとかMS-SQL Server2000じゃこんなことゼッタイ無かったのにぃ〜と嘆いています。
使い始めて9日目…やっぱ復旧ツールって無いんですね…これこそダメぽ……
>>日時のダンプくらい取れYO・・・
そのとーりです。はい。取る前におきてしまったんでつ。もう、どうしようもないです。
>>他人のせいにして・・・
それが私の特徴です(←こら AccessとかMS-SQL Server2000じゃこんなことゼッタイ無かったのにぃ〜と嘆いています。
使い始めて9日目…やっぱ復旧ツールって無いんですね…これこそダメぽ……
223nobodyさん
03/06/05 11:49ID:??? Jet使うとしょっちゅう壊れると思うんだが。
復旧できるからまだしも、そうでなかったらどうしようもない。
復旧できるからまだしも、そうでなかったらどうしようもない。
224nobodyさん
03/06/10 15:30ID:+sYGrsNt windowsからlinux上にインストールしたpostgresqlサーバに
アクセスして、テーブルとかをいじれるツールってあるのでせうか?
ODBCとか使って、accessからアクセスできないかななんちゃって(サムイ
アクセスして、テーブルとかをいじれるツールってあるのでせうか?
ODBCとか使って、accessからアクセスできないかななんちゃって(サムイ
227224
03/06/11 01:48ID:???228nobodyさん
03/06/11 12:40ID:dVQT51zl >>227
access server を買って使ってくれ・・・
access server を買って使ってくれ・・・
229postgresql勉強始めました
03/06/12 23:09ID:aCqR/moW ここで、質問しても良いのでしょうか・・・?
postgresqlの勉強を始めたばかりで、わからないことばかりなのですが、
いったん作成したテーブルに、新たな列を後から追加・削除することは可能でしょうか?
postgresqlの勉強を始めたばかりで、わからないことばかりなのですが、
いったん作成したテーブルに、新たな列を後から追加・削除することは可能でしょうか?
231nobodyさん
03/06/12 23:30ID:??? ALTER TABLEを使う
ttp://www.postgresql.jp/document/pg732doc/user/ddl-alter.html
基本的なことは>>2のユーザー会のマニュアルを見るべし。
DBは突っ込んで勉強するとけっこう深い。ガンガレ
ttp://www.postgresql.jp/document/pg732doc/user/ddl-alter.html
基本的なことは>>2のユーザー会のマニュアルを見るべし。
DBは突っ込んで勉強するとけっこう深い。ガンガレ
232231
03/06/12 23:31ID:??? かぶったーよ
234nobodyさん
03/06/14 02:40ID:8UJU9HVd initlocationをつかって、
DBの作成する場所を変えようと思ってるんだけど、
なんかしんないけど、
エラー出るんですよ。
誰かわかりますかね。
su - postgres
export PGDATA2=/var/lib/pgsql/data
initlocation PGDATA2
createdb test -D 'PGDATA2'
ERROR: Postmaster environment variable 'PGDATA2' not set
createdb: database creation failed
DBの作成する場所を変えようと思ってるんだけど、
なんかしんないけど、
エラー出るんですよ。
誰かわかりますかね。
su - postgres
export PGDATA2=/var/lib/pgsql/data
initlocation PGDATA2
createdb test -D 'PGDATA2'
ERROR: Postmaster environment variable 'PGDATA2' not set
createdb: database creation failed
235234
03/06/14 04:22ID:8UJU9HVd 234です。
事故解決しました。
postmasterを起動するときに、
export も同時にやるとうまくいったよ。
事故解決しました。
postmasterを起動するときに、
export も同時にやるとうまくいったよ。
すいません、PHP + PostgreSQL スレにも書いたんですけど
あまり人いないようなのでこちらにもお邪魔させてください。
別の外注が作ったシステムの移行を頼まれたのですが、
PostgreSQL 7.2 ⇒ 7.3 での非互換な項目
空の文字列 ('') は、整数フィールドに対する入力として
許可されなくなりました。 以前は、これは暗黙的に 0 と
解釈されていました。
に引っ掛かってしまいました。べらぼうな数のテーブルと
べらぼうな数のPHPソースがあり、これを一つ一つ
$SQL = "UPDATE table SET int_value = '$int_value'";
から例えば
$int_value += 0;
$SQL = "UPDATE table SET int_value = $int_value";
のような感じに変更するのはかなり厳しい状況です。
バージョンを下げる以外に何か対応策はないですかね?
postgresql.conf とかで切り替えられたらいいんですが。。。
あまり人いないようなのでこちらにもお邪魔させてください。
別の外注が作ったシステムの移行を頼まれたのですが、
PostgreSQL 7.2 ⇒ 7.3 での非互換な項目
空の文字列 ('') は、整数フィールドに対する入力として
許可されなくなりました。 以前は、これは暗黙的に 0 と
解釈されていました。
に引っ掛かってしまいました。べらぼうな数のテーブルと
べらぼうな数のPHPソースがあり、これを一つ一つ
$SQL = "UPDATE table SET int_value = '$int_value'";
から例えば
$int_value += 0;
$SQL = "UPDATE table SET int_value = $int_value";
のような感じに変更するのはかなり厳しい状況です。
バージョンを下げる以外に何か対応策はないですかね?
postgresql.conf とかで切り替えられたらいいんですが。。。
237nobodyさん
03/06/16 17:27ID:??? >>236
コピペ?
あまりにも典型的なハマリ(ry
もし実話だったら
とりあえず新幹線に乗って
京都・奈良で寺巡りでもして来い
壮大な歴史の中では
自分がいかにちっぽけな存在であるか
よーく分かるはずだ
コピペ?
あまりにも典型的なハマリ(ry
もし実話だったら
とりあえず新幹線に乗って
京都・奈良で寺巡りでもして来い
壮大な歴史の中では
自分がいかにちっぽけな存在であるか
よーく分かるはずだ
239236
03/06/17 16:12ID:???240あぼーん
NGNGあぼーん
241nobodyさん
03/06/17 19:28ID:??? >>239
整数のフィールドを持つテーブルに対して、一つ一つトリガを作るとか。
手間はかかるがコードの修正よりは単純作業だし、漏れが出にくいよ(w
UPDATEやINSERTが必ず通る道で待ち伏せするわけだから。
テーブルの一覧をざっと眺めて、半日なり1日なり単純作業をすれば見切り発車はできるかと。
で、後からじっくりマターリとコードを直して行く。。。
すんごい小手先だけど、コード多い・時間無い・エラーが出るのはマズイって状況なら
これぐらいしか思いつかん。
設定で一発でなんとかできりゃあ良いんだろうけど、俺は知りませぬ。
#もしシステムのユーザが一般人ではなくてオペレータとかだったら、「空白入れんなヴォケ!」
#ってマニュアル対応で逃(ry
整数のフィールドを持つテーブルに対して、一つ一つトリガを作るとか。
手間はかかるがコードの修正よりは単純作業だし、漏れが出にくいよ(w
UPDATEやINSERTが必ず通る道で待ち伏せするわけだから。
テーブルの一覧をざっと眺めて、半日なり1日なり単純作業をすれば見切り発車はできるかと。
で、後からじっくりマターリとコードを直して行く。。。
すんごい小手先だけど、コード多い・時間無い・エラーが出るのはマズイって状況なら
これぐらいしか思いつかん。
設定で一発でなんとかできりゃあ良いんだろうけど、俺は知りませぬ。
#もしシステムのユーザが一般人ではなくてオペレータとかだったら、「空白入れんなヴォケ!」
#ってマニュアル対応で逃(ry
242236
03/06/17 19:32ID:??? なるほど、トリガですか。何とかなるかな…
ちょっと盲点だったかもしれません。
ありがとうございます、助かりました。
ちょっと盲点だったかもしれません。
ありがとうございます、助かりました。
243nobodyさん
03/06/18 02:42ID:SST1kRd8 Win2Kに cygwin で PostgreSQL7.3 をインストールして、同じ端末につみきWEBのCSEをインストールしました。
で、データベースに接続しようとしたところ
FATAL 1: Database ""testdb"" does not exist in the system catalog
というエラーが発生して繋がりません。
他のSQLエディタで(psqledit)設定を一緒にしたところ、うまくつながりました。
なので、データベース名を囲むダブルクオテーションが二重になってるのが原因だと思うのですが、同じところでハマって居る人いませんか?
データベース名を指定しないと、ユーザ名がデータベース名になるのですが、そのときは"testdb"というように一重になり、繋がります。
どなたか解決方法を知っている人がいれば、ご教授願います。
で、データベースに接続しようとしたところ
FATAL 1: Database ""testdb"" does not exist in the system catalog
というエラーが発生して繋がりません。
他のSQLエディタで(psqledit)設定を一緒にしたところ、うまくつながりました。
なので、データベース名を囲むダブルクオテーションが二重になってるのが原因だと思うのですが、同じところでハマって居る人いませんか?
データベース名を指定しないと、ユーザ名がデータベース名になるのですが、そのときは"testdb"というように一重になり、繋がります。
どなたか解決方法を知っている人がいれば、ご教授願います。
246nobodyさん
03/06/22 09:57ID:SKC4SEC9 「PostgreSQL構築・運用ガイド」期待age
ttp://ml.postgresql.jp/pipermail/pgsql-jp/2003-June/005336.html
ttp://ml.postgresql.jp/pipermail/pgsql-jp/2003-June/005336.html
247nobodyさん
03/06/22 09:59ID:???248あぼーん
NGNGあぼーん
249nobodyさん
03/06/22 10:19ID:??? 本書は,PostgreSQLの導入方法はもちろん,
企業情報システムでの利用を前提にした,運用方法や信頼性,
可用性を高めるための方法,企業情報システムで広く使われている
Oracleデータベースとの比較なども紹介し,
企業ユーザーにとって有用な情報をお届けします。
http://ml.postgresql.jp/pipermail/pgsql-jp/2003-June/005336.html
http://bpstore.nikkeibp.co.jp/item/main/148222234340.html
http://bpstore.nikkeibp.co.jp/item/image/h_4822223434.gif
企業情報システムでの利用を前提にした,運用方法や信頼性,
可用性を高めるための方法,企業情報システムで広く使われている
Oracleデータベースとの比較なども紹介し,
企業ユーザーにとって有用な情報をお届けします。
http://ml.postgresql.jp/pipermail/pgsql-jp/2003-June/005336.html
http://bpstore.nikkeibp.co.jp/item/main/148222234340.html
http://bpstore.nikkeibp.co.jp/item/image/h_4822223434.gif
250nobodyさん
03/06/22 10:28ID:??? で、これは何本って言えばいいんだ?
うぐい本か?日本野鳥○会の人 解説きぼん。
うぐい本か?日本野鳥○会の人 解説きぼん。
252nobodyさん
03/06/22 11:15ID:??? なんで魚なんだ?>ヲレ
自己突っ込み完了しますた。
次の話題どぞ。
自己突っ込み完了しますた。
次の話題どぞ。
254成功者!
03/06/22 23:57ID:pFJThKfu255nobodyさん
03/06/23 20:54ID:dxcUTx3u Java+PostgreSQLでwebアプリを作る場合、文字コードは何にするのが一般的ですか?
webページをSJIS、DB内はEUCにしようかと思ってますが、EUCにすると
全角半角どちらも1文字扱いになるらしいので、どうしようかな〜って感じです。
本番サーバはLinuxでApache+Tomcat、開発はwindowsで同じ環境作ってやってます。
winでの開発はJISが楽ですよね、やっぱり・・・
webページをSJIS、DB内はEUCにしようかと思ってますが、EUCにすると
全角半角どちらも1文字扱いになるらしいので、どうしようかな〜って感じです。
本番サーバはLinuxでApache+Tomcat、開発はwindowsで同じ環境作ってやってます。
winでの開発はJISが楽ですよね、やっぱり・・・
256あぼーん
NGNGあぼーん
258nobodyさん
03/06/25 12:22ID:??? バグ出しさせてください、おながいします。
260nobodyさん
03/06/26 23:18ID:UmxIAMQr >>285-259ワラタ
261nobodyさん
03/06/27 20:33ID:r28icV76 Postgres自体でSQLの実行ログがどこかに保存される設定とかってあるのでしょうか?
自前で実装する(SQL実行時にテキストに書き出す or DBにテーブルを作成して書き込む等)
しか仕方ないですよね?
自前で実装する(SQL実行時にテキストに書き出す or DBにテーブルを作成して書き込む等)
しか仕方ないですよね?
262nobodyさん
03/06/27 22:35ID:Fj3NiizR >>
あるよ。
$PGDATA/postgresql.conf に
log_statement = true
と書き込んでからpostmasterを再起動すれば完了したクエリがログに
記録されるようになります。
ログファイルは、
$ pg_ctl -D /usr/local/pgsql/data -l pgsql.log start
のように指定しる。
あるよ。
$PGDATA/postgresql.conf に
log_statement = true
と書き込んでからpostmasterを再起動すれば完了したクエリがログに
記録されるようになります。
ログファイルは、
$ pg_ctl -D /usr/local/pgsql/data -l pgsql.log start
のように指定しる。
263nobodyさん
03/06/28 02:05ID:14usrn45 PHP+PostgreSQLで排他処理を行いたいと思うのですが、
解説本か、サイトあれば教えてください。
無ければ、簡単にご説明くださいませんか?
解説本か、サイトあれば教えてください。
無ければ、簡単にご説明くださいませんか?
264あぼーん
NGNGあぼーん
266nobodyさん
03/06/28 05:20ID:14usrn45 DBのロックってできるの?
268nobodyさん
03/06/28 09:59ID:??? ID:14usrn45はDB使わない方が(・∀・)イイヨイイヨー
269nobodyさん
03/06/29 19:33ID:??? PostgreSQL-7.3.2をPlamo Linux上で使ってるんですが、
同じ環境の方に聞きたいです。
libplpgsql.so postgres.h libpq.h の3ファイルって存在
してますか?4月号のSoftware Design見ながらXMLPGSQLの
導入を試みてるんですが make でこけてしまうので。。上記
の3ファイルの場所を指定しろって言われてるんだけどそも
そもそんなファイルがないのです。
同じ環境の方に聞きたいです。
libplpgsql.so postgres.h libpq.h の3ファイルって存在
してますか?4月号のSoftware Design見ながらXMLPGSQLの
導入を試みてるんですが make でこけてしまうので。。上記
の3ファイルの場所を指定しろって言われてるんだけどそも
そもそんなファイルがないのです。
270261
03/06/30 11:26ID:5q6N3/KD >>262
当方、バージョンが少し古くて、log_statement = trueではエラーが出たので
ググってみたところdebug_print_query = trueという指定でできました!
ありがとうございます。
当方、バージョンが少し古くて、log_statement = trueではエラーが出たので
ググってみたところdebug_print_query = trueという指定でできました!
ありがとうございます。
271あぼーん
NGNGあぼーん
272nobodyさん
03/06/30 12:26ID:5tKrGL8Q273nobodyさん
03/06/30 12:40ID:???275nobodyさん
03/06/30 12:59ID:??? http://i.2ch.net/m30.html
明らかにデータベース板
明らかにデータベース板
279274
03/07/01 09:40ID:???280nobodyさん
03/07/01 11:21ID:??? ドラゴンボール関連のスレは消されたみたい。
やっぱりデータベース板だそうだ。
やっぱりデータベース板だそうだ。
281nobodyさん
03/07/02 01:55ID:??? >280
ついさっきまで確信が持てなかったヲレ。
ついさっきまで確信が持てなかったヲレ。
282nobodyさん
03/07/02 17:01ID:???283nobodyさん
03/07/04 04:50ID:??? 激烈初心者です。
数値のデータ型で、
int2で指定したところに「0001」という数字を代入すると、
1になりますよね?
これを、000の部分を残すためには、文字列型しかないですか?
数値のデータ型で、
int2で指定したところに「0001」という数字を代入すると、
1になりますよね?
これを、000の部分を残すためには、文字列型しかないですか?
284nobodyさん
03/07/04 09:35ID:??? 「0001」は文字列だから、数値型のカラムに突っ込んで
勝手に「1」になるのは仕方が無いんじゃない?
表示する時に0埋めするようにすれば?
"0000"と文字列にコンバートした1とか10を右から4文字切り取って
表示するとかなら、SQLでできるし。
勝手に「1」になるのは仕方が無いんじゃない?
表示する時に0埋めするようにすれば?
"0000"と文字列にコンバートした1とか10を右から4文字切り取って
表示するとかなら、SQLでできるし。
285nobodyさん
03/07/10 16:23ID:57Eu1LHu PostgreSQL 7.2.3
php4.1.2
kernel 2.4.7-10
gcc 2.96
という環境で、webアプリを稼動させています。
cronで一日一回「vacuum full」を実行しています。
テーブルは約50個あり、しばらく運用していると
データを保存しているハードディスク領域(/usr/local/pgsql/data/base/XXXXXXXX)が徐々に肥大していきます。
肥大化していくと、insertや、dropが比較的多めのテーブルがあるのですが、
そのテーブルのレスポンスも悪くなっていきます。
そのテーブルをdumpして、dumpファイルからの復帰をすると改善するようです。
別のマシンに同じDBを持ってきて、問題のDBをDUMPし、一旦そのDBをdropdb。
そして、createdbし、dumpからの復帰
psql -e db < dumpfile
をするとハードディスク領域(/usr/local/pgsql/data/base/XXXXXXXX)は約1/3程度になりました。
定期的にdumpして、そのdumpファイルからの復帰という作業は非効率的ですので
このような作業をせずに肥大化を防げる方法はありませんでしょうか。
php4.1.2
kernel 2.4.7-10
gcc 2.96
という環境で、webアプリを稼動させています。
cronで一日一回「vacuum full」を実行しています。
テーブルは約50個あり、しばらく運用していると
データを保存しているハードディスク領域(/usr/local/pgsql/data/base/XXXXXXXX)が徐々に肥大していきます。
肥大化していくと、insertや、dropが比較的多めのテーブルがあるのですが、
そのテーブルのレスポンスも悪くなっていきます。
そのテーブルをdumpして、dumpファイルからの復帰をすると改善するようです。
別のマシンに同じDBを持ってきて、問題のDBをDUMPし、一旦そのDBをdropdb。
そして、createdbし、dumpからの復帰
psql -e db < dumpfile
をするとハードディスク領域(/usr/local/pgsql/data/base/XXXXXXXX)は約1/3程度になりました。
定期的にdumpして、そのdumpファイルからの復帰という作業は非効率的ですので
このような作業をせずに肥大化を防げる方法はありませんでしょうか。
286nobodyさん
03/07/10 16:51ID:ubgylsck287nobodyさん
03/07/10 18:09ID:8n4LR913 BEGIN
処理A
BEGIN
処理B
COMMIT
処理C
ABORT
としても処理AとBはコミットしちゃいますよね?
処理A
BEGIN
処理B
COMMIT
処理C
ABORT
としても処理AとBはコミットしちゃいますよね?
288あぼーん
NGNGあぼーん
289nobodyさん
03/07/10 19:40ID:??? >287
つか、nested transactionは処理できない。
使おうとしている時点で間違い。
つか、nested transactionは処理できない。
使おうとしている時点で間違い。
292nobodyさん
03/07/10 20:16ID:??? >291
どう見てもネストしてるじゃん。
ちなみに、beginした後でもう一度beginしると、
「もうトランザクション始まってんのじゃボケェ」と言われます。
どう見てもネストしてるじゃん。
ちなみに、beginした後でもう一度beginしると、
「もうトランザクション始まってんのじゃボケェ」と言われます。
293287
03/07/10 22:42ID:??? どうもです。
できるのを前提にコードを書いていたので、
一番外側でだけクエリを発行するようなラッパー関数つくって回避しました。
(途中のアボートは例外処理)
調べてみたらトランザクションのネストができない実装の方が一般的なんですね。
できるのを前提にコードを書いていたので、
一番外側でだけクエリを発行するようなラッパー関数つくって回避しました。
(途中のアボートは例外処理)
調べてみたらトランザクションのネストができない実装の方が一般的なんですね。
294285
03/07/11 15:47ID:???295nobodyさん
03/07/11 17:21ID:C9rBOC2S test=# vacuum;
NOTICE: Some databases have not been vacuumed in over 2 billion transactions.
You may have already suffered transaction-wraparound data loss.
VACUUM
test=#
とvacuumで上のNOTICEが出た場合はどういう対処をすれば良いのでしょうか。
NOTICE: Some databases have not been vacuumed in over 2 billion transactions.
You may have already suffered transaction-wraparound data loss.
VACUUM
test=#
とvacuumで上のNOTICEが出た場合はどういう対処をすれば良いのでしょうか。
296nobodyさん
03/07/12 02:17ID:??? >20億トランザクション越えたのにvacuumされませんですた。
>トランザクションID使い果たして、データの喪失が発生しますた。
>トランザクションID使い果たして、データの喪失が発生しますた。
297山崎 渉
03/07/15 11:07ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
298nobodyさん
03/07/23 23:29ID:???299nobodyさん
03/07/24 12:05ID:TEX2oC6v ラージオブジェクトって、pg_dumpでバックアップできるの?
7.1からだっけ?
7.1からだっけ?
300あぼーん
NGNGあぼーん
ちょっとお尋ねしますが、PostgreSQLでトーナメント表って実現できますか?
チームテーブルと対戦テーブルを用意するところまではできたのですが、
全ての対戦結果を一覧表示させる方法がわかりません。
チームテーブルの内部結合の結果に対して
対戦テーブルを外部結合すればいいかと思ったのですが、
複数のテーブルに対して外部結合というのはできないもんなんでしょうか?
イメージでいうとこんな感じです。
select a.name, b.name, m.score from team a, team b left outer join match m on m.home = a.id and m.visitor = b.id;
チームテーブルと対戦テーブルを用意するところまではできたのですが、
全ての対戦結果を一覧表示させる方法がわかりません。
チームテーブルの内部結合の結果に対して
対戦テーブルを外部結合すればいいかと思ったのですが、
複数のテーブルに対して外部結合というのはできないもんなんでしょうか?
イメージでいうとこんな感じです。
select a.name, b.name, m.score from team a, team b left outer join match m on m.home = a.id and m.visitor = b.id;
302nobodyさん
03/07/25 03:00ID:IBsY8pQ4 PHP + PostgreSQL
PERL + PostgreSQL
C + PostgreSQL
どれが一番高速でアクセスできますか?
PERL + PostgreSQL
C + PostgreSQL
どれが一番高速でアクセスできますか?
303nobodyさん
03/07/25 12:25ID:oPyKjtod >>302
ミドル次第。
ミドル次第。
304nobodyさん
03/07/26 17:34ID:grYAyx0u PostgreSQLってRollBack使えないんすか?
305nobodyさん
03/07/26 22:34ID:??? ハァ?
306nobodyさん
03/07/27 23:23ID:guTNEK25 >>304
使えよ
使えよ
307nobodyさん
03/07/28 09:21ID:b/HKh3mz 投稿者が女名だと、同じ内容の回答が続くね。
308nobodyさん
03/07/28 09:44ID:b/HKh3mz しかも、「紹介者がいないときは自分自身になります」って条件読んでないし。
309nobodyさん
03/07/28 10:13ID:??? おいらも今度から女の名前で質問しよう。
311nobodyさん
03/07/28 23:51ID:??? 旦那になって戻ってくるから大丈夫。
313nobodyさん
03/08/01 07:34ID:fLmmiO+8 すいません。postgresql-7.2.3で日本語環境が構築できません。
psql -lとしても、EUC_JPとか言語環境がでてきません。
List of databases
Name | Owner
-----------+----------
template0 | postgres
./configure --enable-mutibyte=EUC_JP
と指定もしています。
createdb -E EUC_JP test2
/usr/local/pgsql/bin/createdb: /usr/local/pgsql/bin/pg_encoding: No such file or directory
createdb: "EUC_JP" is not a valid encoding name
↑こんなエラーもでてます。
psql -lとしても、EUC_JPとか言語環境がでてきません。
List of databases
Name | Owner
-----------+----------
template0 | postgres
./configure --enable-mutibyte=EUC_JP
と指定もしています。
createdb -E EUC_JP test2
/usr/local/pgsql/bin/createdb: /usr/local/pgsql/bin/pg_encoding: No such file or directory
createdb: "EUC_JP" is not a valid encoding name
↑こんなエラーもでてます。
314nobodyさん
03/08/01 07:50ID:esvzZjrA 祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り
ニーノさんのホームページ作り2
http://ex.2ch.net/test/read.cgi/entrance/1059029010/
ニーノ ◆p9GipySMGk によってラウンジにたてられたこのスレで、
http://page.freett.com/ninogumi/
【ニーノさんのホームページ】
というサイトが作られた。(現在もコンテンツは爆発的に増えてるよ。)
さぁ、君もアイディアを出して、2CHネラーだけの最強サイトをつくろう!
祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り
ニーノさんのホームページ作り2
http://ex.2ch.net/test/read.cgi/entrance/1059029010/
ニーノ ◆p9GipySMGk によってラウンジにたてられたこのスレで、
http://page.freett.com/ninogumi/
【ニーノさんのホームページ】
というサイトが作られた。(現在もコンテンツは爆発的に増えてるよ。)
さぁ、君もアイディアを出して、2CHネラーだけの最強サイトをつくろう!
祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り
316315
03/08/01 07:51ID:??? ageてねーや。でもspamカキコがくるからageなくていいや。
317nobodyさん
03/08/01 22:20ID:bI0qs527 createdb -E EUC_JP データベース名
318nobodyさん
03/08/01 23:09ID:vlQX/M9J http://www.vesta.dti.ne.jp/~hi-lite/fe/ero.html
ここなら簡単に見れたぞ
ここなら簡単に見れたぞ
319山崎 渉
03/08/02 02:20ID:??? ∧_∧
( ^^ )< ぬるぽ(^^)
( ^^ )< ぬるぽ(^^)
320ぼるじょあ ◆ySd1dMH5Gk
03/08/02 04:48ID:??? ∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
321nobodyさん
03/08/02 07:48ID:??? FAQになってる予感がするけど、列制約を変更したくなりました。
create table asでも列制約は新しく定義できないみたいだし。
あと1列だけ型も変更したい。
慎重に設計しなかった自分が悪いわけですが、なんか突破口
ないですか?手で再入力だけは避けたいです。。
create table asでも列制約は新しく定義できないみたいだし。
あと1列だけ型も変更したい。
慎重に設計しなかった自分が悪いわけですが、なんか突破口
ないですか?手で再入力だけは避けたいです。。
323_
03/08/04 16:26ID:??? CREATE TABLE account_table ( expire_date TIMESTAMP, name TEXT );
のようなものがあって、
SELECT * FROM account_table WHERE expire_date > now() AND name = 'foobar';
のような問い合わせを頻繁に行なっています。実際にはテーブルも問い合わせ
ももっと複雑です。
ここで、上記SELECT文を、1引数('foobar' 部分)のPL/pgSQLの関数にしてしま
いたいのですが、そういうことは可能でしょうか?
CREATE FUNCTION get_account( TEXT ) RETURNS ??? AS 'BEGIN ???; END' LANGUAGE 'plpgsql' ;
のような概観になるかなとは思うのですが、戻りの型などがわかりません。
EXECUTEを使うのでしょうか? 教えてください。
# Viewのほうが無難でしょうか? プログラム側にwhere句を書き忘れる可能性
# があるのが嫌なんですよね…
のようなものがあって、
SELECT * FROM account_table WHERE expire_date > now() AND name = 'foobar';
のような問い合わせを頻繁に行なっています。実際にはテーブルも問い合わせ
ももっと複雑です。
ここで、上記SELECT文を、1引数('foobar' 部分)のPL/pgSQLの関数にしてしま
いたいのですが、そういうことは可能でしょうか?
CREATE FUNCTION get_account( TEXT ) RETURNS ??? AS 'BEGIN ???; END' LANGUAGE 'plpgsql' ;
のような概観になるかなとは思うのですが、戻りの型などがわかりません。
EXECUTEを使うのでしょうか? 教えてください。
# Viewのほうが無難でしょうか? プログラム側にwhere句を書き忘れる可能性
# があるのが嫌なんですよね…
324nobodyさん
03/08/05 03:24ID:??? CREATE FUNCTION get_account( text ) RETURN SETOF RECORD AS '
[...snip...]
' LANGUAGE 'plpgsql';
[...snip...]
' LANGUAGE 'plpgsql';
325nobodyさん
03/08/05 13:23ID:??? すこしスレ違いかもしれませんが、どちらに質問していいかわからなかったので、
ここで質問させてください。
ある大きな2つのテーブルをJOINしたいのですが、そのままJOINすると
時間が掛かりそうなので、片方を一時テーブルに書き出して、それをJOINしようと
思ったのですが、一時テーブルを作った後、違うページで一時テーブルとJOINしようと
するとテーブルが存在しないと言われてしまいます。
PHPから一時テーブルを作成した場合、その一時テーブルにアクセスできるのは
どのタイミングまでなのでしょうか?
マニュアルにはセッションの終わりまでのようなことが書いてありますが、
PHPのセッションは終了してません。
それとも、一時テーブルを作成しないでもいい方法などありませんでしょうか?
よろしくお願いします。
環境は、PHP 4.2.3 PostgreSQL 7.2.3です。
ここで質問させてください。
ある大きな2つのテーブルをJOINしたいのですが、そのままJOINすると
時間が掛かりそうなので、片方を一時テーブルに書き出して、それをJOINしようと
思ったのですが、一時テーブルを作った後、違うページで一時テーブルとJOINしようと
するとテーブルが存在しないと言われてしまいます。
PHPから一時テーブルを作成した場合、その一時テーブルにアクセスできるのは
どのタイミングまでなのでしょうか?
マニュアルにはセッションの終わりまでのようなことが書いてありますが、
PHPのセッションは終了してません。
それとも、一時テーブルを作成しないでもいい方法などありませんでしょうか?
よろしくお願いします。
環境は、PHP 4.2.3 PostgreSQL 7.2.3です。
326308
03/08/05 13:57ID:??? すいません、自己解決しました。
327nobodyさん
03/08/05 15:59ID:??? >325
pconnect使わなければ、PHPからPostgreSQLへのセッションは
毎回切った張ったされますが。
pconnect使わなければ、PHPからPostgreSQLへのセッションは
毎回切った張ったされますが。
328nobodyさん
03/08/05 16:25ID:??? >>325
一時テーブルをVIEWにするかサブクエリにするのが一般的だけど、
性能上の問題からその一時テーブルの結果を使いまわしたいなら
名前をつけてテーブル作成するしかないかな。
pg_pconnect使ってもApache/PHPの状態によってはDBセッションが同一にならないから、
ページを跨いだ一時テーブルの利用はできない。
一時テーブルをVIEWにするかサブクエリにするのが一般的だけど、
性能上の問題からその一時テーブルの結果を使いまわしたいなら
名前をつけてテーブル作成するしかないかな。
pg_pconnect使ってもApache/PHPの状態によってはDBセッションが同一にならないから、
ページを跨いだ一時テーブルの利用はできない。
329nobodyさん
03/08/05 18:56ID:??? PostgreSQL 7.2 のPL/pgSQLについて教えてください。
CREATE TABLE reg ( d TIMESTAMP );
なるテーブルがあり、d には「現在からn秒後の時刻」をINSERTするようにし
ています。現在はプログラムから
INSERT INTO reg VALUES ( NOW() + INTERVAL ''100 sec'' );
のようにしているのですが、これをPL/pgSQLで書きなおそうとしています。
で、
CREATE FUNCTION f( BIGINT ) RETURNS BOOL AS '
BEGIN
INSERT INTO reg VALUES ( NOW() + INTERVAL ''$3 sec'' );
RETURN TRUE;
END
' LANGUAGE 'plpgsql';
としてみたのですが、$3 が展開されないのか、足し算が行なわれません。
どのように書いたら望む結果になりますでしょうか? 教えてください。
CREATE TABLE reg ( d TIMESTAMP );
なるテーブルがあり、d には「現在からn秒後の時刻」をINSERTするようにし
ています。現在はプログラムから
INSERT INTO reg VALUES ( NOW() + INTERVAL ''100 sec'' );
のようにしているのですが、これをPL/pgSQLで書きなおそうとしています。
で、
CREATE FUNCTION f( BIGINT ) RETURNS BOOL AS '
BEGIN
INSERT INTO reg VALUES ( NOW() + INTERVAL ''$3 sec'' );
RETURN TRUE;
END
' LANGUAGE 'plpgsql';
としてみたのですが、$3 が展開されないのか、足し算が行なわれません。
どのように書いたら望む結果になりますでしょうか? 教えてください。
330325
03/08/05 21:08ID:??? >>327, 328
ありがとうございました。
pconnectを使って、ページをまたいで一時テーブルを使おうとしてたので、
テーブルが残ってるのか残ってないのか、よくわからなくて混乱してました。
pg_connectを使って、なんとか同じページ内で一時テーブルを使って処理してます。
VIEWは、まだ勉強中なので試行錯誤してみます。
ありがとうございました。
pconnectを使って、ページをまたいで一時テーブルを使おうとしてたので、
テーブルが残ってるのか残ってないのか、よくわからなくて混乱してました。
pg_connectを使って、なんとか同じページ内で一時テーブルを使って処理してます。
VIEWは、まだ勉強中なので試行錯誤してみます。
331nobodyさん
03/08/06 04:59ID:7sg7mWSc 教えてください。
DISK障害でテーブル内データのほとんどが消えました。
実体の/usr/local/pgsql/data/base/内は無事のようです。
/base/DB名からなんとかリカバリできないでしょうか?
postgresql6.5.3です。
DISK障害でテーブル内データのほとんどが消えました。
実体の/usr/local/pgsql/data/base/内は無事のようです。
/base/DB名からなんとかリカバリできないでしょうか?
postgresql6.5.3です。
332nobodyさん
03/08/08 10:59ID:??? ZDNetの誤字ひどいな。
『SRA 最新PostGreSQLをベースにした「PoerGres on Linux」「PowerGres Plus」を発表』
http://www.zdnet.co.jp/news/0308/07/nj00_srasql.html
『SRA 最新PostGreSQLをベースにした「PoerGres on Linux」「PowerGres Plus」を発表』
http://www.zdnet.co.jp/news/0308/07/nj00_srasql.html
333nobodyさん
03/08/18 01:33ID:??? age
334nobodyさん
03/08/25 03:03ID:??? perl、DBIでのトランザクションについてなんですが、
今日のレコード数を持ってきて、それを+1した値で、
新たにINSERTするというときは、
↓みたいな感じでOKなのでしょうか?
(他のユーザが登録している場合でも、値のずれが生じないですよね?)
よろしくお願いします。
$dbh->{AutoCommit} = 0;
$dbh->{RaiseError} = 1;
eval {
$val = get_value("SELECT count(*)+1 FROM a WHERE 今日のもの");
$ret = insert_value("INSERT INTO a (foo, ...) values ($val, ...)");
$dbh->commit;
};
if ($@) {
warn "Transaction aborted because $@";
$dbh->rollback; # undo the incomplete changes
}
今日のレコード数を持ってきて、それを+1した値で、
新たにINSERTするというときは、
↓みたいな感じでOKなのでしょうか?
(他のユーザが登録している場合でも、値のずれが生じないですよね?)
よろしくお願いします。
$dbh->{AutoCommit} = 0;
$dbh->{RaiseError} = 1;
eval {
$val = get_value("SELECT count(*)+1 FROM a WHERE 今日のもの");
$ret = insert_value("INSERT INTO a (foo, ...) values ($val, ...)");
$dbh->commit;
};
if ($@) {
warn "Transaction aborted because $@";
$dbh->rollback; # undo the incomplete changes
}
335nobodyさん
03/08/25 21:37ID:r6wfNhzL 7.4の自動バキュームって使えそう?
フルバキュームまで自動でやってくれるの?
フルバキュームまで自動でやってくれるの?
336nobodyさん
03/08/27 12:18ID:??? 何を勘違いしたか今までポスタージャSQLって読んでたよ…
337nobodyさん
03/09/01 22:46ID:??? 私信に近い雑談をMLに流すな〜!
338nobodyさん
03/09/01 22:57ID:???339nobodyさん
03/09/01 23:02ID:??? cygwinインストール中に落ちてしまって、インストールできないのですが
どうすれば。。あっここで聞くことじゃないですか。。そうですか。。
どうすれば。。あっここで聞くことじゃないですか。。そうですか。。
340nobodyさん
03/09/01 23:31ID:??? >335
contrib/pg_autovacuum/README.pg_autovacuum より。
vacuum fullに関しては、xid使い切りに関しては考えてるけど、
普段はvacuum止まりということかな。
Vacuum and Analyze:
-------------------
pg_autovacuum performs either a vacuum analyze or just analyze depending
on the quantity and type of table activity (insert, update, or delete):
- If the number of (inserts + updates + deletes) > AnalyzeThreshold, then
only an analyze is performed.
- If the number of (deletes + updates ) > VacuumThreshold, then a
vacuum analyze is performed.
deleteThreshold is equal to:
vacuum_base_value + (vacuum_scaling_factor * "number of tuples in the table")
insertThreshold is equal to:
analyze_base_value + (analyze_scaling_factor * "number of tuples in the table")
The AnalyzeThreshold defaults to half of the VacuumThreshold since it
represents a much less expensive operation (approx 5%-10% of vacuum), and
running it more often should not substantially degrade system performance.
contrib/pg_autovacuum/README.pg_autovacuum より。
vacuum fullに関しては、xid使い切りに関しては考えてるけど、
普段はvacuum止まりということかな。
Vacuum and Analyze:
-------------------
pg_autovacuum performs either a vacuum analyze or just analyze depending
on the quantity and type of table activity (insert, update, or delete):
- If the number of (inserts + updates + deletes) > AnalyzeThreshold, then
only an analyze is performed.
- If the number of (deletes + updates ) > VacuumThreshold, then a
vacuum analyze is performed.
deleteThreshold is equal to:
vacuum_base_value + (vacuum_scaling_factor * "number of tuples in the table")
insertThreshold is equal to:
analyze_base_value + (analyze_scaling_factor * "number of tuples in the table")
The AnalyzeThreshold defaults to half of the VacuumThreshold since it
represents a much less expensive operation (approx 5%-10% of vacuum), and
running it more often should not substantially degrade system performance.
341nobodyさん
03/09/07 02:48ID:yFWWpiPw PostgreSQL 7.2.1使ってるんですけど、
運用中にREINDEXとかDROP INDEX〜CREATE INDEXとかの
INDEXの再生成って行って良いんですかね?
念のため運用を一時的に止めた方が良いんでしょうか?
運用中にREINDEXとかDROP INDEX〜CREATE INDEXとかの
INDEXの再生成って行って良いんですかね?
念のため運用を一時的に止めた方が良いんでしょうか?
342nobodyさん
03/09/07 04:52ID:??? やってもいいっすよ。ロックかかるけど。
343nobodyさん
03/09/16 10:01ID:Wb82WrlA バッチグーage
344nobodyさん
03/09/16 10:29ID:??? MLヲチスレでつか?(藁
345nobodyさん
03/09/16 15:02ID:Wb82WrlA >>344
1をみてくらさい。
1をみてくらさい。
346/
03/09/16 22:32ID:GYSWeRnL おまえら、7.4 は高速化が図られてるようですよ。
【PostgreSQLウォッチ】第1回 PostgreSQLの次期版7.4の性能を検証
http://itpro.nikkeibp.co.jp/members/SI/oss/20030911/1/
【PostgreSQLウォッチ】第1回 PostgreSQLの次期版7.4の性能を検証
http://itpro.nikkeibp.co.jp/members/SI/oss/20030911/1/
347nobodyさん
03/09/17 11:21ID:An2EWdc3 select hoge,hogehoge from table group by hoge;
をしたいのですがどのようにしたら実現できますか?
グループ化してないhogehogeもselectしたいのです
をしたいのですがどのようにしたら実現できますか?
グループ化してないhogehogeもselectしたいのです
348nobodyさん
03/09/17 12:17ID:??? select hoge,hogehoge from table group by hoge,hogehoge;
349nobodyさん
03/09/23 22:55ID:PMiaWnnI350nobodyさん
03/09/24 01:47ID:Mc741Fcx351nobodyさん
03/09/24 05:33ID:namugEPq >>350
「メル友みっけ」か...
「メル友みっけ」か...
352nobodyさん
03/09/24 05:41ID:???353nobodyさん
03/09/24 05:56ID:??? バイナリデータの挿入の仕方がマニュアルに書いてない
気がするんですが、どうやるんでしょう。
create table images (imagname text, img bytea);
このimg列に /tmp/hoge.jpg を挿入したいです。
気がするんですが、どうやるんでしょう。
create table images (imagname text, img bytea);
このimg列に /tmp/hoge.jpg を挿入したいです。
355tes
04/01/15 23:32ID:??? tes
356nobodyさん
04/06/25 15:10ID:??? 適当な文字列が入っているcolumnにたいして、
大文字小文字関係なく、検索文字をマッチさせるにはどうしたらいいの?
select * from foo where text_column ^ lower('BAR') or text_column ^ upper('BAR')
とかだと、「Bar」みたいのはヒットしないんだよなぁ。
大文字小文字関係なく、検索文字をマッチさせるにはどうしたらいいの?
select * from foo where text_column ^ lower('BAR') or text_column ^ upper('BAR')
とかだと、「Bar」みたいのはヒットしないんだよなぁ。
357nobodyさん
04/06/25 15:12ID:??? あげとく
360nobodyさん
04/07/01 16:49ID:??? ■ PostgreSQLのことならここで聞け ■
http://pc5.2ch.net/test/read.cgi/db/1056960249/
http://pc5.2ch.net/test/read.cgi/db/1056960249/
361nobodyさん
04/07/14 02:54ID:IeDlw13K postgres7.3を使用予定ですが、REINDEXの使用方法を教えてください。
REINDEX対象のテーブル名をpg_stat_user_tablesより
取得しながら、REINDEXを全テーブルに順番にかけるシェルを作ろうと思っています。
その際、pgbashを使用し、cronで自動実行を予定しています。
もしソースコードがわかれば教えて下さい。
またみなさんはどんな方法で、行っていますか?
REINDEX対象のテーブル名をpg_stat_user_tablesより
取得しながら、REINDEXを全テーブルに順番にかけるシェルを作ろうと思っています。
その際、pgbashを使用し、cronで自動実行を予定しています。
もしソースコードがわかれば教えて下さい。
またみなさんはどんな方法で、行っていますか?
362nobodyさん
04/07/14 02:55ID:IeDlw13K postgres7.3を使用予定ですが、REINDEXの使用方法を教えてください。
REINDEX対象のテーブル名をpg_stat_user_tablesより
取得しながら、REINDEXを全テーブルに順番にかけるシェルを作ろうと思っています。
その際、pgbashを使用し、cronで自動実行を予定しています。
もしソースコードがわかれば教えて下さい。
またみなさんはどんな方法で、行っていますか?
REINDEX対象のテーブル名をpg_stat_user_tablesより
取得しながら、REINDEXを全テーブルに順番にかけるシェルを作ろうと思っています。
その際、pgbashを使用し、cronで自動実行を予定しています。
もしソースコードがわかれば教えて下さい。
またみなさんはどんな方法で、行っていますか?
363nobodyさん
04/08/26 20:45ID:QkQTY22pネットワークから接続しているユーザのIPを
抜き出してログを取りたいのですが
SQLコマンドで、自分はどこから接続しているかを
確認できる関数ってPostgresにはありませんか?
とにかく、接続しているクライアントのIPさえ分かればOKです。
宜しくお願いします。
364nobodyさん
04/08/26 21:22ID:vvcjm84y 管理人が拳銃発砲!!!
http://bbs2.orange-e.net/?id=binbin
http://bbs2.orange-e.net/?id=binbin
365nobodyさん
04/09/03 11:18ID:dro8VJ79 apache2.0.5とPostgreSQL7.4の環境でmod_auth_pgsqlを使ってBasic認証を
行なっているのですが、認証するたびにpostgresユーザーで下のようなプロセスが
溜まっていきます。
postgres: apache database 127.0.0.1 idle
そして挙げ句の果てに
mod_auth_pgsql database connection error reset failed FATAL:
connection limit exceeded for non-superusers とメッセージが出てサーバーエラー
になってしまいます。多分mod_auth_pgsqlがパスワードのデータベースへ接続した後、
切断してくれないからじゃないかと思うのですが、どこか明示的に設定しなければ
ならない場所があるのでしょうか?
行なっているのですが、認証するたびにpostgresユーザーで下のようなプロセスが
溜まっていきます。
postgres: apache database 127.0.0.1 idle
そして挙げ句の果てに
mod_auth_pgsql database connection error reset failed FATAL:
connection limit exceeded for non-superusers とメッセージが出てサーバーエラー
になってしまいます。多分mod_auth_pgsqlがパスワードのデータベースへ接続した後、
切断してくれないからじゃないかと思うのですが、どこか明示的に設定しなければ
ならない場所があるのでしょうか?
366nobodyさん
04/09/03 12:21ID:???367nobodyさん
04/09/03 13:48ID:dro8VJ79 レスありがとうございます。早速 Auth_PG_connection_reuse off を設定して
みました。(それ以前は、Auth_PG_connection_reuseは何も設定していません。)すると
Invalid command 'Auth_PG_connection_reuse', perhaps mis-spelled or defined
by a module not included in the server configuration
となりサーバーエラーが返ってきました。別の原因は考えられますか?
ちなみにmod_auth_pgsqlは2.0.1、ディストリは fedora core 2です。
みました。(それ以前は、Auth_PG_connection_reuseは何も設定していません。)すると
Invalid command 'Auth_PG_connection_reuse', perhaps mis-spelled or defined
by a module not included in the server configuration
となりサーバーエラーが返ってきました。別の原因は考えられますか?
ちなみにmod_auth_pgsqlは2.0.1、ディストリは fedora core 2です。
368366
04/09/03 19:40ID:???369nobodyさん
04/09/03 21:48ID:??? わざわざ調べて頂いてありがとうございます。バージョン特有の問題なのですね。
当面の間は、max_connectionsを増やして、cronで定期的に service httpd graceful
を走らせてしのごうと思います。お世話になりました。
当面の間は、max_connectionsを増やして、cronで定期的に service httpd graceful
を走らせてしのごうと思います。お世話になりました。
370nobodyさん
04/09/04 17:32ID:??? >>368
fedore core 2 の mod_auth_pgsql-2.0.1-4.1.src.rpm のSPECファイルの
バージョンを書き換えたらそのままmod_auth_pgsql-2.0.2b1.tar.gzから
rpmをbuildできました。早速アップデートしましたところ、当該不具合は
めでたく解消されました。重ねてお礼申し上げます。
fedore core 2 の mod_auth_pgsql-2.0.1-4.1.src.rpm のSPECファイルの
バージョンを書き換えたらそのままmod_auth_pgsql-2.0.2b1.tar.gzから
rpmをbuildできました。早速アップデートしましたところ、当該不具合は
めでたく解消されました。重ねてお礼申し上げます。
371nobodyさん
04/09/09 18:47ID:xemAm0Ui 行き詰まってしまって解決できなくなってしまったので、
質問させて頂きます。
TESTというテーブルの中に、A,Bというカラムがあり、
Aでgroup byしてから、Bをdistinctしたものの
カウントを取りたかったくて、下のようなSQLを組んだのですが、
Bをdistinctできてないものをgroup byした結果が、
出てきてしまいます。
私が意図したSQLはどうすれば実現できるかご教授おねがいします。
SELECT A,count(distinct(B)) FROM TEST group by A;
質問させて頂きます。
TESTというテーブルの中に、A,Bというカラムがあり、
Aでgroup byしてから、Bをdistinctしたものの
カウントを取りたかったくて、下のようなSQLを組んだのですが、
Bをdistinctできてないものをgroup byした結果が、
出てきてしまいます。
私が意図したSQLはどうすれば実現できるかご教授おねがいします。
SELECT A,count(distinct(B)) FROM TEST group by A;
372nobodyさん
04/09/09 19:21ID:??? >>371
質問の意図を取り間違っているかもしれないが。
SELECT a,count(*) FROM text GROUP BY a,b;
以後、DBのみの話ならDB板へ
■ PostgreSQLのことならここで聞け ■
http://pc5.2ch.net/test/read.cgi/db/1091523132/
PostgreSQL & pgsql-jp ML 3テーブル目
http://pc5.2ch.net/test/read.cgi/db/1079771059/
質問の意図を取り間違っているかもしれないが。
SELECT a,count(*) FROM text GROUP BY a,b;
以後、DBのみの話ならDB板へ
■ PostgreSQLのことならここで聞け ■
http://pc5.2ch.net/test/read.cgi/db/1091523132/
PostgreSQL & pgsql-jp ML 3テーブル目
http://pc5.2ch.net/test/read.cgi/db/1079771059/
373371
04/09/09 22:19ID:xemAm0Ui >372
意図したこととは違いましたが、そのSQL見てて、
ふと思いつき、解決できました。ありがとうございます。
意図したこととは違いましたが、そのSQL見てて、
ふと思いつき、解決できました。ありがとうございます。
374nobodyさん
04/09/30 06:39:58ID:??? データが8000件位入ったテーブルtestに
さらに8000件近いレコードを追加したいのですが
insert文をエクセルで8000個作ることまではできたのですが、
これをポスグレに読ませる際、一括でコピペするとパースエラーになってしまいました。
10件位づつこまめにコピペするとエラーは起きないのですが
時間がかかりすぎるのでファイルから読み込ませたいのです。
ググった所"copy"だと扱えるデータがタブ区切り形式らしいのですが
insert文が書かれたファイルを読み込ます事はできるのでしょうか?
PostgreSQL7.2.3です。
さらに8000件近いレコードを追加したいのですが
insert文をエクセルで8000個作ることまではできたのですが、
これをポスグレに読ませる際、一括でコピペするとパースエラーになってしまいました。
10件位づつこまめにコピペするとエラーは起きないのですが
時間がかかりすぎるのでファイルから読み込ませたいのです。
ググった所"copy"だと扱えるデータがタブ区切り形式らしいのですが
insert文が書かれたファイルを読み込ます事はできるのでしょうか?
PostgreSQL7.2.3です。
376374
04/09/30 07:38:51ID:??? >>375
レスありがとうございます。
早速ググりましたが
psql -f filename db名で
http://jpug.postgresql.jp/document/pg721doc/reference/app-psql.html
にありました。
ありがとうございました!
レスありがとうございます。
早速ググりましたが
psql -f filename db名で
http://jpug.postgresql.jp/document/pg721doc/reference/app-psql.html
にありました。
ありがとうございました!
377nobodyさん
04/10/05 15:22:15ID:xTnP4bvw 不安なのでちょっと質問して宜しいでしょうか。
timestamp型のmodify_dateというカラムがあったときに
たとえば、2004年11月4日のデータを取りたいというときは
where to_char(modify_date,'YYYY/MM/DD) = '2004/11/04';
という風にしてるのですが、これよりもっと最適な検索法?というのが
ありましたら教えて貰えますでしょうか。
to_charで一度charに変換してるから速度的にどうかなぁと思ってるのですが…。
timestamp型のmodify_dateというカラムがあったときに
たとえば、2004年11月4日のデータを取りたいというときは
where to_char(modify_date,'YYYY/MM/DD) = '2004/11/04';
という風にしてるのですが、これよりもっと最適な検索法?というのが
ありましたら教えて貰えますでしょうか。
to_charで一度charに変換してるから速度的にどうかなぁと思ってるのですが…。
380378
04/10/05 15:43:11ID:???381377
04/10/05 15:46:28ID:??? >>380
377では速度の最適を求めるような書き込みになってしまいましたが
to_charでYYYY・・・・と変換するのに抵抗を感じてしまって他のやり方が
あればと思って質問したので、十分満足しています。もっと最適なものが
あれば尚いいとは思いますが、378さんのやり方を使っていきたいと思います。
377では速度の最適を求めるような書き込みになってしまいましたが
to_charでYYYY・・・・と変換するのに抵抗を感じてしまって他のやり方が
あればと思って質問したので、十分満足しています。もっと最適なものが
あれば尚いいとは思いますが、378さんのやり方を使っていきたいと思います。
382nobodyさん
04/10/06 11:37:12ID:??? ポストグレスキューエルそろそろ囓ってみようと思うんだけど
こんなボンクラはまずどんな本を読めばいいですか?
教えて下さい ISBNコードのみで( ´,_ゝ`)
こんなボンクラはまずどんな本を読めばいいですか?
教えて下さい ISBNコードのみで( ´,_ゝ`)
383nobodyさん
04/10/06 18:22:48ID:??? 初めてこのDBに挑戦したら
initdb: command not found
でいきなり死亡しました。
http://www.terra-intl.com/unix.html
↑に書いてある通りにやったら
7. のinitdb でだめだったんですが、
このような経験のある人いませんか?
initdb: command not found
でいきなり死亡しました。
http://www.terra-intl.com/unix.html
↑に書いてある通りにやったら
7. のinitdb でだめだったんですが、
このような経験のある人いませんか?
384nobodyさん
04/10/06 20:34:45ID:??? >>383
せめて、使ったCygwinとPostgreSQLのバージョンくらい載せるべし。
このページと同一のバージョンが入手できた訳じゃないよね?
あるいは、PostgreSQL と Cygwin でぐぐって、新しめのページをを探すべし。
せめて、使ったCygwinとPostgreSQLのバージョンくらい載せるべし。
このページと同一のバージョンが入手できた訳じゃないよね?
あるいは、PostgreSQL と Cygwin でぐぐって、新しめのページをを探すべし。
385nobodyさん
04/10/06 21:48:18ID:??? 同じバージョンしか落とせなかったんですが、古いみたいですね。
新しいので朝鮮します。
新しいので朝鮮します。
386nobodyさん
04/10/07 12:14:27ID:??? http://discypus.jp/pukiwiki/pukiwiki.php?Cygwin%2F%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB#content_1_15
今度はこのページ見てやったんですが、「Cygwin-X」なんてできないし、
デスクトップのcygwinを起動しても一瞬黒いウインドウが出るだけで
何も起こりませんでした。
昨日はできたbashもできなくなって余計ひどくなってしまいました。
環境変数は本当にシステム環境変数でいいのでしょうか?
昨日はユーザー環境変数で設定したんですが。
今度はこのページ見てやったんですが、「Cygwin-X」なんてできないし、
デスクトップのcygwinを起動しても一瞬黒いウインドウが出るだけで
何も起こりませんでした。
昨日はできたbashもできなくなって余計ひどくなってしまいました。
環境変数は本当にシステム環境変数でいいのでしょうか?
昨日はユーザー環境変数で設定したんですが。
388nobodyさん
04/10/07 14:22:42ID:??? 特定のレコード(たとえばIDがaaaのレコード)がなければインサート、
あればアップデートという処理をしたいのですが、
selectであるかどうかチェック>insertかupdateに振り分ける
という方法以外に簡潔にやる方法はありますでしょうか?
あればアップデートという処理をしたいのですが、
selectであるかどうかチェック>insertかupdateに振り分ける
という方法以外に簡潔にやる方法はありますでしょうか?
389nobodyさん
04/10/07 23:12:25ID:???390386
04/10/08 01:27:12ID:??? http://allabout.co.jp/career/database/closeup/CU20040813A/
結局ここの通りにやって成功しました。
これからの問題はJavaServletでどう扱うのかってことだけです。
なぜかPHPの解説サイトばっかなんだけれども・・・。
8.0は解説無しじゃ難しいと思ったので、辞めておきました。
結局ここの通りにやって成功しました。
これからの問題はJavaServletでどう扱うのかってことだけです。
なぜかPHPの解説サイトばっかなんだけれども・・・。
8.0は解説無しじゃ難しいと思ったので、辞めておきました。
391nobodyさん
04/10/12 12:56:48ID:V57uzdCO 質問させて下さい
PostgreSQL(7.2.3)を使ったWebサイトを作っているのですが、最新項目の表示のため
日付(date型)でorder byしてますとえらく処理に時間がかかっています。
そういうものなのでしょうか?
日付でソートしたい場合の効率的な方法などがありましたら教えてください
PostgreSQL(7.2.3)を使ったWebサイトを作っているのですが、最新項目の表示のため
日付(date型)でorder byしてますとえらく処理に時間がかかっています。
そういうものなのでしょうか?
日付でソートしたい場合の効率的な方法などがありましたら教えてください
392nobodyさん
04/10/12 13:56:22ID:??? まず、vacuumdb -f dbname やってミソ。
393nobodyさん
04/10/12 13:58:02ID:???395391
04/10/12 20:08:58ID:???396nobodyさん
04/10/25 02:34:54ID:??? .open()
でエラーがたまに出るけど、みんなどうやって処理してます?
自分は2回リトライさせてるだけなんですけど、
「普通はこうやるんだ」みたいな決まりってあるんでしょうか?
でエラーがたまに出るけど、みんなどうやって処理してます?
自分は2回リトライさせてるだけなんですけど、
「普通はこうやるんだ」みたいな決まりってあるんでしょうか?
398nobodyさん
04/10/28 02:30:23ID:??? ポストグレスキューエルを信じて裏切られることはありまつか?
399nobodyさん
04/10/30 09:21:22ID:??? PostgreSQL ベースの某社の製品にならあるけど。
4007.4.5
04/10/30 20:56:47ID:??? Cygwinでselect文発行したら
<8B><64><A2>みたいな文字が白くなって大量に表示された
エディタみたいな画面になっちゃったことってあります?
qキー押さないと復帰できないし、selectの結果もでないし。
あとこれは別の環境でだけど、コマンドだと文字化けしちゃう。
WEB上ではちゃんと出てるのに、コマンドで飛び出すと文字化け。
ちゃんと↓入れて日本語入力もできるのに。
set kanji-code sjis
set convert-meta off
set meta-flag on
set output-meta on
Win2000のドメインに入った状態でセットアップして
そのままだと使えなかったからローカルで使ってるのが
いけないのかなぁ。
<8B><64><A2>みたいな文字が白くなって大量に表示された
エディタみたいな画面になっちゃったことってあります?
qキー押さないと復帰できないし、selectの結果もでないし。
あとこれは別の環境でだけど、コマンドだと文字化けしちゃう。
WEB上ではちゃんと出てるのに、コマンドで飛び出すと文字化け。
ちゃんと↓入れて日本語入力もできるのに。
set kanji-code sjis
set convert-meta off
set meta-flag on
set output-meta on
Win2000のドメインに入った状態でセットアップして
そのままだと使えなかったからローカルで使ってるのが
いけないのかなぁ。
401nobodyさん
04/11/10 17:17:33ID:gbkcKDZ/ PHP4.39とPGSQL7.46で学習してます
トランザクションについて教えてください
BEGIN
SELECT テーブルAのid(SERIAL)のNEXTVALを取得
INSERT テーブルAに上で得られた値をidにいれて挿入
INSERT テーブルBに上で得られたidの値を挿入
COMMIT
以上のような流れがあったとしてテーブルAのidの唯一性は保証されてますか?
要はテーブルAにINSERTしたときのidを取得としてテーブルBにも入れたいんです。
NEXTVALを取ったあとに他のプロセスが参照してデータの整合性がなくなるのが心配です。
トランザクションについて教えてください
BEGIN
SELECT テーブルAのid(SERIAL)のNEXTVALを取得
INSERT テーブルAに上で得られた値をidにいれて挿入
INSERT テーブルBに上で得られたidの値を挿入
COMMIT
以上のような流れがあったとしてテーブルAのidの唯一性は保証されてますか?
要はテーブルAにINSERTしたときのidを取得としてテーブルBにも入れたいんです。
NEXTVALを取ったあとに他のプロセスが参照してデータの整合性がなくなるのが心配です。
402nobodyさん
04/11/10 17:52:12ID:??? シーケンスの nextval で取得される値は
トランザクションとは関係なく
唯一性が保証されるように思う
トランザクションとは関係なく
唯一性が保証されるように思う
403nobodyさん
04/11/17 16:35:31ID:??? (;´Д`)ハァハァ ポストグレスキューエルはマイエスキューエルにまだアドバンテージはあるのかい?
404nobodyさん
04/11/24 18:16:16ID:fGkcMHGT SELECTして出てきた行に1から始まる連番をつけるってことできますか?
データのランキングをだしたいんですが。
データのランキングをだしたいんですが。
405nobodyさん
04/11/24 19:32:44ID:??? PostgreSQL 7.4.6 の環境で質問があります。
データベースtest_db内のテーブルtbl_aのパーミッション
を以下のようになっているのですが、、、
test_db=# \dp tbl_a
Access permissions for database "test_db"
Relation | Access permissions
----------+-------------------------------------
tbl_a | {"=","postgres=arwR","nobody=arwR"}
(1 row)
パーミッション未設定のテーブルを上記の同じ設定にするには、
どのようにすれば、いいでしょうか?
test_db=# \dp tbl_b
Access permissions for database "test_db"
Relation | Access permissions
----------+-------------------------------------
tbl_b |
(1 row)
データベースtest_db内のテーブルtbl_aのパーミッション
を以下のようになっているのですが、、、
test_db=# \dp tbl_a
Access permissions for database "test_db"
Relation | Access permissions
----------+-------------------------------------
tbl_a | {"=","postgres=arwR","nobody=arwR"}
(1 row)
パーミッション未設定のテーブルを上記の同じ設定にするには、
どのようにすれば、いいでしょうか?
test_db=# \dp tbl_b
Access permissions for database "test_db"
Relation | Access permissions
----------+-------------------------------------
tbl_b |
(1 row)
406405
04/11/24 20:46:16ID:??? >> 405 の件は、自己解決しました。
grant select,insert,update,rule on tbl_b to nobody;
以上で実現しました。
板汚し失礼しました。
grant select,insert,update,rule on tbl_b to nobody;
以上で実現しました。
板汚し失礼しました。
408404
04/11/27 22:42:48ID:???409nobodyさん
04/12/03 01:31:36ID:2+kl6sm2 カラム内のデータを置き換えすることはできないものでしょうか。
イメージとしましては、
update table_name set f =~ s/abcde/qwert/g;
こんな感じのようなことをやりたいのですが、説明がどうもうまく
なくて申し訳ありません。
ご教授いただければ幸いです。
宜しくお願いします。
イメージとしましては、
update table_name set f =~ s/abcde/qwert/g;
こんな感じのようなことをやりたいのですが、説明がどうもうまく
なくて申し訳ありません。
ご教授いただければ幸いです。
宜しくお願いします。
410nobodyさん
04/12/03 02:07:28ID:??? お主の望みは正規表現置換かや?
ならば、PL/Perl などを使ってユーザ定義関数を作れ、とのご神託である
ならば、PL/Perl などを使ってユーザ定義関数を作れ、とのご神託である
411nobodyさん
04/12/03 10:44:31ID:2+kl6sm2412nobodyさん
04/12/03 12:23:36ID:??? strpos() と substr() をうまく組み合わせればある程度までは行けるかもしれんが、
g オプションは難しそうだなあ。
お告げに従って PL/Perl で書くと、よくわからんが、こんな感じ?
CREATE FUNCTION chikan(text) RETURNS text AS '
my ($mojiretsu) = @_;
$mojiretsu =~ s/abcde/qwert/g;
return $mojiretsu;
' LANGUAGE plperl;
update table_name set f = chikan(f);
g オプションは難しそうだなあ。
お告げに従って PL/Perl で書くと、よくわからんが、こんな感じ?
CREATE FUNCTION chikan(text) RETURNS text AS '
my ($mojiretsu) = @_;
$mojiretsu =~ s/abcde/qwert/g;
return $mojiretsu;
' LANGUAGE plperl;
update table_name set f = chikan(f);
413nobodyさん
04/12/14 15:59:09ID:2o4fy8y0 >>410、>>412
ERROR: Unrecognized language specified in a CREATE FUNCTION: 'plperl'.
Recognized languages are sql, C, internal, and created procedural languages.
となったので、どうやらPL/Perlが入っていないみたいなので、入れる権限のない
私なりに何か他に方法がないか探してみました。
http://www.nanbu.com/~nanbu/keizi_show1_2.php?category1key=&keizikey=1041937855000000006&PHPSESSID=8087763c1060187e12476afe32e0a60d
これでなんとか凌ぎました。
グローバルオプションこそつけられないものの、置き換えは何とかできるので
助かってます。
ご教授有難うございました。
ERROR: Unrecognized language specified in a CREATE FUNCTION: 'plperl'.
Recognized languages are sql, C, internal, and created procedural languages.
となったので、どうやらPL/Perlが入っていないみたいなので、入れる権限のない
私なりに何か他に方法がないか探してみました。
http://www.nanbu.com/~nanbu/keizi_show1_2.php?category1key=&keizikey=1041937855000000006&PHPSESSID=8087763c1060187e12476afe32e0a60d
これでなんとか凌ぎました。
グローバルオプションこそつけられないものの、置き換えは何とかできるので
助かってます。
ご教授有難うございました。
414nobodyさん
04/12/16 13:06:24ID:qpxocizM foo というテーブルで、hoge fuga hige moe
ちう2つのレコードがあります。
で、hoge fuga higeが3つとも同じレコードについては、まとめて1レコードとみなし。
fooテーブルが何レコードあるか調べたいのですが、
どうゆうSQL文を書いたらよいのでしょうか?
select sum(*) from favorite group by hoge, fuga, hige
とやってもだめでした(そりゃそうだよね。。。)
どなたか教えていただければ幸いです。
ちう2つのレコードがあります。
で、hoge fuga higeが3つとも同じレコードについては、まとめて1レコードとみなし。
fooテーブルが何レコードあるか調べたいのですが、
どうゆうSQL文を書いたらよいのでしょうか?
select sum(*) from favorite group by hoge, fuga, hige
とやってもだめでした(そりゃそうだよね。。。)
どなたか教えていただければ幸いです。
415414
04/12/16 13:07:38ID:??? 訂正:
>foo というテーブルで、hoge fuga hige moe
>ちう2つのレコードがあります。
foo というテーブルで、hoge fuga hige moe
という2つの「フィールド」があります。
すみません
>foo というテーブルで、hoge fuga hige moe
>ちう2つのレコードがあります。
foo というテーブルで、hoge fuga hige moe
という2つの「フィールド」があります。
すみません
416414
04/12/16 21:08:42ID:??? 回答ないようなのでDB板逝ってきます
417nobodyさん
05/01/19 17:22:21ID:??? ゲイツOSに対応した、postgreSQL8
キタ━━━━(゚∀゚)━━━━ッ!!
キタ━━━━(゚∀゚)━━━━ッ!!
418nobodyさん
05/01/21 13:24:22ID:DguRcNyC フィールドが一個だけのテーブルが必要なんですが
こういうことって変ですか?
こういうことって変ですか?
421nobodyさん
05/02/01 16:43:18ID:HYaKzyWg vacuum fullを実行すると2〜3時間ぐらいかかり、
しかもその間、httpdに完全に接続できなくなります。
vacuum fullって、そんなもんなのでしょうか?
vacuumしないと、3日もしないうちに重くなってDB接続エラーでまくります。
3日1回httpd止めて作業となると大変なので軽減させたいのですが、
何か良い方法があれば教えてくださいm(_ _)m
構成は、こんな感じです。
Xeon2.8GHzDUAL
メモリ2GB
HDD120GB
Linux-FedoraCore2
・apache_1.3.33
・postgresql-7.4.5
・php-4.3.9
しかもその間、httpdに完全に接続できなくなります。
vacuum fullって、そんなもんなのでしょうか?
vacuumしないと、3日もしないうちに重くなってDB接続エラーでまくります。
3日1回httpd止めて作業となると大変なので軽減させたいのですが、
何か良い方法があれば教えてくださいm(_ _)m
構成は、こんな感じです。
Xeon2.8GHzDUAL
メモリ2GB
HDD120GB
Linux-FedoraCore2
・apache_1.3.33
・postgresql-7.4.5
・php-4.3.9
422nobodyさん
05/02/01 17:35:59ID:???424nobodyさん
05/02/01 18:13:44ID:??? おいらはvacuumdb -a -z派
425nobodyさん
05/02/01 18:21:39ID:??? >>423
Apacheが絡んでるから、mod_auth_pgsql使っててなおかつログ取ってるとか
セッションストレージにPostgres使ってると思われ。
ツッコミどころはそこじゃなくてVACUUM "FULL"じゃないかな。
Apacheが絡んでるから、mod_auth_pgsql使っててなおかつログ取ってるとか
セッションストレージにPostgres使ってると思われ。
ツッコミどころはそこじゃなくてVACUUM "FULL"じゃないかな。
426421
05/02/01 18:31:46ID:??? >>422-424
ありがとうございました。
PostGre使い出したのは最近なので、このvacuumにてこずってます。。。
1日1回vacuumdb -a を実行するとして、その間、みなさんはhttpdを落としたりしてますか?
ちょっと前、vacuumdbをアクセスが少ない時間帯に自動で実行させてそのままほっといてたら、
物凄く時間がかかった上に、DBエラーがでまくりで、とても公開できたもんじゃありませんでした。。。
(2〜3時間ぐらいはアクセスできない状態が続いていていました。)
参考までに、vacuumdbにどのぐらいの時間がかかるものなのか教えてくださいm(_ _)m
ありがとうございました。
PostGre使い出したのは最近なので、このvacuumにてこずってます。。。
1日1回vacuumdb -a を実行するとして、その間、みなさんはhttpdを落としたりしてますか?
ちょっと前、vacuumdbをアクセスが少ない時間帯に自動で実行させてそのままほっといてたら、
物凄く時間がかかった上に、DBエラーがでまくりで、とても公開できたもんじゃありませんでした。。。
(2〜3時間ぐらいはアクセスできない状態が続いていていました。)
参考までに、vacuumdbにどのぐらいの時間がかかるものなのか教えてくださいm(_ _)m
427nobodyさん
05/02/08 18:04:40ID:??? 4.27) どのような暗号化オプションを利用できますか?
ttp://www.postgresql.org/files/documentation/faqs/FAQ_japanese.html#4.27
> サーバーを走らせるのに暗号化ファイルシステムを使うこともできます。
は何を指しているのでしょうか?cryptfs? 実績はありますか?
ttp://www.postgresql.org/files/documentation/faqs/FAQ_japanese.html#4.27
> サーバーを走らせるのに暗号化ファイルシステムを使うこともできます。
は何を指しているのでしょうか?cryptfs? 実績はありますか?
428nobodyさん
05/02/18 21:22:36ID:RLTHZ6TX 今、phppgadminを使っているんですが、
これってテーブルの中身のデータを検索するのって
出来ないんですか?
どうも検索システムを使っても、テーブル名しか
検索していないようなんですが…
これってテーブルの中身のデータを検索するのって
出来ないんですか?
どうも検索システムを使っても、テーブル名しか
検索していないようなんですが…
429nobodyさん
05/02/19 06:45:44ID:nMzWTz6R >>428
SQL発行じゃダメなのか?
SQL発行じゃダメなのか?
430nobodyさん
05/02/19 19:15:51ID:gwEGKWwx431nobodyさん
05/02/20 00:15:29ID:??? Postgresをpg_hda.confで各DBにアクセス制限をかけているのですが、
phpPgAdminでどれか一つのDBへアクセスできると、他のDBにも
アクセスできるようになってしまいます。
各DBを完全に独立させるのはどのような設定を行えばよいのでしょうか。
ご教示いただけますと助かります。
phpPgAdminでどれか一つのDBへアクセスできると、他のDBにも
アクセスできるようになってしまいます。
各DBを完全に独立させるのはどのような設定を行えばよいのでしょうか。
ご教示いただけますと助かります。
432nobodyさん
05/02/20 01:47:50ID:??? pg_hda はソケットレベルでの接続を制御するもの
DB毎にアクセスを制御したければ SQL の grant でスキーマレベルでの権限を設定する
DB毎にアクセスを制御したければ SQL の grant でスキーマレベルでの権限を設定する
433nobodyさん
05/02/28 02:38:12ID:??? ちょっと聞いてみたい。
一回ページを表示するのに多いとこで何回くらいクエリ投げてる?
というか何回くらい投げてたら多いと思う?
一回ページを表示するのに多いとこで何回くらいクエリ投げてる?
というか何回くらい投げてたら多いと思う?
434nobodyさん
05/02/28 03:11:15ID:??? 50回くらい投げてたら多いと思うね。
435nobodyさん
05/02/28 21:12:21ID:43Vt3CIQ select now() - (select max(date_create) from counter);
というSQLで出る18:11:08.696398という時間を、秒数(60*
60*18+60*11+8)に変換して出したいのですが、何かやり方
はございますでしょうか。
ご教授いただけますと幸いです。
というSQLで出る18:11:08.696398という時間を、秒数(60*
60*18+60*11+8)に変換して出したいのですが、何かやり方
はございますでしょうか。
ご教授いただけますと幸いです。
436nobodyさん
05/03/01 05:54:49ID:??? 環境:MacOSX10.3.8
PostgreSQLの7.4.7(7.4.6でも同じ症状)をインストールしてinitdb --encoding=EUC-JP --no-localeで初期化しようとすると、
initializing pg_shadow... FATAL: XX000: failed to initialize lc_messages to ""
LOCATION: InitializeGUCOptions, guc.c:1867
というエラーメッセージが出てしまう。
googleでML等を調べまくってイヤという程某氏のマルチポストを眺めながら解決法を調べましたが、
全然うまくいきません。お願いします。力を貸して下さい。
(--debug付きの場合)
(前略)
DEBUG: start transaction
DEBUG: close relation (null)
DEBUG: commit transaction
(中略)
DEBUG: start transaction
DEBUG: commit transaction
DEBUG: start transaction
DEBUG: commit transaction
DEBUG: proc_exit(0)
DEBUG: shmem_exit(0)
DEBUG: exit(0)
ok
initializing pg_shadow... FATAL: XX000: failed to initialize lc_messages to ""
LOCATION: InitializeGUCOptions, guc.c:1867
initdb: failed
PostgreSQLの7.4.7(7.4.6でも同じ症状)をインストールしてinitdb --encoding=EUC-JP --no-localeで初期化しようとすると、
initializing pg_shadow... FATAL: XX000: failed to initialize lc_messages to ""
LOCATION: InitializeGUCOptions, guc.c:1867
というエラーメッセージが出てしまう。
googleでML等を調べまくってイヤという程某氏のマルチポストを眺めながら解決法を調べましたが、
全然うまくいきません。お願いします。力を貸して下さい。
(--debug付きの場合)
(前略)
DEBUG: start transaction
DEBUG: close relation (null)
DEBUG: commit transaction
(中略)
DEBUG: start transaction
DEBUG: commit transaction
DEBUG: start transaction
DEBUG: commit transaction
DEBUG: proc_exit(0)
DEBUG: shmem_exit(0)
DEBUG: exit(0)
ok
initializing pg_shadow... FATAL: XX000: failed to initialize lc_messages to ""
LOCATION: InitializeGUCOptions, guc.c:1867
initdb: failed
437nobodyさん
05/03/04 15:47:39ID:S8fbJs1c alter user postgres with password '';
でpostgresのパスワードを無しにしたのですが、こう設定した場合、
postgresユーザでのDB接続は出来なくなると考えて宜しいので
しょうか。
pg_hba.confでは
local all all md5
host all all 127.0.0.1 255.255.255.255 md5
local all all reject
host all all 127.0.0.1 255.255.255.255 reject
と設定済みです。
でpostgresのパスワードを無しにしたのですが、こう設定した場合、
postgresユーザでのDB接続は出来なくなると考えて宜しいので
しょうか。
pg_hba.confでは
local all all md5
host all all 127.0.0.1 255.255.255.255 md5
local all all reject
host all all 127.0.0.1 255.255.255.255 reject
と設定済みです。
438nobodyさん
05/03/10 20:07:41ID:??? pgbenchってやってます??みなさんどれくらいの値出ます??
ちなみにうち
pgbench -c 10 -t 100 bench
tps: 112 (including) , 113 (excluding) [Athlon XP-M 1700+,RAID1,RH7.3,psql7.2.4]
tps: 261 (including) , 264 (excluding) [Pentium4 2.83GHz,RAID1,RH9,psql7.3.4]
pgbench -c 10 -t 100 -S bench
tps: 1925 (including) , 2290 (excluding) [Athlon XP-M 1700+,RAID1,RH7.3,psql7.2.4]
tps: 2907 (including) , 3253 (excluding) [Pentium4 2.83GHz,RAID1,RH9,psql7.3.4]
良いのか悪いのか全くわからん。
OpteronとかXeonだったらどれくらいいくんだろう。
ってか、pgbenchの結果を晒しあってるスレあったら誘導してくれ。。。
ちなみにうち
pgbench -c 10 -t 100 bench
tps: 112 (including) , 113 (excluding) [Athlon XP-M 1700+,RAID1,RH7.3,psql7.2.4]
tps: 261 (including) , 264 (excluding) [Pentium4 2.83GHz,RAID1,RH9,psql7.3.4]
pgbench -c 10 -t 100 -S bench
tps: 1925 (including) , 2290 (excluding) [Athlon XP-M 1700+,RAID1,RH7.3,psql7.2.4]
tps: 2907 (including) , 3253 (excluding) [Pentium4 2.83GHz,RAID1,RH9,psql7.3.4]
良いのか悪いのか全くわからん。
OpteronとかXeonだったらどれくらいいくんだろう。
ってか、pgbenchの結果を晒しあってるスレあったら誘導してくれ。。。
439nobodyさん
05/03/13 15:32:22ID:??? Windowsネイティブ対応キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
440nobodyさん
05/03/18 19:32:34ID:NKwPelPw 一年生、男性、5人
二年生、女性、3人
というクエリー結果を
男性 女性
一年生 5人
二年生 3人
っていう風に見せたいときどうする?
やっぱPHPで加工するしかないのかな?
二年生、女性、3人
というクエリー結果を
男性 女性
一年生 5人
二年生 3人
っていう風に見せたいときどうする?
やっぱPHPで加工するしかないのかな?
441nobodyさん
05/03/18 21:00:03ID:??? case文つかえ
442nobodyさん
2005/04/22(金) 12:41:11ID:??? >>30あたりでダンプの話題が出ていたようですが複数のDBがあるので
pg_dumpalを使ってみました。生成されたファイルをみてみると
最初の方で全てのDB分CREATE USERがしてあってそのあと全てのDB分
CREATE DATABASE "DB名"の様になっていましたが
ある一つのDBだけリストアしたい場合には
pg_dumpallから生成されたファイルは使えないのでしょうか?
@7.2.3です
pg_dumpalを使ってみました。生成されたファイルをみてみると
最初の方で全てのDB分CREATE USERがしてあってそのあと全てのDB分
CREATE DATABASE "DB名"の様になっていましたが
ある一つのDBだけリストアしたい場合には
pg_dumpallから生成されたファイルは使えないのでしょうか?
@7.2.3です
443nobodyさん
2005/04/26(火) 14:59:54ID:??? circle型のインサート構文がリファレンスに書いてないしぐぐっても出てこないので
誰か教えて下さい。
insert into table(field)values((0,0),1); とか
insert into table(field)values(GeometryFromText('Circle((0,0),1)')); とか
色々試してみたけどダメでした。
誰か教えて下さい。
insert into table(field)values((0,0),1); とか
insert into table(field)values(GeometryFromText('Circle((0,0),1)')); とか
色々試してみたけどダメでした。
445nobodyさん
2005/04/26(火) 16:27:20ID:??? >>443
おまけ。
INSERT INTO Table(field) VALUES('<(0,0),1>');
INSERT INTO Table(field) VALUES('0,0,1');
その他いろいろ... まぁバージョンによって認識してくれる書式に
多少の違いがあるかもしれん。
おまけ。
INSERT INTO Table(field) VALUES('<(0,0),1>');
INSERT INTO Table(field) VALUES('0,0,1');
その他いろいろ... まぁバージョンによって認識してくれる書式に
多少の違いがあるかもしれん。
446nobodyさん
2005/04/26(火) 18:18:09ID:??? pgadmin3のバグ(だと思う)報告。
適当なデータベースでテーブル(列は一つで主キーも無く名前・オーナー・テーブル空間・OIDを持つのみを設定)を作り、
データベース→使ったデータベース名→スキーマ→public→テーブル→作成したテーブル名
とたどり、テーブル名を右クリックしてプロパティを開く。
列タブに移動して唯一の列を削除して同一の名前の列(データ型は異なる)を追加する。
OKを押す→エラー発生(これは例外処理として正常だが)
ここでさきほど右クリックしたテーブル名を再び右クリックしてリフレッシュを選択。
その後再び列追加のOKを押すとpgadmin3が突然消える。
俺の環境ではこの操作でこの現象は100%再現する。
他にも細かいおかしな挙動がたくさんあったが忘れた。
(俺がpgadmin3使うの初めてなんでおかしな操作してるのかもしれない)
適当なデータベースでテーブル(列は一つで主キーも無く名前・オーナー・テーブル空間・OIDを持つのみを設定)を作り、
データベース→使ったデータベース名→スキーマ→public→テーブル→作成したテーブル名
とたどり、テーブル名を右クリックしてプロパティを開く。
列タブに移動して唯一の列を削除して同一の名前の列(データ型は異なる)を追加する。
OKを押す→エラー発生(これは例外処理として正常だが)
ここでさきほど右クリックしたテーブル名を再び右クリックしてリフレッシュを選択。
その後再び列追加のOKを押すとpgadmin3が突然消える。
俺の環境ではこの操作でこの現象は100%再現する。
他にも細かいおかしな挙動がたくさんあったが忘れた。
(俺がpgadmin3使うの初めてなんでおかしな操作してるのかもしれない)
448nobodyさん
2005/04/26(火) 18:51:43ID:??? gistインデックスを作る際に指定するgist_geometry_opsには
比較演算子のセットを指示しろとpostGISのマニュアルに書いてあったけど、
&& << >> <^ >^ と書いたら&&の時点で怒られた。
何を書けというの?
せめて一つくらいコード例書いといてくれよ・・・>マニュアル
比較演算子のセットを指示しろとpostGISのマニュアルに書いてあったけど、
&& << >> <^ >^ と書いたら&&の時点で怒られた。
何を書けというの?
せめて一つくらいコード例書いといてくれよ・・・>マニュアル
449nobodyさん
2005/04/26(火) 18:53:01ID:x+Vlqkfm ものすごくつまらないことを聞いてもいいですか?
今現在、postgresがオーナーになっているDBがありまして
他のユーザーをオーナーにしたい場合ってどうすればいいんでしょう?
今現在、postgresがオーナーになっているDBがありまして
他のユーザーをオーナーにしたい場合ってどうすればいいんでしょう?
451nobodyさん
2005/06/08(水) 13:03:23ID:??? JNDIから取得したDataSourceでコネクションプーリングする方法を
教えてください。
教えてください。
452nobodyさん
2005/06/08(水) 15:36:20ID:??? コネクションプーリングの実装は難しいから、自分でくまない方がいいとおもうけど。
JNDIからプーリングしてもらったコネクションを取得するようにしたほうがいいと思われ。
JNDIからプーリングしてもらったコネクションを取得するようにしたほうがいいと思われ。
453nobodyさん
2005/06/08(水) 21:49:29ID:??? 普通にJNDIルックアップして取得したDataSourceって
ConnectionPool実装してないよね?
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("DataSourceName");
Connection conn = ds.getConnection();
ってな具合に普通にコネクション取ってるだけど
Jdbc3PoolingDataSourceとかでキャストすると落ちるし。
そもそもJNDIで定義してるDataSourceのクラスってどこ変更すりゃいいの?
ってか猛烈にスレ違いだなー
ConnectionPool実装してないよね?
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("DataSourceName");
Connection conn = ds.getConnection();
ってな具合に普通にコネクション取ってるだけど
Jdbc3PoolingDataSourceとかでキャストすると落ちるし。
そもそもJNDIで定義してるDataSourceのクラスってどこ変更すりゃいいの?
ってか猛烈にスレ違いだなー
454nobodyさん
2005/06/08(水) 22:33:26ID:??? 普通にって、そりゃどこでどういう風にJNDIに登録してるかだろ。
コネクションプーリングしたコネクションをJNDIに登録して、それとってくればコネクションプーリングされてるだろ。
コネクションプーリングしたコネクションをJNDIに登録して、それとってくればコネクションプーリングされてるだろ。
455nobodyさん
2005/06/08(水) 23:15:34ID:??? DataSourceをJNDIに登録する時に、ドライバークラスはもちろん指定できるんですが
データソースのクラスまで指定する事ってできるんでしょうか?
指定しないで登録すると、デフォルトのjava.sql.DataSourceで登録しますよね。
データソースのクラスまで指定する事ってできるんでしょうか?
指定しないで登録すると、デフォルトのjava.sql.DataSourceで登録しますよね。
456nobodyさん
2005/06/08(水) 23:40:26ID:??? しらんよ、あんたの実装のことなんか。
458nobodyさん
2005/06/09(木) 00:04:51ID:??? 結局なにがしたいのか謎だったな。
WebならTomcatにまかせとけばいいし、気にすることないからなぁ。
WebならTomcatにまかせとけばいいし、気にすることないからなぁ。
459nobodyさん
2005/06/09(木) 00:16:30ID:??? 結局、JBoss使ってるんですけど、
DataSourceのJNDI定義するXMLをそのままデプロイすると
java.sql.DataSourceで登録されちゃうんでなんとかならないかなと思ってたんです。
この定義するXMLの中にDataSourceクラスを定義する
ディレクティブが無いんですよね。
DataSourceのJNDI定義するXMLをそのままデプロイすると
java.sql.DataSourceで登録されちゃうんでなんとかならないかなと思ってたんです。
この定義するXMLの中にDataSourceクラスを定義する
ディレクティブが無いんですよね。
460nobodyさん
2005/06/09(木) 01:38:08ID:??? で、それはコネクションプーリングしてくれてないの?
461nobodyさん
2005/06/09(木) 02:13:55ID:??? くれないです。
java.sql.DataSourceは、ConnectionPooling実装してないんで使い捨てですね。
してくれたら、このクラス、仕様どおりに動いて無い事になるので逆に困りますw
Factoryから自作してやろうかと思ったんですが危ないし、
その筋の人間の作ったJDBCドライバーかデータソースに完全に任せたいです。
java.sql.DataSourceは、ConnectionPooling実装してないんで使い捨てですね。
してくれたら、このクラス、仕様どおりに動いて無い事になるので逆に困りますw
Factoryから自作してやろうかと思ったんですが危ないし、
その筋の人間の作ったJDBCドライバーかデータソースに完全に任せたいです。
462nobodyさん
2005/06/09(木) 05:10:57ID:??? java.sql.DataSourceなんてないと思うのだが。
javax.sql.DataSourceはインターフェイスだからConnectionPooling実装してるとかしてないとか、関係ないと思うが。
というか、ConnectionPoolingって、インターフェイス?
javax.sql.DataSourceはインターフェイスだからConnectionPooling実装してるとかしてないとか、関係ないと思うが。
というか、ConnectionPoolingって、インターフェイス?
463nobodyさん
2005/06/09(木) 17:25:42ID:??? >>462
ですね。DataSourceはインターフェースです。
ConnectionPoolingっていうのは、仕組みなのでクラスでもインターフェースでもないです。
ちょっと検証できそうなものを見つけました。
ttp://www2b.biglobe.ne.jp/~caco/pgpool/
ですね。DataSourceはインターフェースです。
ConnectionPoolingっていうのは、仕組みなのでクラスでもインターフェースでもないです。
ちょっと検証できそうなものを見つけました。
ttp://www2b.biglobe.ne.jp/~caco/pgpool/
464nobodyさん
2005/06/09(木) 17:47:39ID:??? キッチリ解決しました。
MySQLの資料ですが、まんまいけるハズです。
ttp://kamakura.cool.ne.jp/oppama/swjd/jndidatasource.html
MySQLの資料ですが、まんまいけるハズです。
ttp://kamakura.cool.ne.jp/oppama/swjd/jndidatasource.html
465nobodyさん
2005/06/09(木) 22:11:26ID:??? つうか、JBossがわざわざJNDIに登録してるものが、コネクションプーリングしてないとは思えんのだが。
466nobodyさん
2005/06/16(木) 02:31:27ID:??? 質問させてください。
現在レン鯖の「speever」なる所でpostgreSQLを始めたのですがphpPgAdminが入ってたんで
tableの作成、テスト用データのinsertは上手くいってselectもできました。
ただ、webからphp経由で
$pgsql_conn = pg_connect("host=localhost port=5432 dbname=DB名 user=名前 password=パス");
とした時に$pgsql_connに何も入りません。
設定がいけないのかと思うのですがpg_hba.conf、postgresql.conf以外に何か設定ファイルがありましたら教えて下さい
いじったのはpg_hba.confがlocalだけだったので「host all all 127.0.0.1 255.255.255.255 trust」と
postgresql.confは#tcpip_socket = falseだったのをアンコメントしてfalseをtrueにしました
phpがver4.3.0
postgresがver7.3.2でした
現在レン鯖の「speever」なる所でpostgreSQLを始めたのですがphpPgAdminが入ってたんで
tableの作成、テスト用データのinsertは上手くいってselectもできました。
ただ、webからphp経由で
$pgsql_conn = pg_connect("host=localhost port=5432 dbname=DB名 user=名前 password=パス");
とした時に$pgsql_connに何も入りません。
設定がいけないのかと思うのですがpg_hba.conf、postgresql.conf以外に何か設定ファイルがありましたら教えて下さい
いじったのはpg_hba.confがlocalだけだったので「host all all 127.0.0.1 255.255.255.255 trust」と
postgresql.confは#tcpip_socket = falseだったのをアンコメントしてfalseをtrueにしました
phpがver4.3.0
postgresがver7.3.2でした
467nobodyさん
2005/06/16(木) 02:39:31ID:??? >>466
設定を変えたときPostgreSQLの再起動をした?
って言うか、貸鯖で設定ファイルを弄らしてくれるのかよ...
それよりもtcp/ipによる接続の必要性が無いのなら
UnixDomainSocketでいいんじゃね。
$pgsql_conn = pg_connect("dbname=DB名 user=名前 password=パス");
設定を変えたときPostgreSQLの再起動をした?
って言うか、貸鯖で設定ファイルを弄らしてくれるのかよ...
それよりもtcp/ipによる接続の必要性が無いのなら
UnixDomainSocketでいいんじゃね。
$pgsql_conn = pg_connect("dbname=DB名 user=名前 password=パス");
468nobodyさん
2005/06/16(木) 02:42:30ID:??? >>467 こんばんわ
再起動は/etc/rc.d/initdからしました
なんかvps?とかで似非root権限があるそうです。
$pgsql_conn = pg_connect("dbname=DB名 user=名前 password=パス");
↑host=localhostでソケット通信かとおもてた、ちょっと試してきます
再起動は/etc/rc.d/initdからしました
なんかvps?とかで似非root権限があるそうです。
$pgsql_conn = pg_connect("dbname=DB名 user=名前 password=パス");
↑host=localhostでソケット通信かとおもてた、ちょっと試してきます
469nobodyさん
2005/06/16(木) 02:50:33ID:??? >>467
だめでしたわ('A`)
if ($pgsql_conn) {
print "Successfully connected to database: " . pg_dbname($pgsql_conn) ." on " . pg_host($pgsql_conn) . "<br/>\n";
} else {
print pg_last_error($pgsql_conn);
print "ヽ(`Д´)ノ";
exit;
}
ヽ(`Д´)ノ←こんなん出力されたorz
だめでしたわ('A`)
if ($pgsql_conn) {
print "Successfully connected to database: " . pg_dbname($pgsql_conn) ." on " . pg_host($pgsql_conn) . "<br/>\n";
} else {
print pg_last_error($pgsql_conn);
print "ヽ(`Д´)ノ";
exit;
}
ヽ(`Д´)ノ←こんなん出力されたorz
470nobodyさん
2005/06/16(木) 02:59:33ID:???471nobodyさん
2005/06/16(木) 14:44:13ID:??? >>470
すいません、php.iniを眺めてたらerr_display=Offになってた。
onにしてhttpd再起動したら
Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: Database "test_db" does not exist in the system catalog. . in /var/www/html/dddddd/db_test.php on line 3
どうやらweb鯖とdb鯖が別になってる…?
すいませんでした、いそいで吊ってきます
すいません、php.iniを眺めてたらerr_display=Offになってた。
onにしてhttpd再起動したら
Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: Database "test_db" does not exist in the system catalog. . in /var/www/html/dddddd/db_test.php on line 3
どうやらweb鯖とdb鯖が別になってる…?
すいませんでした、いそいで吊ってきます
473nobodyさん
2005/06/30(木) 04:40:53ID:??? どもです。はじめまして。
phpPdAdminの質問なのですが、特権一覧と言うところに「102」という
ユーザーがいるんですが、これは自動的に追加される何らかのユーザー
なのでしょうか??
SQLを直で覗いてユーザー一覧を見たのですが、
このユーザーはいませんでした。
phpPgAdminからしか認識できません。
どなたか知っている人がいましたら、アドバス願います。
phpPdAdminの質問なのですが、特権一覧と言うところに「102」という
ユーザーがいるんですが、これは自動的に追加される何らかのユーザー
なのでしょうか??
SQLを直で覗いてユーザー一覧を見たのですが、
このユーザーはいませんでした。
phpPgAdminからしか認識できません。
どなたか知っている人がいましたら、アドバス願います。
474nobodyさん
2005/06/30(木) 20:13:04ID:cHU+f8gL アドバス願います。
475nobodyさん
2005/07/23(土) 07:34:11ID:WyqF/aD4 RDBMS背負ったWebアプリを開発必要があり、
Perl、DBI、PostgreSQLの勉強を進めています。
要件がなかなかFIXしないため暫定的にスタートしなくては
ならない状態なのですが、運用途中でテーブルの「列」を増減させる事は
可能なのでしょうか。
あるいは新たな構造のテーブルを作り、データを移す、とかの方法になりますか?
Perl、DBI、PostgreSQLの勉強を進めています。
要件がなかなかFIXしないため暫定的にスタートしなくては
ならない状態なのですが、運用途中でテーブルの「列」を増減させる事は
可能なのでしょうか。
あるいは新たな構造のテーブルを作り、データを移す、とかの方法になりますか?
476nobodyさん
2005/07/23(土) 08:02:53ID:??? >>475
ALTER TABLE ADD COLUMN で可。
http://www.postgresql.jp/document/pg803doc/html/sql-altertable.html
ALTER TABLE ADD COLUMN で可。
http://www.postgresql.jp/document/pg803doc/html/sql-altertable.html
477nobodyさん
2005/07/23(土) 18:38:51ID:???478nobodyさん
2005/07/29(金) 13:20:03ID:p5If7shl 郵政公社が公開している郵便番号データをテキストに変換
13101 102 1020072 トウキョウト チヨダク イイダバシ 東京都 千代田区 飯田橋
(空白はタブ区切り)
そのテキストをテーブルに取り込む際
>COPY test FROM "13tokyo.txt";
としたところ
invalid input syntax for integer
というエラーが表示され、うまくいきません。
なにが原因なのでしょうか?
Column | Type | Modifiers
---------+--------------+-----------
pubcode | integer |
zip5 | character(5) |
zip7 | character(7) |
pref_k | text |
city_k | text |
town_k | text |
pref_j | text |
city_j | text |
town_j | text |
よろしこ
13101 102 1020072 トウキョウト チヨダク イイダバシ 東京都 千代田区 飯田橋
(空白はタブ区切り)
そのテキストをテーブルに取り込む際
>COPY test FROM "13tokyo.txt";
としたところ
invalid input syntax for integer
というエラーが表示され、うまくいきません。
なにが原因なのでしょうか?
Column | Type | Modifiers
---------+--------------+-----------
pubcode | integer |
zip5 | character(5) |
zip7 | character(7) |
pref_k | text |
city_k | text |
town_k | text |
pref_j | text |
city_j | text |
town_j | text |
よろしこ
479nobodyさん
2005/10/25(火) 18:12:46ID:2GYRQ0/r PostgreSQL8.0.3 を使ってWebアプリをJavaで構築してます。
ユーザーが入力した情報がtext型に入ってて、このカラムに対してキーワード検索をしたい、という
要件が入ってます。
普通にlike文で検索すれば良いと思うのですが、実際、レコード件数が最大で億を超えることが予想されるようです。
text型ですけど、1万文字の文字数チェックを入れる予定です。
この場合,like文ですとインデックスが当然きかないのでかなりの時間がかかる処理になってしまうと思います。
一般的にこのような場合はDBに頼らず別の仕組みをつかっているんでしょうか??
良くある会員サイトで使われている検索はlike文で頑張っているんでしょうかね?
まだシステム仕様変更をするための時間があるのでアドバイスいただけるとありがたいです。
ユーザーが入力した情報がtext型に入ってて、このカラムに対してキーワード検索をしたい、という
要件が入ってます。
普通にlike文で検索すれば良いと思うのですが、実際、レコード件数が最大で億を超えることが予想されるようです。
text型ですけど、1万文字の文字数チェックを入れる予定です。
この場合,like文ですとインデックスが当然きかないのでかなりの時間がかかる処理になってしまうと思います。
一般的にこのような場合はDBに頼らず別の仕組みをつかっているんでしょうか??
良くある会員サイトで使われている検索はlike文で頑張っているんでしょうかね?
まだシステム仕様変更をするための時間があるのでアドバイスいただけるとありがたいです。
480nobodyさん
2005/10/25(火) 18:28:23ID:???481nobodyさん
2005/10/25(火) 19:38:24ID:??? pg_rast, pg_senna あたりを勧めたいところだけど
>レコード件数が最大で億を超えることが予想されるようです。
ということなら Rast や Senna ではキツいですね。
Hyper Estraier は件数が増えても性能劣化しないように作られているけど
pgestraier は PostgreSQL のカラムに対するインデックス作成ができないので使えないわけで。
8.1 で導入されるテーブル・パーティショニングを使ってカテゴリごとにテーブルを分けるとかすれば
pg_rast や pg_senna でもいけるかな?
>レコード件数が最大で億を超えることが予想されるようです。
ということなら Rast や Senna ではキツいですね。
Hyper Estraier は件数が増えても性能劣化しないように作られているけど
pgestraier は PostgreSQL のカラムに対するインデックス作成ができないので使えないわけで。
8.1 で導入されるテーブル・パーティショニングを使ってカテゴリごとにテーブルを分けるとかすれば
pg_rast や pg_senna でもいけるかな?
482479
2005/10/25(火) 21:21:40ID:sIrMsQ6K483nobodyさん
2005/10/25(火) 21:46:04ID:??? >>482
ちょっと説明不足でした。
Hyper Estraier というのはオープンソースの全文検索エンジンで、PostgreSQL とは直接関係ないものです。
で、PostgreSQL から Hyper Estaier のインデックスを検索できるように作られたのが pgestraier なわけだけど
これは検索専用で、登録・更新・削除ができないのです。
というわけで Hyper Estraier をそのまま使うのは不可能。
ただし Java バインディングがあるので、INERTと同時に全文検索インデックスへの登録も行うようにして
(この際、主キー相当の項目を属性として登録するのを忘れずに)SELECT のときは pgestraier を使うような
運用方法にすればいけないこともないと思われます。
Tsearch2 のスケーラビリティについてはよく知らないですが KAKASI を MeCab に置き換えたものを
作ってる人もおられるみたいですね。(KAKASI の今のバージョンは UTF-8 が扱えないので)
自分はというと登録・更新・削除もできる Hyper Estraier の PostgreSQL バインディングが出るか、
Rast か Senna のスケーラビリティが上がるまで様子見です。
ちょっと説明不足でした。
Hyper Estraier というのはオープンソースの全文検索エンジンで、PostgreSQL とは直接関係ないものです。
で、PostgreSQL から Hyper Estaier のインデックスを検索できるように作られたのが pgestraier なわけだけど
これは検索専用で、登録・更新・削除ができないのです。
というわけで Hyper Estraier をそのまま使うのは不可能。
ただし Java バインディングがあるので、INERTと同時に全文検索インデックスへの登録も行うようにして
(この際、主キー相当の項目を属性として登録するのを忘れずに)SELECT のときは pgestraier を使うような
運用方法にすればいけないこともないと思われます。
Tsearch2 のスケーラビリティについてはよく知らないですが KAKASI を MeCab に置き換えたものを
作ってる人もおられるみたいですね。(KAKASI の今のバージョンは UTF-8 が扱えないので)
自分はというと登録・更新・削除もできる Hyper Estraier の PostgreSQL バインディングが出るか、
Rast か Senna のスケーラビリティが上がるまで様子見です。
484479
2005/10/25(火) 22:38:46ID:sIrMsQ6K >>483
さらに詳しい説明、感謝致します。
詳しくはHyper Estraieを調査すればわかるとおもいますが、一つだけ。
「インデックスへの登録」という部分は、たとえばText型に入る内容を
Hyper Estraierに対して投げる、という感じでしょうか。その属性にpkyを付加すると。
であれば、Hyper Estraierが持つであろうインデックスファイルなどは結構な量になると
思われますが、正しい認識でしょうか。データ量が多くになると、RDBMSとは別に
全文検索用のサーバーを用意するという運用体型になるって感じでしょうか。
なかなか楽しい世界ですね。ありがとうございます。
さらに詳しい説明、感謝致します。
詳しくはHyper Estraieを調査すればわかるとおもいますが、一つだけ。
「インデックスへの登録」という部分は、たとえばText型に入る内容を
Hyper Estraierに対して投げる、という感じでしょうか。その属性にpkyを付加すると。
であれば、Hyper Estraierが持つであろうインデックスファイルなどは結構な量になると
思われますが、正しい認識でしょうか。データ量が多くになると、RDBMSとは別に
全文検索用のサーバーを用意するという運用体型になるって感じでしょうか。
なかなか楽しい世界ですね。ありがとうございます。
485479
2005/10/26(水) 10:41:49ID:???486nobodyさん
2006/02/13(月) 18:56:37ID:??? OIDについて質問です。
あるテーブルでの一意性を保証したいのですが、
単純に該当テーブルのOIDに対してUNIQUEを指定してしまえばいいということなんでしょうか...?
PostgreSQL7.4を想定しています。
http://www.postgresql.jp/document/pg732doc/user/datatype-oid.html
OID は 32 ビット長であり、クラスタ全体で 1 つのカウンタから割り当てられます。
巨大な、または、長期間運用しているデータベースでは、カウンタが一周する可能性があります。
従って、OID が一意であることを前提とすることは、OID を一意にすることを保証する手段を講じていない限り非現実的です。
OID を使用して行の識別を行う推奨方法は、その OID が使用される各テーブルの OID 列に一意性制約を作成することです。
宜しくお願い致しますm(_ _)m
あるテーブルでの一意性を保証したいのですが、
単純に該当テーブルのOIDに対してUNIQUEを指定してしまえばいいということなんでしょうか...?
PostgreSQL7.4を想定しています。
http://www.postgresql.jp/document/pg732doc/user/datatype-oid.html
OID は 32 ビット長であり、クラスタ全体で 1 つのカウンタから割り当てられます。
巨大な、または、長期間運用しているデータベースでは、カウンタが一周する可能性があります。
従って、OID が一意であることを前提とすることは、OID を一意にすることを保証する手段を講じていない限り非現実的です。
OID を使用して行の識別を行う推奨方法は、その OID が使用される各テーブルの OID 列に一意性制約を作成することです。
宜しくお願い致しますm(_ _)m
488nobodyさん
2006/04/29(土) 23:20:03ID:??? DB板での書き込みを再掲させて戴きます。レスがつかなかったもので…orz
PostgreSQLを使って、下記のような処理を作ろうと考えています。
現在「特定テーブルのCSV出力」に何を使うかで悩んでいます。
ストアドプロシージャか、PHPを使うかの二択から選んでくれと言われたのですが、
クライアントアプリがこれらをキックすることを考えるとどちらが簡単でしょうか。
----------
クライアント:Windows(.NETで開発)
サーバ:RedHat Linux + PostgreSQL
やりたいこと。
1.通信はhttpのみ。
2.クライアントはサーバにアクセスして、
「特定テーブルのCSV出力」を命令する。<--------------(・ω・)
3.クライアントは処理の終了を待つ。
4.クライアントは出力されたCSVファイルをダウンロードする。
PostgreSQLを使って、下記のような処理を作ろうと考えています。
現在「特定テーブルのCSV出力」に何を使うかで悩んでいます。
ストアドプロシージャか、PHPを使うかの二択から選んでくれと言われたのですが、
クライアントアプリがこれらをキックすることを考えるとどちらが簡単でしょうか。
----------
クライアント:Windows(.NETで開発)
サーバ:RedHat Linux + PostgreSQL
やりたいこと。
1.通信はhttpのみ。
2.クライアントはサーバにアクセスして、
「特定テーブルのCSV出力」を命令する。<--------------(・ω・)
3.クライアントは処理の終了を待つ。
4.クライアントは出力されたCSVファイルをダウンロードする。
489nobodyさん
2006/04/29(土) 23:29:08ID:??? >>488
.NETからストアドたたけるんだろうから、ストアドでやれば?
と思ったけど、httpのみかよ。
http通信で直接ストアドなんて呼べるのか?
結局phpでラップすることになるんではないかな。
.NETからストアドたたけるんだろうから、ストアドでやれば?
と思ったけど、httpのみかよ。
http通信で直接ストアドなんて呼べるのか?
結局phpでラップすることになるんではないかな。
490nobodyさん
2006/04/30(日) 00:06:46ID:??? >>489
レスありがとうございます。
ADO.NETを使っていいものなら話は簡単なんですけどね…。
「セキュリティの観点」からダメだと言われてしまいました。
ちなみにPHPをキックすること自体は簡単にできるものでしょうか?
レスありがとうございます。
ADO.NETを使っていいものなら話は簡単なんですけどね…。
「セキュリティの観点」からダメだと言われてしまいました。
ちなみにPHPをキックすること自体は簡単にできるものでしょうか?
491nobodyさん
2006/04/30(日) 00:21:53ID:??? >>488
なんの言語でやるのかしらんが、たとえばPHPでやるとして
*.csvファイルをPHPで処理するように関連付けて
*.csvファイルの中にcsv出力する[プログラム書いて
ヘッダーをtext出力にすればOk。
なんの言語でやるのかしらんが、たとえばPHPでやるとして
*.csvファイルをPHPで処理するように関連付けて
*.csvファイルの中にcsv出力する[プログラム書いて
ヘッダーをtext出力にすればOk。
492nobodyさん
2006/04/30(日) 04:22:25ID:???494good
2006/05/11(木) 15:23:40ID:UxCS1jwo PostgreSqlでdate型は、文字として認識されるようですが
仕様でしょうか?
たまに数値型で、抽出できたりするんですが、どうしてでしょう?
WK_SQL = WK_SQL & "(F1_RINYUYMD BETWEEN " & WK_DOU1 & " AND " & WK_DOU2 & ")
F1_RINYUYMD date型
仕様でしょうか?
たまに数値型で、抽出できたりするんですが、どうしてでしょう?
WK_SQL = WK_SQL & "(F1_RINYUYMD BETWEEN " & WK_DOU1 & " AND " & WK_DOU2 & ")
F1_RINYUYMD date型
495nobodyさん
2006/05/17(水) 22:06:30ID:/QUzYdtQ あるテーブルのint型の変数にNULLを代入しようとすると、
エラーではじかれてしまうのですが、
何がいけないのでしょうか?
charでは問題ありませんし、特にNULLがダメというわけでもないように思っているのですが、
そういうケースがあるんでしょうか?
エラーではじかれてしまうのですが、
何がいけないのでしょうか?
charでは問題ありませんし、特にNULLがダメというわけでもないように思っているのですが、
そういうケースがあるんでしょうか?
496nobodyさん
2006/05/17(水) 22:35:27ID:??? 'NULL'ってやってるとか?
queryをダンプして貼ったらレスも付き易いかと。
queryをダンプして貼ったらレスも付き易いかと。
497nobodyさん
2006/05/17(水) 22:46:12ID:??? すみません、あまり経験も乏しいので説明が要領を得ないかもしれませんが、
insert into test(param) values('');
という感じです。(test というテーブルの param に代入)
実際には、COPYコマンドでファイルから代入しようとして蹴られます。
a,b,,,,c,,d, というようなデータ列で、','を区切り文字としています。
,, の部分がNULLとして扱われると思うんですが、
varchar(20)などでは問題ないのに、intのところでエラーが出ます。
それでコマンドラインでも試してみたところ、やはり同じエラーが出ました。
マニュアルなどでデータ型を見た限りだと、NULLでも問題なさそうに思うのですが、
何か操作上の間違いがあるのでしょうか。
あと、言い忘れていましたが、試しているのは Windows の psql です。
insert into test(param) values('');
という感じです。(test というテーブルの param に代入)
実際には、COPYコマンドでファイルから代入しようとして蹴られます。
a,b,,,,c,,d, というようなデータ列で、','を区切り文字としています。
,, の部分がNULLとして扱われると思うんですが、
varchar(20)などでは問題ないのに、intのところでエラーが出ます。
それでコマンドラインでも試してみたところ、やはり同じエラーが出ました。
マニュアルなどでデータ型を見た限りだと、NULLでも問題なさそうに思うのですが、
何か操作上の間違いがあるのでしょうか。
あと、言い忘れていましたが、試しているのは Windows の psql です。
498nobodyさん
2006/05/18(木) 00:46:59ID:??? >a,b,,,,c,,d, というようなデータ列で、','を区切り文字としています。
ここを
a,b,NULL, NULL, NULL,c, NULL,d,
みたいだとどうだろ(試してないけど
ここを
a,b,NULL, NULL, NULL,c, NULL,d,
みたいだとどうだろ(試してないけど
499nobodyさん
2006/05/18(木) 01:27:13ID:??? >>497
COPY じゃ無くて \COPY を使っているとか?
COPYは ,, をNULLとして扱うようだけど、
\COPYは ,, を ""(空白文字列) として扱っている。
\COPY table FROM filename NULL ''
でいけるんじゃね?
> insert into test(param) values('');
''とNULLは別もんだよ。
COPY じゃ無くて \COPY を使っているとか?
COPYは ,, をNULLとして扱うようだけど、
\COPYは ,, を ""(空白文字列) として扱っている。
\COPY table FROM filename NULL ''
でいけるんじゃね?
> insert into test(param) values('');
''とNULLは別もんだよ。
500497
2006/05/18(木) 02:19:43ID:???501nobodyさん
2006/05/18(木) 21:20:56ID:??? 先週まで正常に動いていたPostgreSQL→phpのwebアプリが
突然にphpからの接続(insert処理)ができなくなりました。
ブラウザからINSERTを実行した際に
Warning: PostgreSQL query failed : no connection to the server
のエラーがクエリを吐いた回数分表示されます。
設定側pg_hba.conf、postgresql.confともに弄っていません、
またphpの方もバックアップとdiffをとりましたが変化ありませんでした。
また、バキュームしてみたら何か変わるかと思いSSHからvacuumdbを実行すると
FATAL 2: open of /var/lib/pgsql/data/pg_clog/0732 failed: そのようなファイルやディレクトリはありません
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
connection to server was lost
vacuumdb: vacuum xxxxxxxx failed
と言われました。
postgresの再起動もしてみましたが「postmaster ok」と通常通り立ち上がっているんですが…。
ブラウザから同じtableにselectを発行すると正常に値をとれます、selectもinsertもDBの接続処理は同じ関数つかってるのに…。
接続は以下のようにしています
function db_conect () {
global $CON;
$CON = pg_connect ("dbname=xxxx user=yyyyyyyyyyy");
}
長々すいません、バージョンは7.2.3です、アドバイスください
突然にphpからの接続(insert処理)ができなくなりました。
ブラウザからINSERTを実行した際に
Warning: PostgreSQL query failed : no connection to the server
のエラーがクエリを吐いた回数分表示されます。
設定側pg_hba.conf、postgresql.confともに弄っていません、
またphpの方もバックアップとdiffをとりましたが変化ありませんでした。
また、バキュームしてみたら何か変わるかと思いSSHからvacuumdbを実行すると
FATAL 2: open of /var/lib/pgsql/data/pg_clog/0732 failed: そのようなファイルやディレクトリはありません
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
connection to server was lost
vacuumdb: vacuum xxxxxxxx failed
と言われました。
postgresの再起動もしてみましたが「postmaster ok」と通常通り立ち上がっているんですが…。
ブラウザから同じtableにselectを発行すると正常に値をとれます、selectもinsertもDBの接続処理は同じ関数つかってるのに…。
接続は以下のようにしています
function db_conect () {
global $CON;
$CON = pg_connect ("dbname=xxxx user=yyyyyyyyyyy");
}
長々すいません、バージョンは7.2.3です、アドバイスください
502497
2006/05/18(木) 22:12:42ID:??? 今日やってみたところ、期待通りの動作をしました。
とても助かりました。
どこのどなたか存じませんが、ありがとうございました。
とても助かりました。
どこのどなたか存じませんが、ありがとうございました。
503nobodyさん
2006/05/19(金) 10:16:13ID:S+/mH4DM 8.1ってiモードの絵文字(外字領域)使えますか?
DBはEUC_JPで構築しています。
DBはEUC_JPで構築しています。
504nobodyさん
2006/07/19(水) 22:01:12ID:6lmDHlcw バイナリ本体は/usr/local/pgsqlに置いて、DBを/home/pgsql/varに置くようにコンパイルってどうすればできますか?
506504
2006/07/20(木) 23:55:57ID:??? なんだ、コンパイルのオプションと違ったんだ。
ありがと。
ありがと。
507nobodyさん
2006/07/22(土) 00:36:09ID:TflzrAiN http://pgfoundry.org/frs/?group_id=1000125&release_id=546
ここからダウンロードしたODBCだと文字化けするんだけど、何かご存じないですか?
鯖が7.4で、EUC-JP
クライアントはAccessとCSEで確認して化けらったです。
SET CLIENT ENCODINGはためしてみました。
以前に片岡さんのほうのドライバいれてました。
バージョンアップしてみたのは、numeric型を認識してくれないのと、
ADOでトランザクションの発行がうまくいかなかったからです。(´・ω・`)
ここからダウンロードしたODBCだと文字化けするんだけど、何かご存じないですか?
鯖が7.4で、EUC-JP
クライアントはAccessとCSEで確認して化けらったです。
SET CLIENT ENCODINGはためしてみました。
以前に片岡さんのほうのドライバいれてました。
バージョンアップしてみたのは、numeric型を認識してくれないのと、
ADOでトランザクションの発行がうまくいかなかったからです。(´・ω・`)
508nobodyさん
2006/07/22(土) 00:37:57ID:???509nobodyさん
2006/07/22(土) 07:31:10ID:??? ○○日間アクセスしてないユーザを削除する、という処理をさせたいんですが
Postgresだけでこれを実現する機能があれば教えてください
(OSの方で定期的にスクリプトを実行するのが普通なんでしょうか?)
Postgresだけでこれを実現する機能があれば教えてください
(OSの方で定期的にスクリプトを実行するのが普通なんでしょうか?)
510nobodyさん
2006/07/22(土) 17:56:12ID:??? cronかアクセスがあるごとに削除クエリ実行するしかないだろう
511509
2006/07/22(土) 18:14:09ID:??? やっぱりそうですよね。。。ありがとうございました
512nobodyさん
2006/08/01(火) 18:36:35ID:??? client_encodingのことで質問です。
eucで書いたperlプログラムから、DBIを使ってWindows版のPostgreSQL8.1.4のDBに接続しています。
postgresql.confのclient_encodingの指定はコメントアウトしています。接続先のDBはEUC_JPです。
別のPCのPostgreSQL8.1.4のDBから、pd_dumpで書き出したeucテキストのダンプデータを、
psqlを使用して取り込もうとしたところ、invalid byte sequence for encoding "SJIS" というエラーが
出てしまい、調べましたら、psqlのクライアントエンコーディングがSJISに設定されていることがわかりまして、
ダンプデータの中に SET CLIENT_ENCODING TO 'EUC_JP' という1文を入れたところエラーは出なく
なりました。ところが、今度は取り出したデータがSJISになってしまいました。
CGIプログラムも出力するhtmlのコードもEUCなので、すべてをEUCで統一できればと思うのですが、
どこを設定すればよいですか? どなたか教えてください。
eucで書いたperlプログラムから、DBIを使ってWindows版のPostgreSQL8.1.4のDBに接続しています。
postgresql.confのclient_encodingの指定はコメントアウトしています。接続先のDBはEUC_JPです。
別のPCのPostgreSQL8.1.4のDBから、pd_dumpで書き出したeucテキストのダンプデータを、
psqlを使用して取り込もうとしたところ、invalid byte sequence for encoding "SJIS" というエラーが
出てしまい、調べましたら、psqlのクライアントエンコーディングがSJISに設定されていることがわかりまして、
ダンプデータの中に SET CLIENT_ENCODING TO 'EUC_JP' という1文を入れたところエラーは出なく
なりました。ところが、今度は取り出したデータがSJISになってしまいました。
CGIプログラムも出力するhtmlのコードもEUCなので、すべてをEUCで統一できればと思うのですが、
どこを設定すればよいですか? どなたか教えてください。
513nobodyさん
2006/08/01(火) 18:45:57ID:??? 自己レスですorz
接続した直後に set client_encoding to 'EUC_JP' をすればいいだけでした。
お騒がせしました。
接続した直後に set client_encoding to 'EUC_JP' をすればいいだけでした。
お騒がせしました。
514nobodyさん
2006/08/02(水) 12:41:10ID:IBuG4Wqs 2GBくらいある巨大テーブルがあって、
けっこう複雑なクエリを、いろんな方向からかけるので、
どうしてもseqが走ってしまって、遅くなって困ってます。。
8.1のテーブルパーティショニングを試してもみたんですが、
オプティマイザがバカになって使えないし。。。
殆どがディスクI/O待ちなのですが、こういうときどういった対策があるでしょうか。
どなたか助けて下さい(´・ω・`)
けっこう複雑なクエリを、いろんな方向からかけるので、
どうしてもseqが走ってしまって、遅くなって困ってます。。
8.1のテーブルパーティショニングを試してもみたんですが、
オプティマイザがバカになって使えないし。。。
殆どがディスクI/O待ちなのですが、こういうときどういった対策があるでしょうか。
どなたか助けて下さい(´・ω・`)
516514
2006/08/02(水) 14:47:09ID:IBuG4Wqs はい。そのへんの対策はだいたい。
517nobodyさん
2006/08/02(水) 18:06:07ID:???518514
2006/08/04(金) 12:12:04ID:dYxM1faY519nobodyさん
2006/08/04(金) 12:24:10ID:??? >>518
で、結局君は何を求めてここに書いているわけ?
どんなテーブル構造になってるかも分からない、seq になる SQL も分からない。
それで、何をどうアドバイスしろ、と。
一言で言うと、「知らんがな」
で、結局君は何を求めてここに書いているわけ?
どんなテーブル構造になってるかも分からない、seq になる SQL も分からない。
それで、何をどうアドバイスしろ、と。
一言で言うと、「知らんがな」
520nobodyさん
2006/08/22(火) 09:04:21ID:??? 以下を実行したいのですが, centosに最初に入っているPostgreSQLの
データベースクラスタがあるために、うまくinitdbできません。
(template0と1がSQL_ASCII固定のまま)
initdb --encoding=UNICODE --no-locale
どうすればデータベースクラスタを完全に削除できるのでしょうか?
UNICODEについては, createdb -E UNICODEでもできるのですが,
やはりinitdbで設定したいです.
PostgreSQLを終了させて, ./dataを削除したりしましたが,
キャッシュ?されているらしく完全削除ができない状況です....
データベースクラスタがあるために、うまくinitdbできません。
(template0と1がSQL_ASCII固定のまま)
initdb --encoding=UNICODE --no-locale
どうすればデータベースクラスタを完全に削除できるのでしょうか?
UNICODEについては, createdb -E UNICODEでもできるのですが,
やはりinitdbで設定したいです.
PostgreSQLを終了させて, ./dataを削除したりしましたが,
キャッシュ?されているらしく完全削除ができない状況です....
521nobodyさん
2006/08/22(火) 14:03:02ID:??? make install
522nobodyさん
2006/10/21(土) 02:59:30ID:??? こんばんわ
http://www.postgresql.jp/document/pg74doc/html/sql-altertable.html
にあるALTER TABLEのSET DEFAULTについてなんですが、psqlから
ALTER TABLE xxxxx ALTER res_insert SET DEFAULT timestamp;
を発行した所
ERROR: column "timestamp" does not exist
とカラム名res_insertを指定いるつもりが
timestampというカラム名を指定するクエリになってしまっているようなんですが
この状態で何か抜けてますでしょうか?
----------------
SELECT version();
version
----------------------------------------------------------------------------------------------------
PostgreSQL 7.4.13 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3)
(1 row)
http://www.postgresql.jp/document/pg74doc/html/sql-altertable.html
にあるALTER TABLEのSET DEFAULTについてなんですが、psqlから
ALTER TABLE xxxxx ALTER res_insert SET DEFAULT timestamp;
を発行した所
ERROR: column "timestamp" does not exist
とカラム名res_insertを指定いるつもりが
timestampというカラム名を指定するクエリになってしまっているようなんですが
この状態で何か抜けてますでしょうか?
----------------
SELECT version();
version
----------------------------------------------------------------------------------------------------
PostgreSQL 7.4.13 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3)
(1 row)
523nobodyさん
2006/10/21(土) 03:53:49ID:??? current_timestamp のことではなくて?
524nobodyさん
2006/10/21(土) 03:59:12ID:???525nobodyさん
2006/10/23(月) 04:52:02ID:??? 先輩が書いたコードを読んでたら
SELECT * from xxtablexx where xxcomunxx 〜 '^[ま-も]' ;
というqueryが書いてあったんですが、〜 '^[ま-も]'の【〜】の意味が分かりません、マニュアル等に載ってますでしょうか?
SELECT * from xxtablexx where xxcomunxx 〜 '^[ま-も]' ;
というqueryが書いてあったんですが、〜 '^[ま-も]'の【〜】の意味が分かりません、マニュアル等に載ってますでしょうか?
527nobodyさん
2006/10/23(月) 18:03:17ID:??? hogeテーブルに各種データとtimestamp型でInsertされた日付が格納されているんだけど
日付=todayのように日付でみるんじゃなく、「何時間以内」という様な指定でデータを取得することは可能ですか?
@7.4です
日付=todayのように日付でみるんじゃなく、「何時間以内」という様な指定でデータを取得することは可能ですか?
@7.4です
528nobodyさん
2006/10/23(月) 22:26:23ID:??? >527
intervalでマニュアルを検索しる。
intervalでマニュアルを検索しる。
529nobodyさん
2006/10/25(水) 09:54:38ID:X5/anJFE select * from (select * from aaa order by bbb limit 1) as ccc;
↑これは動くのですが
delete from aaa order by bbb limit 1;
delete from (select * from aaa order by bbb limit 1) as ccc;
↑これらは動きません
構文エラーがでてしまいます。
(syntax error at or near "(" at character 13)
一体何がダメなのか、どなたか教えて頂けませんか?宜しくお願いします。
やりたいことは、bbbで昇順した上位1件を削除です。
(環境:windowsXP、postgres8.1.4)
↑これは動くのですが
delete from aaa order by bbb limit 1;
delete from (select * from aaa order by bbb limit 1) as ccc;
↑これらは動きません
構文エラーがでてしまいます。
(syntax error at or near "(" at character 13)
一体何がダメなのか、どなたか教えて頂けませんか?宜しくお願いします。
やりたいことは、bbbで昇順した上位1件を削除です。
(環境:windowsXP、postgres8.1.4)
531nobodyさん
2006/10/26(木) 00:18:23ID:PySunuHV やはりそうですか。。
答えが見当たらなかった為、
今はselectで取得したキーを使って、
変数に格納してから、deleteを発行しなおしてます。
動作が遅くなりそうな気もしますが。。。
答えが見当たらなかった為、
今はselectで取得したキーを使って、
変数に格納してから、deleteを発行しなおしてます。
動作が遅くなりそうな気もしますが。。。
532nobodyさん
2006/10/26(木) 00:38:43ID:???533nobodyさん
2006/10/26(木) 03:54:14ID:PySunuHV >>532
ありがとうございます!解決しました。
副問い合わせの使い方が間違っていたのですね。
selectでは動くので、deleteではできないのかと思ってしまってました
結構googleでも検索したんですけど、見つかりませんでした(泣)
はまると、何にも進んでないのに2〜3日経っちゃいますねw
サブクエリで探して、以下のサイトを参考にしました。
もっと良いサイトもあるのでしょうけど、見つかりません^^;
http://www.istudy.ne.jp/ilnews/vol286/sql.asp
個人的には以下のサイトで見つけたいのですが。。
http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-8.1-ja/
ありがとうございます!解決しました。
副問い合わせの使い方が間違っていたのですね。
selectでは動くので、deleteではできないのかと思ってしまってました
結構googleでも検索したんですけど、見つかりませんでした(泣)
はまると、何にも進んでないのに2〜3日経っちゃいますねw
サブクエリで探して、以下のサイトを参考にしました。
もっと良いサイトもあるのでしょうけど、見つかりません^^;
http://www.istudy.ne.jp/ilnews/vol286/sql.asp
個人的には以下のサイトで見つけたいのですが。。
http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-8.1-ja/
534nobodyさん
2006/10/26(木) 16:41:56ID:???535nobodyさん
2006/10/27(金) 09:56:45ID:??? >>533
自分も「それ以前の問題」だと思う。
君が見付けたいサイトでは
http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-8.1-ja/sql-delete.html
をよく読めば良い。
自分も「それ以前の問題」だと思う。
君が見付けたいサイトでは
http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-8.1-ja/sql-delete.html
をよく読めば良い。
536nobodyさん
2006/10/27(金) 13:03:00ID:C3DTFplx >>534
>>535
ほんとありがとうございます^^
SQL入門書を買ってみることにしましたw
前にPHPの本を買ったんですが、
どうやらUNIXの本だったようで、間違ってました><
今回からはネットで調べて買おうと思ってます。
今は、以下に狙いを定めてたりしますw
http://www.amazon.co.jp/exec/obidos/ASIN/4798109576
>>535
ほんとありがとうございます^^
SQL入門書を買ってみることにしましたw
前にPHPの本を買ったんですが、
どうやらUNIXの本だったようで、間違ってました><
今回からはネットで調べて買おうと思ってます。
今は、以下に狙いを定めてたりしますw
http://www.amazon.co.jp/exec/obidos/ASIN/4798109576
537nobodyさん
2006/10/28(土) 00:20:10ID:IIQMBUcS Postgres の列制約で、後から unique を定義することは出来ますか?
539nobodyさん
2006/10/28(土) 10:55:59ID:??? >>538
バージョンは8.1なんですけど、持ってるの古い本で
その中では出来ないとか書いてあって、ネットで調べても出来ないって
あったんですけど
なんかそのあたりを書いてあるページを教えていただけないでしょうか
バージョンは8.1なんですけど、持ってるの古い本で
その中では出来ないとか書いてあって、ネットで調べても出来ないって
あったんですけど
なんかそのあたりを書いてあるページを教えていただけないでしょうか
540nobodyさん
2006/10/29(日) 12:06:54ID:??? >>539
http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-8.1-ja/ddl-alter.html#AEN2253
の5.5.3. 制約の追加に
もろに
ALTER TABLE products ADD CONSTRAINT some_name UNIQUE (product_no);
って〜のがあるんだが、
オマイはどこで
「列制約で、後から unique を定義することは出来ない」
って見たんだ?
マニュアルを先に読むクセつけな。
http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-8.1-ja/ddl-alter.html#AEN2253
の5.5.3. 制約の追加に
もろに
ALTER TABLE products ADD CONSTRAINT some_name UNIQUE (product_no);
って〜のがあるんだが、
オマイはどこで
「列制約で、後から unique を定義することは出来ない」
って見たんだ?
マニュアルを先に読むクセつけな。
541nobodyさん
2006/10/29(日) 22:53:31ID:N1q0Xlu3 ヒントだけでもお願いできたら嬉しいのですが、
id | day | number
----+---------------------+--------
1 | 2006-09-01 10:10:00 | 30
2 | 2006-09-15 10:10:00 | 30
の様なテーブルが有ってday+number(日)を足した結果が2006-10、つまり今月になるものだけを抽出指定のですがどうすればいいでしょうか。
よろしくお願い致します。。
id | day | number
----+---------------------+--------
1 | 2006-09-01 10:10:00 | 30
2 | 2006-09-15 10:10:00 | 30
の様なテーブルが有ってday+number(日)を足した結果が2006-10、つまり今月になるものだけを抽出指定のですがどうすればいいでしょうか。
よろしくお願い致します。。
542nobodyさん
2006/10/30(月) 00:43:48ID:??? じゃ、ヒントだけ
template1=# SELECT '2006-09-01 10:10:00'::TIMESTAMP + '30 days'::INTERVAL;
?column?
---------------------
2006-10-01 10:10:00
(1 row)
template1=# SELECT '2006-09-01 10:10:00'::TIMESTAMP + '30 days'::INTERVAL;
?column?
---------------------
2006-10-01 10:10:00
(1 row)
544nobodyさん
2006/11/03(金) 16:57:01ID:??? 541に便乗なんですが
insert | status
----------------------------+--------
2006-10-25 22:02:56.825435 | 2
2006-11-03 01:09:08.135099 | 1
なtableで
insertが当日のものだけとりたくて
SELECT insert,status from sns_message where insert < LOCALTIMESTAMP + '1 days'
SELECT insert,status from sns_message where insert < current_timestamp + '1 days'
等やってみたけれど、今日のレコードじゃなくてもSELECTできちゃうんですが…。
日付の大小見るときに不等号記号は有効ですよね?
insert | status
----------------------------+--------
2006-10-25 22:02:56.825435 | 2
2006-11-03 01:09:08.135099 | 1
なtableで
insertが当日のものだけとりたくて
SELECT insert,status from sns_message where insert < LOCALTIMESTAMP + '1 days'
SELECT insert,status from sns_message where insert < current_timestamp + '1 days'
等やってみたけれど、今日のレコードじゃなくてもSELECTできちゃうんですが…。
日付の大小見るときに不等号記号は有効ですよね?
545nobodyさん
2006/11/03(金) 19:25:10ID:??? >>544
WHERE句で
TO_CHAR(insert,'yyyy/mm/dd') = TO_CHAR(current_timestamp,'yyyy/mm/dd')
すれば今日のデータだけ取れるだろ。
WHERE句で
TO_CHAR(insert,'yyyy/mm/dd') = TO_CHAR(current_timestamp,'yyyy/mm/dd')
すれば今日のデータだけ取れるだろ。
546544
2006/11/03(金) 23:36:51ID:???547nobodyさん
2006/11/04(土) 00:00:46ID:??? SELECT insert,status from sns_message where insert < current_timestamp + '1 day'
とか
SELECT insert,status from sns_message where insert < (select current_timestamp + '1 day')
とかは試してみた?
とか
SELECT insert,status from sns_message where insert < (select current_timestamp + '1 day')
とかは試してみた?
548544
2006/11/04(土) 00:25:07ID:??? >>547
試しましたが何日前のレコードでもSELECTされてしまいました。
SQLは日付なんかも結構柔軟に扱えそうなんですがスキル不足で…。
とりあえずはこのまま全件とってきてスクリプト側(PHP使ってます)で判定するようにしてみます
ありがとうございました
試しましたが何日前のレコードでもSELECTされてしまいました。
SQLは日付なんかも結構柔軟に扱えそうなんですがスキル不足で…。
とりあえずはこのまま全件とってきてスクリプト側(PHP使ってます)で判定するようにしてみます
ありがとうございました
549nobodyさん
2006/11/04(土) 00:39:28ID:??? つーか、列名に insert はないだろ。
結局「今日」のデータがとりたいのか「X日以上経った」データをとりたいのかも分からん。
結局「今日」のデータがとりたいのか「X日以上経った」データをとりたいのかも分からん。
550544
2006/11/04(土) 00:50:26ID:??? >>549
最初、予約語だからダメだろうと思ったんですが試しにCREATE TABLEで使ってみたら通ったのでそのままでした。
最終的にとりたいのは「X日以上経った」データですが、いきなりだと難しいそうなので
「今日中に」INSERTされたデータをSELECTしようとしてみたりしました。
最初、予約語だからダメだろうと思ったんですが試しにCREATE TABLEで使ってみたら通ったのでそのままでした。
最終的にとりたいのは「X日以上経った」データですが、いきなりだと難しいそうなので
「今日中に」INSERTされたデータをSELECTしようとしてみたりしました。
551nobodyさん
2006/11/04(土) 00:54:56ID:??? 「テーブル作成 & テストデータ数個 INSERT」の SQL 書いてくれれば
試してみても良いけど
試してみても良いけど
552544
2006/11/04(土) 01:30:06ID:??? >>551
ありがとうございます、こんな感じです
--------------------
CREATE TABLE sns_message (
message_id int,
m_to int,
m_from int,
insert timestamp,
status smallint
)
INSERT INTO sns_message VALUES (1,111,555,'2006-11-4',1);
INSERT INTO sns_message VALUES (1,111,555,'2006-11-3',1);
INSERT INTO sns_message VALUES (2,111,444,'2006-09-11',1);
INSERT INTO sns_message VALUES (3,111,333,'2006-10-11',1);
---------------------
これで作成、やりたい事は
「insertされて3日たったてるレコードはstatusを9に」することです
Cronで一日一回実行するPHPで使う予定ですが"insertされて3日たったてるレコード"のSQLで詰まってます。
ありがとうございます、こんな感じです
--------------------
CREATE TABLE sns_message (
message_id int,
m_to int,
m_from int,
insert timestamp,
status smallint
)
INSERT INTO sns_message VALUES (1,111,555,'2006-11-4',1);
INSERT INTO sns_message VALUES (1,111,555,'2006-11-3',1);
INSERT INTO sns_message VALUES (2,111,444,'2006-09-11',1);
INSERT INTO sns_message VALUES (3,111,333,'2006-10-11',1);
---------------------
これで作成、やりたい事は
「insertされて3日たったてるレコードはstatusを9に」することです
Cronで一日一回実行するPHPで使う予定ですが"insertされて3日たったてるレコード"のSQLで詰まってます。
553544
2006/11/04(土) 01:32:15ID:??? >>552
あうあー、2個目のINSERT文、IDが被っちまいました…
正しくは
----------
INSERT INTO sns_message VALUES (1,111,555,'2006-11-4',1);
INSERT INTO sns_message VALUES (2,111,555,'2006-11-3',1);
INSERT INTO sns_message VALUES (3,111,444,'2006-09-11',1);
INSERT INTO sns_message VALUES (4,111,333,'2006-10-11',1);
---------------------
です。
あうあー、2個目のINSERT文、IDが被っちまいました…
正しくは
----------
INSERT INTO sns_message VALUES (1,111,555,'2006-11-4',1);
INSERT INTO sns_message VALUES (2,111,555,'2006-11-3',1);
INSERT INTO sns_message VALUES (3,111,444,'2006-09-11',1);
INSERT INTO sns_message VALUES (4,111,333,'2006-10-11',1);
---------------------
です。
554nobodyさん
2006/11/04(土) 01:45:34ID:??? >>552
「3日たったてる」の箇所が曖昧だが、さっき(11/04)試したら
test=# select * from sns_message;
message_id | m_to | m_from | insert | status
------------+------+--------+---------------------+--------
1 | 111 | 555 | 2006-11-04 00:00:00 | 1
2 | 111 | 555 | 2006-11-03 00:00:00 | 1
3 | 111 | 444 | 2006-09-11 00:00:00 | 1
4 | 111 | 333 | 2006-11-07 00:00:00 | 1
5 | 111 | 333 | 2006-11-08 00:00:00 | 1
(5 rows)
test=# select * from sns_message where insert > current_timestamp + '3 day';
message_id | m_to | m_from | insert | status
------------+------+--------+---------------------+--------
5 | 111 | 333 | 2006-11-08 00:00:00 | 1
(1 row)
となっていますが、何か問題あり?
「3日たったてる」の箇所が曖昧だが、さっき(11/04)試したら
test=# select * from sns_message;
message_id | m_to | m_from | insert | status
------------+------+--------+---------------------+--------
1 | 111 | 555 | 2006-11-04 00:00:00 | 1
2 | 111 | 555 | 2006-11-03 00:00:00 | 1
3 | 111 | 444 | 2006-09-11 00:00:00 | 1
4 | 111 | 333 | 2006-11-07 00:00:00 | 1
5 | 111 | 333 | 2006-11-08 00:00:00 | 1
(5 rows)
test=# select * from sns_message where insert > current_timestamp + '3 day';
message_id | m_to | m_from | insert | status
------------+------+--------+---------------------+--------
5 | 111 | 333 | 2006-11-08 00:00:00 | 1
(1 row)
となっていますが、何か問題あり?
555nobodyさん
2006/11/04(土) 01:57:44ID:??? あ、ごめん。「3日たったてる」が曖昧だったのでよく考えていなかった。
test=# select * from sns_message where insert > current_timestamp - '3 day';
ですな。あと、元が current_timestamp になってたから、そのままにしてたけど
何時に実行するか分からないから
test=# select * from sns_message where insert > current_date - '3 day'::interval;
の方が良いと思う。あとは適当に = を付けたり、日数を調整するなりして。
test=# select * from sns_message where insert > current_timestamp - '3 day';
ですな。あと、元が current_timestamp になってたから、そのままにしてたけど
何時に実行するか分からないから
test=# select * from sns_message where insert > current_date - '3 day'::interval;
の方が良いと思う。あとは適当に = を付けたり、日数を調整するなりして。
556544
2006/11/04(土) 02:05:03ID:??? >>555
ありがとうございます
test=# select * from sns_message where insert > current_date - '3 day'::interval;
でいけました!
intervalにキャストしない状態だとcurrent_date +は通るんですがcurrent_date -は通らないんですね。
ERROR: invalid input syntax for type timestamp with time zone: "3 day"
だと怒られました。謎なんで調べてきます
本当にありがとう!
ありがとうございます
test=# select * from sns_message where insert > current_date - '3 day'::interval;
でいけました!
intervalにキャストしない状態だとcurrent_date +は通るんですがcurrent_date -は通らないんですね。
ERROR: invalid input syntax for type timestamp with time zone: "3 day"
だと怒られました。謎なんで調べてきます
本当にありがとう!
557nobodyさん
2006/12/01(金) 21:07:28ID:??? >>503
超遅レスだけど8.1.3に下のページのパッチを改造したものをあててなんとかしたことはある
http://ml.postgresql.jp/pipermail/pgsql-jp/2003-May/013553.html
超遅レスだけど8.1.3に下のページのパッチを改造したものをあててなんとかしたことはある
http://ml.postgresql.jp/pipermail/pgsql-jp/2003-May/013553.html
558nobodyさん
2006/12/03(日) 22:00:50ID:rK5ovALt timestamp 型のデータがあるテーブルで年月のみを取り出したい場合どうすればいいでしょうか。。
例
time
---------------------
2006-12-03 21:25:12
2006-12-02 21:42:28
2006-11-03 21:25:12
2006-11-02 21:42:28
結果
2006-12
2006-11
それとも新たに年月の見入れる列を作った方がいいでしょうか・・・。
よろしくお願い致します。
例
time
---------------------
2006-12-03 21:25:12
2006-12-02 21:42:28
2006-11-03 21:25:12
2006-11-02 21:42:28
結果
2006-12
2006-11
それとも新たに年月の見入れる列を作った方がいいでしょうか・・・。
よろしくお願い致します。
560nobodyさん
2006/12/08(金) 05:21:11ID:??? 8.2のウォームスタンバイって待機系にはリードオンリーでアクセスできる?
MySQLのレプリケーションみたいに
MySQLのレプリケーションみたいに
561nobodyさん
2006/12/10(日) 22:52:41ID:??? apache2.0.x, tomcat5.0.x, j2sdk1.4.02 の環境で、PostgreSQL 8.1.x-8.2.x をJDBC3を介して接続してるんですが
コネクションプールが途切れた直後の数回のみ、以下のようなエラーが出て困ってます。
org.postgresql.util.PSQLException: FATAL: terminating connection due to administrator command
どなたか、回避する策をご存知ないでしょうか?板違いだったらすみません。
コネクションプールが途切れた直後の数回のみ、以下のようなエラーが出て困ってます。
org.postgresql.util.PSQLException: FATAL: terminating connection due to administrator command
どなたか、回避する策をご存知ないでしょうか?板違いだったらすみません。
562nobodyさん
2006/12/13(水) 15:30:30ID:??? oracleからPostgreSQLにデータ移行しようと思って
・perlDBIでOracleに接続、データをselectしCSVファイル出力
・CSVファイルから読み込み、PostgreSQLにperlDBIでInsert
っていうことをしようとしているんだが、
DBD::Pg::st execute failed: ERROR: prepared statement "dbdpg_1" does not exist
ERROR: portal "" does not exist
ERROR: portal "" does not exist
っていうエラーが出てうまくいかない。
文字コードがらみだと思うんだが…。
環境はOracleがWindows、PostgreSQLはCentOS(UTF8)、perlはCentOSの上で動かしています。
いまならinitdbも可能なのでunicodeからEUCに変えることもできる。
元はといえば、
「縺vとか、「M」がperlでSJISからEUC変換すると文字化けするから困っているんだけど。
・perlDBIでOracleに接続、データをselectしCSVファイル出力
・CSVファイルから読み込み、PostgreSQLにperlDBIでInsert
っていうことをしようとしているんだが、
DBD::Pg::st execute failed: ERROR: prepared statement "dbdpg_1" does not exist
ERROR: portal "" does not exist
ERROR: portal "" does not exist
っていうエラーが出てうまくいかない。
文字コードがらみだと思うんだが…。
環境はOracleがWindows、PostgreSQLはCentOS(UTF8)、perlはCentOSの上で動かしています。
いまならinitdbも可能なのでunicodeからEUCに変えることもできる。
元はといえば、
「縺vとか、「M」がperlでSJISからEUC変換すると文字化けするから困っているんだけど。
563562
2006/12/13(水) 18:32:06ID:??? わるぃ、自己解決しちまった。
テーブルがいまいちうまく作成されていなかった。
(列無しテーブルになっていた)
いや、でも、文字コードのあたりは鬼門だねぇ。
テーブルがいまいちうまく作成されていなかった。
(列無しテーブルになっていた)
いや、でも、文字コードのあたりは鬼門だねぇ。
565nobodyさん
2006/12/16(土) 20:21:37ID:qU5F6hFh 質問です。
ODBC接続ができなくて困っています。
odbcドライバーを入れて、サーバーのIP,データーベース名、ユーザー名と
パスワードを入れても、確認テストの段階でエラーが出ます。
(... the target actively refused it)
サーバーのポートは開いているようです。
何か思い当たる理由があったら教えてください。
ODBC接続ができなくて困っています。
odbcドライバーを入れて、サーバーのIP,データーベース名、ユーザー名と
パスワードを入れても、確認テストの段階でエラーが出ます。
(... the target actively refused it)
サーバーのポートは開いているようです。
何か思い当たる理由があったら教えてください。
566nobodyさん
2006/12/22(金) 11:46:09ID:??? 8.2.0や8.1.5をインストールしているにも関わらず、
インストールされたバージョンを確認すると7.3(PG_VERSIONファイルと
psqlの起動画面のバージョン表示より)のようです。
普通に考えて、マシンスペックやOS環境の影響だとは思いますが、
インストール時のログを見てもアナウンスはありませんでした。
原因を確認する方法はありますでしょうか?
ちなみに、OSですがRed Hat Linux release 9 (Shrike)
Kernel 2.4.20-8 on an i686となっています。
そもそもRed hatは現状8.1までのようですが、8.1.5でもダメなので。
ご教授お願いします。
インストールされたバージョンを確認すると7.3(PG_VERSIONファイルと
psqlの起動画面のバージョン表示より)のようです。
普通に考えて、マシンスペックやOS環境の影響だとは思いますが、
インストール時のログを見てもアナウンスはありませんでした。
原因を確認する方法はありますでしょうか?
ちなみに、OSですがRed Hat Linux release 9 (Shrike)
Kernel 2.4.20-8 on an i686となっています。
そもそもRed hatは現状8.1までのようですが、8.1.5でもダメなので。
ご教授お願いします。
567nobodyさん
2006/12/23(土) 15:55:43ID:???568nobodyさん
2006/12/24(日) 01:03:37ID:??? >>567
お世話になります。
ソース提供の物をガイダンス(マニュアル)に従いgmakeしました。
インストールディレクトリはデフォルトで、各環境変数やpathも確認しました。
元々入っている旧の物が動いている可能性があるって事ですね。
もう少し調べてみます(週明けになってしまいますが)。
ありがとうございました。
お世話になります。
ソース提供の物をガイダンス(マニュアル)に従いgmakeしました。
インストールディレクトリはデフォルトで、各環境変数やpathも確認しました。
元々入っている旧の物が動いている可能性があるって事ですね。
もう少し調べてみます(週明けになってしまいますが)。
ありがとうございました。
569568です
2006/12/24(日) 01:07:34ID:??? 追伸
書き込み直後ですが、
PG_VERSIONファイルがあるディレクトリ(と言うよりdataディレクトリ全部)
を前もって消して、インストール後に新たに出来たのを確認して
その中のPG_VERSIONが7.3になるという事を思い出しました。
やはり7.3で作られてしまうとしか思えないです。。。
書き込み直後ですが、
PG_VERSIONファイルがあるディレクトリ(と言うよりdataディレクトリ全部)
を前もって消して、インストール後に新たに出来たのを確認して
その中のPG_VERSIONが7.3になるという事を思い出しました。
やはり7.3で作られてしまうとしか思えないです。。。
571nobodyさん
2007/01/14(日) 18:53:27ID:??? 質問です。
LIKE演算子で全文検索したいのですが、LIKE演算子を全コラムに適用するには
SELECT * FROM テーブル名 WHERE コラム1 LIKE '%キーワード%' OR コラム2 LIKE '%キーワード%' OR コラム3 LIKE '%キーワード%';
みたいに地道に全コラムを書き連ねないといけないのでしょうか?
全コラムをワイルドカードを使って簡単に書く事はできませんか?
よろしくお願いします。
LIKE演算子で全文検索したいのですが、LIKE演算子を全コラムに適用するには
SELECT * FROM テーブル名 WHERE コラム1 LIKE '%キーワード%' OR コラム2 LIKE '%キーワード%' OR コラム3 LIKE '%キーワード%';
みたいに地道に全コラムを書き連ねないといけないのでしょうか?
全コラムをワイルドカードを使って簡単に書く事はできませんか?
よろしくお願いします。
574nobodyさん
2007/01/14(日) 23:50:14ID:??? ポスグレ対応の全文検索アプリ使えばいいんじゃネーノ
575nobodyさん
2007/02/05(月) 09:46:30ID:??? PGPOOLネタだが良い?
PGPOOLでレプリカしてるんですがPgAdminIIIでテーブル作るとOIDが微妙に1〜2ずれたテーブルが作成されてしまいます。
そのたびにDB1−>DB2にrsyncしてとかやっているんですが、根本的な原因がわかればと…。
そういうことってないですか?
PGPOOLでレプリカしてるんですがPgAdminIIIでテーブル作るとOIDが微妙に1〜2ずれたテーブルが作成されてしまいます。
そのたびにDB1−>DB2にrsyncしてとかやっているんですが、根本的な原因がわかればと…。
そういうことってないですか?
577nobodyさん
2007/03/13(火) 19:51:29ID:??? こんばんは、かなり下がってるのでageます。
count(*)でレコード数も5800件くらいなのですが、処理が重いです。
単純にレコードの件数が知りたいだけなのですが…
http://www.postgresql.jp/document/pg746doc/html/functions-aggregate.html
に
【PostgreSQLの集約関数の性能上の特徴に驚くかもしれません。 具体的には
SELECT min(col) FROM sometable;
という問い合わせは、PostgreSQLではテーブル全体に対する逐次スキャンを使用します。】
とありますが、もっと軽い代替え手段などはありますでしょうか?
以下EXPLAIN ANALYZEです
---------------------------------------------------
userA=# EXPLAIN ANALYZE select count(*) from xxxxxxxxxx;
NOTICE: QUERY PLAN:
Aggregate (cost=31500.40..31500.40 rows=1 width=0) (actual time=6452.49..6452.50 rows=1 loops=1)
-> Seq Scan on xxxxxxxxxx (cost=0.00..31485.92 rows=5792 width=0) (actual time=6414.07..6444.49 rows=5792 loops=1)
Total runtime: 6452.58 msec
EXPLAIN
count(*)でレコード数も5800件くらいなのですが、処理が重いです。
単純にレコードの件数が知りたいだけなのですが…
http://www.postgresql.jp/document/pg746doc/html/functions-aggregate.html
に
【PostgreSQLの集約関数の性能上の特徴に驚くかもしれません。 具体的には
SELECT min(col) FROM sometable;
という問い合わせは、PostgreSQLではテーブル全体に対する逐次スキャンを使用します。】
とありますが、もっと軽い代替え手段などはありますでしょうか?
以下EXPLAIN ANALYZEです
---------------------------------------------------
userA=# EXPLAIN ANALYZE select count(*) from xxxxxxxxxx;
NOTICE: QUERY PLAN:
Aggregate (cost=31500.40..31500.40 rows=1 width=0) (actual time=6452.49..6452.50 rows=1 loops=1)
-> Seq Scan on xxxxxxxxxx (cost=0.00..31485.92 rows=5792 width=0) (actual time=6414.07..6444.49 rows=5792 loops=1)
Total runtime: 6452.58 msec
EXPLAIN
578nobodyさん
2007/03/13(火) 20:40:25ID:???579nobodyさん
2007/03/13(火) 21:47:22ID:???580577
2007/03/14(水) 10:42:41ID:??? レスありがとうございます
>>578
何故か余計にコストが上がりました
EXPLAIN ANALYZE select count(id) from xxxxxxxxxx;
Aggregate (cost=31500.40..31500.40 rows=1 width=4) (actual time=10446.63..10446.63 rows=1 loops=1)
-> Seq Scan on xxxxxxxxxx (cost=0.00..31485.92 rows=5792 width=4) (actual time=10409.76..10439.48 rows=5792 loops=1)
Total runtime: 10446.90 msec
(カラムidは明示的にPKEY指定はしていませんがindexは貼ってあります。)
-----------------------------------
変化なし、なら納得ですがコスト高になるのは不思議です…
>>579
VACUUM FULL;後↓
EXPLAIN ANALYZE select count(*) from xxxxxxxxxx;
Aggregate (cost=211.40..211.40 rows=1 width=0) (actual time=67.11..67.11 rows=1 loops=1)
-> Seq Scan on xxxxxxxxxx (cost=0.00..196.92 rows=5792 width=0) (actual time=16.11..61.43 rows=5792 loops=1)
Total runtime: 67.20 msec
EXPLAIN ANALYZE select count(id) from xxxxxxxxxx;
Aggregate (cost=211.40..211.40 rows=1 width=4) (actual time=21.54..21.54 rows=1 loops=1)
-> Seq Scan on xxxxxxxxxx (cost=0.00..196.92 rows=5792 width=4) (actual time=0.05..15.98 rows=5792 loops=1)
Total runtime: 21.65 msec
-----------------------------------
劇的に変わりました。
1週間に一度ほどの間隔で、レコードが全てが入れ替わるので
CronでVACUUMを走らせていましたがVACUUM FULLすると
見違える程高速になりました。
SQL文のテクニックも必要ですがDB自体のメンテも大事、という事でしょうか。
>>578
何故か余計にコストが上がりました
EXPLAIN ANALYZE select count(id) from xxxxxxxxxx;
Aggregate (cost=31500.40..31500.40 rows=1 width=4) (actual time=10446.63..10446.63 rows=1 loops=1)
-> Seq Scan on xxxxxxxxxx (cost=0.00..31485.92 rows=5792 width=4) (actual time=10409.76..10439.48 rows=5792 loops=1)
Total runtime: 10446.90 msec
(カラムidは明示的にPKEY指定はしていませんがindexは貼ってあります。)
-----------------------------------
変化なし、なら納得ですがコスト高になるのは不思議です…
>>579
VACUUM FULL;後↓
EXPLAIN ANALYZE select count(*) from xxxxxxxxxx;
Aggregate (cost=211.40..211.40 rows=1 width=0) (actual time=67.11..67.11 rows=1 loops=1)
-> Seq Scan on xxxxxxxxxx (cost=0.00..196.92 rows=5792 width=0) (actual time=16.11..61.43 rows=5792 loops=1)
Total runtime: 67.20 msec
EXPLAIN ANALYZE select count(id) from xxxxxxxxxx;
Aggregate (cost=211.40..211.40 rows=1 width=4) (actual time=21.54..21.54 rows=1 loops=1)
-> Seq Scan on xxxxxxxxxx (cost=0.00..196.92 rows=5792 width=4) (actual time=0.05..15.98 rows=5792 loops=1)
Total runtime: 21.65 msec
-----------------------------------
劇的に変わりました。
1週間に一度ほどの間隔で、レコードが全てが入れ替わるので
CronでVACUUMを走らせていましたがVACUUM FULLすると
見違える程高速になりました。
SQL文のテクニックも必要ですがDB自体のメンテも大事、という事でしょうか。
581nobodyさん
2007/03/14(水) 11:44:38ID:??? >>580
コスト増になるのは単にCBOがタコなだけだろうな。
> 1週間に一度ほどの間隔で、レコードが全てが入れ替わる
じゃ、きちんとメンテしないとだめだろうなぁ。
無駄なブロックまで走査しちゃうから。
コスト増になるのは単にCBOがタコなだけだろうな。
> 1週間に一度ほどの間隔で、レコードが全てが入れ替わる
じゃ、きちんとメンテしないとだめだろうなぁ。
無駄なブロックまで走査しちゃうから。
582nobodyさん
2007/03/14(水) 12:48:12ID:??? count(*)は単純に行数が変えるが、
count(id)はidがNULLだったらカウントしないからね。
比較する分コスト増になっているのかも。
count(id)はidがNULLだったらカウントしないからね。
比較する分コスト増になっているのかも。
583nobodyさん
2007/03/14(水) 12:49:10ID:??? ×行数が変える
○行数が返る
orz
○行数が返る
orz
584nobodyさん
2007/03/14(水) 12:54:16ID:??? って、よく見りゃ算出コストは変わってないやん。
ANALYZEで実行時間が変わるのはキャッシュが
からんでんではねぇか。
ANALYZEで実行時間が変わるのはキャッシュが
からんでんではねぇか。
585577
2007/03/14(水) 14:33:11ID:??? >>584
>キャッシュが からんでんではねぇか。
やはりpsqlから実行する時でもキャッシュは関係するんですかね?
一般に公開しているページでリクエストがある都度count(*)すると重そうなので
データを上げた際にcount(*)をしてテキストファイルにでも
総件数を出力しておいた方がいいかな、と思っております
>キャッシュが からんでんではねぇか。
やはりpsqlから実行する時でもキャッシュは関係するんですかね?
一般に公開しているページでリクエストがある都度count(*)すると重そうなので
データを上げた際にcount(*)をしてテキストファイルにでも
総件数を出力しておいた方がいいかな、と思っております
586nobodyさん
2007/03/16(金) 22:21:41ID:F/7LbTL8 質問させてください。
7.4.16へ、7.3.15のDBを移行しようとしています。
DBの文字コードはEUC-JPで、携帯電話などの尋常じゃないコードの文字が多く含まれて居ます。
EUCのチェックが古いバージョンに比べ厳しくなったとのことで、流し込んでも
すぐエラーで止まってしまいます。
レコード数がとても多く、手動での修正は厳しいのですが
文字コードのチェックを甘くするオプションなどは無いでしょうか?
どうぞ宜しくお願いします。
7.4.16へ、7.3.15のDBを移行しようとしています。
DBの文字コードはEUC-JPで、携帯電話などの尋常じゃないコードの文字が多く含まれて居ます。
EUCのチェックが古いバージョンに比べ厳しくなったとのことで、流し込んでも
すぐエラーで止まってしまいます。
レコード数がとても多く、手動での修正は厳しいのですが
文字コードのチェックを甘くするオプションなどは無いでしょうか?
どうぞ宜しくお願いします。
587nobodyさん
2007/04/01(日) 22:55:03ID:ywkCVNqC ずっと悩んでいます。どうかお教えください。
WEBサーバを構築中なのですが、
クライアントからmycrosoftのweb application stressで
HTTP80への負荷テストを行ったところ、
初期状態と設定変更後のレスポンスがほとんど変わりません。
現在、このような設定にしています。
-- 関連すると思われる変更点を抜粋 --
◎postgresql.conf
shared_buffers = 64000(512MB)
wal_buffers = 32
checkpoint_segments = 16
effective_cache_size = 32000
max_connection = 128
work_mem = 4096
temp_buffers = 16000
◎sysctl.conf
kernel.shmall = 2097152 <-- 基準値
kernel.shmmax = 1073741824(1GB)
◎httpd.conf
StartServers 8 <-- 基準値
MinSpareServers 5 <-- 基準値
MaxSpareServers 30
MaxRequestsPerChild 4000 <-- 基準値
MaxClients 256(pre),150(worker) <-- 基準値
KeepAliveTimeout = 10
↓続きます。
WEBサーバを構築中なのですが、
クライアントからmycrosoftのweb application stressで
HTTP80への負荷テストを行ったところ、
初期状態と設定変更後のレスポンスがほとんど変わりません。
現在、このような設定にしています。
-- 関連すると思われる変更点を抜粋 --
◎postgresql.conf
shared_buffers = 64000(512MB)
wal_buffers = 32
checkpoint_segments = 16
effective_cache_size = 32000
max_connection = 128
work_mem = 4096
temp_buffers = 16000
◎sysctl.conf
kernel.shmall = 2097152 <-- 基準値
kernel.shmmax = 1073741824(1GB)
◎httpd.conf
StartServers 8 <-- 基準値
MinSpareServers 5 <-- 基準値
MaxSpareServers 30
MaxRequestsPerChild 4000 <-- 基準値
MaxClients 256(pre),150(worker) <-- 基準値
KeepAliveTimeout = 10
↓続きます。
588nobodyさん
2007/04/01(日) 22:56:45ID:ywkCVNqC 上の続きです。
【環境】
サーバ:Vine4.1、Postgresql8.1.5、PHP5.2.1、Pen4 3Gh、メモリdual2G、HDD 100G
クライアント:Pen4 1.8Gh、メモリ1G、ルータ:BBR-4HG
【テスト結果】(内容:1テーブル30カラム程度反映のupdate処理1回)
初期(同時接続数:Requests per Second)
5 : 16.90
10: 17.15
20: 18.11
30: 18.25
設定後(〃)
5 : 17.75
10: 17.35
20: 17.45
30: 17.05
【ab -n 1000 -c 25 http://〜の結果(サーバ内)】
初期状態(Requests per second:25.90)
設定後(Requests per second:35.81)
また、ipcs -l -m を実行したときのshared memoryが0になっているのも
なにか影響しているのかと思っていますが、よくわかっていません。
どなたかおかしな点など気づかれたら、なんでも構いませんので、
どうかご教示宜しくお願い致します。
【環境】
サーバ:Vine4.1、Postgresql8.1.5、PHP5.2.1、Pen4 3Gh、メモリdual2G、HDD 100G
クライアント:Pen4 1.8Gh、メモリ1G、ルータ:BBR-4HG
【テスト結果】(内容:1テーブル30カラム程度反映のupdate処理1回)
初期(同時接続数:Requests per Second)
5 : 16.90
10: 17.15
20: 18.11
30: 18.25
設定後(〃)
5 : 17.75
10: 17.35
20: 17.45
30: 17.05
【ab -n 1000 -c 25 http://〜の結果(サーバ内)】
初期状態(Requests per second:25.90)
設定後(Requests per second:35.81)
また、ipcs -l -m を実行したときのshared memoryが0になっているのも
なにか影響しているのかと思っていますが、よくわかっていません。
どなたかおかしな点など気づかれたら、なんでも構いませんので、
どうかご教示宜しくお願い致します。
589nobodyさん
2007/04/03(火) 23:42:49ID:??? 質問です。
PostgreSQL 8.1でマニュアル参考に、AutoVacuumを設定したつもりなのですが
動作しているかどうかが確認できません。
何を見れば分かるんでしょうかね?
あと、pgpoolで複製かけた状態で、AutoVacuumしても問題ないのかしら?
PostgreSQL 8.1でマニュアル参考に、AutoVacuumを設定したつもりなのですが
動作しているかどうかが確認できません。
何を見れば分かるんでしょうかね?
あと、pgpoolで複製かけた状態で、AutoVacuumしても問題ないのかしら?
590nobodyさん
2007/04/13(金) 10:28:00ID:qKjbWP1o Linuxのコマンドラインで、
cat /usr/tmp/w1.csv
とするとちゃんとファイルが見れるんですが,postgresのテーブルに
copy table1 from '/usr/tmp/w1.csv' delimiters ','
として取り込もうとすると、
ERROR: could not open file "/usr/tmp/w1.csv" for reading: そのようなファイルやディレクトリはありません
と出てしまいます。。所有者をpostgresにしてみたり、パーミッションも777にしてみたり
色々やってみたのですが、よくわかりませんでした。
Linuxでのファイル名はどういう風に指定すれば良いのでしょうか。
Windowsでは、普通に'c:/hoge/hoge.csv'で出来たんですが。
よろしくお願いいたします。
cat /usr/tmp/w1.csv
とするとちゃんとファイルが見れるんですが,postgresのテーブルに
copy table1 from '/usr/tmp/w1.csv' delimiters ','
として取り込もうとすると、
ERROR: could not open file "/usr/tmp/w1.csv" for reading: そのようなファイルやディレクトリはありません
と出てしまいます。。所有者をpostgresにしてみたり、パーミッションも777にしてみたり
色々やってみたのですが、よくわかりませんでした。
Linuxでのファイル名はどういう風に指定すれば良いのでしょうか。
Windowsでは、普通に'c:/hoge/hoge.csv'で出来たんですが。
よろしくお願いいたします。
591590
2007/04/13(金) 10:38:13ID:qKjbWP1o あ、見落としてました。Postgresは、実際には別サーバー経由だったかも。。
すみませんでした。
すみませんでした。
592nobodyさん
2007/05/07(月) 17:13:46ID:i8IH1bx5 質問です。
crypt()で暗号化した文字列を複合化することってできないんでしょうか?
crypt()で暗号化した文字列を複合化することってできないんでしょうか?
594nobodyさん
2007/05/24(木) 21:16:34ID:c925mgeL postgresql-8.XでWindows用のlibpq.dllを作成しました。
SSLで接続しようと sslmode=require とパラメータに指定しても、エラーになります。
sslmode value "require" invalid when SSL support is not compiled in
postgresql-8.Xをコンパイルするときにopensslなどをリンクしなければならないのでしょうか?
SSLで接続しようと sslmode=require とパラメータに指定しても、エラーになります。
sslmode value "require" invalid when SSL support is not compiled in
postgresql-8.Xをコンパイルするときにopensslなどをリンクしなければならないのでしょうか?
596nobodyさん
2007/05/27(日) 01:24:36ID:xID/GaI9 どこに書こうか迷いましたがここで質問しちゃいます。
くだらないことなのですが
皆さん都道府県を入れるカラムって何という名前にしてます?
todouhuken
to_dou_hu_ken
とか気持ち悪い感じするし
ヤフー辞書で英語調べたら
(the administrative divisions of Japan:) the prefectures plus Tokyo, Hokkaido, Osaka, and Kyoto
Prefectureが県という意味らしいのでそれにしようかと思ったけど、あんまり馴染みがない英語だから
他の人が見たとき解りづらい気もしないでもない。
他に思いついたのは
state
っていうのもどうかと思うし。
皆さんどんな感じにしてますか?
くだらないことなのですが
皆さん都道府県を入れるカラムって何という名前にしてます?
todouhuken
to_dou_hu_ken
とか気持ち悪い感じするし
ヤフー辞書で英語調べたら
(the administrative divisions of Japan:) the prefectures plus Tokyo, Hokkaido, Osaka, and Kyoto
Prefectureが県という意味らしいのでそれにしようかと思ったけど、あんまり馴染みがない英語だから
他の人が見たとき解りづらい気もしないでもない。
他に思いついたのは
state
っていうのもどうかと思うし。
皆さんどんな感じにしてますか?
598nobodyさん
2007/05/27(日) 17:38:47ID:??? prefectureとかprefとか、stateは意味違う
599nobodyさん
2007/05/29(火) 07:59:24ID:7xq0Zk/P600nobodyさん
2007/05/29(火) 20:02:58ID:DKx8qJwX postgreで日本語(ひらがな)をソートするのに
--no-locale
をつけてinitdbするのはわかったのですが、
それでも濁点のついた文字のときおかしな挙動をするのですが
回避する方法はないのでしょうか?
たとえば
かかあ
かかい
かかう
はちゃんと並ぶのですが
かかい
かかう
がかあ
と並んでしまいます。濁点は濁点のない文字の後に並ぶみたいです。
どうすればちゃんとソートできるようになるのでしょうか?
お願いいたします
文字コードはUTF-8でバージョンは8.1.8です。
--no-locale
をつけてinitdbするのはわかったのですが、
それでも濁点のついた文字のときおかしな挙動をするのですが
回避する方法はないのでしょうか?
たとえば
かかあ
かかい
かかう
はちゃんと並ぶのですが
かかい
かかう
がかあ
と並んでしまいます。濁点は濁点のない文字の後に並ぶみたいです。
どうすればちゃんとソートできるようになるのでしょうか?
お願いいたします
文字コードはUTF-8でバージョンは8.1.8です。
604nobodyさん
2007/05/30(水) 10:41:44ID:8UkqO0LS606nobodyさん
2007/05/30(水) 12:15:16ID:???607604
2007/05/30(水) 22:24:52ID:amo3UjDj608nobodyさん
2007/05/31(木) 00:44:23ID:??? なんか頭の固い御仁だな
今後苦労しそうだ
今後苦労しそうだ
609nobodyさん
2007/05/31(木) 09:09:45ID:??? > 現実にはちがわない?
そのあたりは揺らぎがあるからなぁ。
↓の例のどちらが正しいかは、厳密に規定されていないはず。
例:
濁音・半濁音は清音と同一視し、同一視した際に同じ語になる場合は、清音→濁音→半濁音の順とする。
濁音・半濁音は、清音と別の文字として扱う。順序は、清音→濁音→半濁音の順とする。
そのあたりは揺らぎがあるからなぁ。
↓の例のどちらが正しいかは、厳密に規定されていないはず。
例:
濁音・半濁音は清音と同一視し、同一視した際に同じ語になる場合は、清音→濁音→半濁音の順とする。
濁音・半濁音は、清音と別の文字として扱う。順序は、清音→濁音→半濁音の順とする。
610nobodyさん
2007/05/31(木) 18:47:08ID:??? バージョン 7.4.13です
下記のようなテーブルがあり、name1に姓、name2に名が入っているのですが
htmlのテキストフォームから名前を入力してもらい、その値を元に問い合わせをするのに
「カラムの結合」というのは可能でしょうか?
Column |Type
----------------
name1 |text ←"姓"
name2 |text ←"名"
できるとしたらこんな形になると思うのですが…
SELECT * from テーブル where name1 結合演算子 name2 = '入力された値';
または何か代替え手段を教えて頂けるとありがたいです。
下記のようなテーブルがあり、name1に姓、name2に名が入っているのですが
htmlのテキストフォームから名前を入力してもらい、その値を元に問い合わせをするのに
「カラムの結合」というのは可能でしょうか?
Column |Type
----------------
name1 |text ←"姓"
name2 |text ←"名"
できるとしたらこんな形になると思うのですが…
SELECT * from テーブル where name1 結合演算子 name2 = '入力された値';
または何か代替え手段を教えて頂けるとありがたいです。
612nobodyさん
2007/06/04(月) 11:19:09ID:???613nobodyさん
2007/06/04(月) 11:22:27ID:??? つーか、何日も間が開いてるんだな。
まあ↓ものんびりしてるけど、よかったらこっちへ。
【Windows】 PostgreSQL8 Part.1 【対応】
http://pc11.2ch.net/test/read.cgi/db/1102247223/
まあ↓ものんびりしてるけど、よかったらこっちへ。
【Windows】 PostgreSQL8 Part.1 【対応】
http://pc11.2ch.net/test/read.cgi/db/1102247223/
615nobodyさん
2007/06/05(火) 21:44:04ID:2VYXdggd データの追加が出来ません。
OSはCentOS4.5です。
test=> insert into test values(1,'あいうえお');
ERROR: invalid byte sequence for encoding "EUC_JP": 0x94b0
となってしまいます。解決策をどうか教えて下さい。
OSはCentOS4.5です。
test=> insert into test values(1,'あいうえお');
ERROR: invalid byte sequence for encoding "EUC_JP": 0x94b0
となってしまいます。解決策をどうか教えて下さい。
616nobodyさん
2007/06/06(水) 18:11:32ID:??? それだけじゃわからん。0x94b0の出所が不明だな。
とりあえず、ターミナルの文字コードはどーなってんの。
SET client_encording TO SJIS; とか試してみて。
とりあえず、ターミナルの文字コードはどーなってんの。
SET client_encording TO SJIS; とか試してみて。
617nobodyさん
2007/06/12(火) 21:15:35ID:8ZZji6XO >>501 と同じ症状になっちまった…。
Warning: PostgreSQL query failed: FATAL 2:
open of /var/lib/pgsql/data/pg_clog/0746 failed:
そのようなファイルやディレクトリはありません
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request. in
バージョンまで同じ7.3.2
っていうか>>501さんは復帰できたの?
ググった所postmaster止めてpg_resetxlog汁ってMLにあったけど
http://ml.postgresql.jp/pipermail/pgsql-jp/2004-December/018144.html
原因って何なんですかね?
Warning: PostgreSQL query failed: FATAL 2:
open of /var/lib/pgsql/data/pg_clog/0746 failed:
そのようなファイルやディレクトリはありません
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request. in
バージョンまで同じ7.3.2
っていうか>>501さんは復帰できたの?
ググった所postmaster止めてpg_resetxlog汁ってMLにあったけど
http://ml.postgresql.jp/pipermail/pgsql-jp/2004-December/018144.html
原因って何なんですかね?
618617
2007/06/13(水) 00:22:06ID:??? >>617 に追記
vacuumdbしてみたけど似た様なエラー
FATAL 2: open of /var/lib/pgsql/data/pg_clog/0746 failed: そのようなファイルやディレクトリはありません
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
connection to server was lost
ついでにpsqlからSELECT、UPDATE、INSERTしてみたら通った…。なんで?
PHPからpc_execしてるからそっちの問題なんだろか?
とりあえずダンプとってDB消して作り直してきます
vacuumdbしてみたけど似た様なエラー
FATAL 2: open of /var/lib/pgsql/data/pg_clog/0746 failed: そのようなファイルやディレクトリはありません
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
connection to server was lost
ついでにpsqlからSELECT、UPDATE、INSERTしてみたら通った…。なんで?
PHPからpc_execしてるからそっちの問題なんだろか?
とりあえずダンプとってDB消して作り直してきます
619617
2007/06/13(水) 02:50:47ID:??? さらに追記
pg_dumpは不可、エラーは同じ様なもの
ただし、エラー文中に既存のテーブル名が出て来たので壊れた?テーブルの見当がついた
そのテーブルに絞ってpg_dump -t をするとやはり失敗、
それ以外のtableに対して-t付きで実行したら成功した。
相変わらずSELECTは可能はだったので該当tableから
全文SELECT→PHPで整形(shellを扱えないと不便…。sedとか?)
→同一構成のダミーtableにリストアできるかテスト→該当tableをdrop→リストア
で復活できた…。
ただし何で壊れた、かの原因がまったく不明…。
MLでも原因までは書いてなさそう。
スレ汚ごめん
pg_dumpは不可、エラーは同じ様なもの
ただし、エラー文中に既存のテーブル名が出て来たので壊れた?テーブルの見当がついた
そのテーブルに絞ってpg_dump -t をするとやはり失敗、
それ以外のtableに対して-t付きで実行したら成功した。
相変わらずSELECTは可能はだったので該当tableから
全文SELECT→PHPで整形(shellを扱えないと不便…。sedとか?)
→同一構成のダミーtableにリストアできるかテスト→該当tableをdrop→リストア
で復活できた…。
ただし何で壊れた、かの原因がまったく不明…。
MLでも原因までは書いてなさそう。
スレ汚ごめん
620nobodyさん
2007/06/17(日) 00:27:42ID:Yzi7QEQY 頭を悩ましているのでお願いします。
営業時間を入力しておいて、今営業中か検索できるようにしたいのですが、
open_timeとclose_timeという型がTIMEのカラムを作って、検索したときの時間が
その間にあるか、例えば
SELECT open_time < localtime AND localtime < close_time
で検索できそうだと思っていたのですが
よく考えたら、深夜24:00以降やってるお店が、うまく扱えないじゃないですか。
で、TIMEをやめてFLOATにして、保存するときに、例えば
10:30〜3:00 → 10.5〜27
にして、大小で検索も考えたのですが
検索するときに現在の時間が例えば5時なら、どう検索すればよいのか・・・
この方法もなんかうまくいかなそうです。
また24時間営業の店はどのように扱うのかとか・・・
このようなシステムを作ったことある方いらっしゃいましたら、どのように実装したか教えて頂けませんでしょうか?
営業時間を入力しておいて、今営業中か検索できるようにしたいのですが、
open_timeとclose_timeという型がTIMEのカラムを作って、検索したときの時間が
その間にあるか、例えば
SELECT open_time < localtime AND localtime < close_time
で検索できそうだと思っていたのですが
よく考えたら、深夜24:00以降やってるお店が、うまく扱えないじゃないですか。
で、TIMEをやめてFLOATにして、保存するときに、例えば
10:30〜3:00 → 10.5〜27
にして、大小で検索も考えたのですが
検索するときに現在の時間が例えば5時なら、どう検索すればよいのか・・・
この方法もなんかうまくいかなそうです。
また24時間営業の店はどのように扱うのかとか・・・
このようなシステムを作ったことある方いらっしゃいましたら、どのように実装したか教えて頂けませんでしょうか?
621nobodyさん
2007/06/17(日) 00:58:26ID:??? >>620
開店時間(open_time::time)と営業時間(sales_hours::interval)で
WHERE (localtime - open_time) < sales_hours
でどうかな。開店後何時間経ってるかで比較する。
開店時間(open_time::time)と営業時間(sales_hours::interval)で
WHERE (localtime - open_time) < sales_hours
でどうかな。開店後何時間経ってるかで比較する。
622620
2007/06/18(月) 01:48:25ID:3Ht3k2HG >>621
レスありがとうございます。
それだと、0:00を過ぎたときマイナスの値が帰ってきてしまうので
WHEREがtrueになってしまうと思うのですが。
timeだと日にちが変わったことが解らないからなのかな?
例えば、CRONを毎日0:00に起動して、営業時間を入れたカラムを見に行って
数日分(あんまりじっくり考えてないけど、その日と翌日分で良いのかな?)
の日付入りのテーブルを自動生成して、そこに検索かけるとか・・・
今が営業しているか、って意外と大変ですね。
開店時間が何時より早いお店とか、閉店時間が何時より遅いお店なら簡単に実装できそう。
それでいいかな・・・
なんか簡単な方法あったら引き続き情報お願いします。
レスありがとうございます。
それだと、0:00を過ぎたときマイナスの値が帰ってきてしまうので
WHEREがtrueになってしまうと思うのですが。
timeだと日にちが変わったことが解らないからなのかな?
例えば、CRONを毎日0:00に起動して、営業時間を入れたカラムを見に行って
数日分(あんまりじっくり考えてないけど、その日と翌日分で良いのかな?)
の日付入りのテーブルを自動生成して、そこに検索かけるとか・・・
今が営業しているか、って意外と大変ですね。
開店時間が何時より早いお店とか、閉店時間が何時より遅いお店なら簡単に実装できそう。
それでいいかな・・・
なんか簡単な方法あったら引き続き情報お願いします。
623nobodyさん
2007/06/18(月) 03:02:36ID:??? >>622
ああスマン、open_timeをinterval型にキャストするの抜けてた。
WHERE ( localtime - open_time::interval ) < sales_hours;
開店時刻をinterval型に変換するのは反則のような気もするが、
これで、開店後の経過時間が出ます。(負の値にはなりません)
ああスマン、open_timeをinterval型にキャストするの抜けてた。
WHERE ( localtime - open_time::interval ) < sales_hours;
開店時刻をinterval型に変換するのは反則のような気もするが、
これで、開店後の経過時間が出ます。(負の値にはなりません)
624nobodyさん
2007/06/18(月) 03:50:30ID:??? 店舗ID,開店時間,閉店時間
1, 07:00, 23:59
1, 00:00, 03:00
(朝7時から翌朝3時までの店の場合)
みたいに一つの店舗でも営業時間を二行にわけてやればいいじゃね?
1, 07:00, 23:59
1, 00:00, 03:00
(朝7時から翌朝3時までの店の場合)
みたいに一つの店舗でも営業時間を二行にわけてやればいいじゃね?
625622
2007/06/19(火) 08:04:50ID:???626nobodyさん
2007/06/19(火) 11:33:30ID:??? 正規化するといいよ
24時以降は24足すのさ
そして範囲チェックは BETWEEN でやると見やすい
24時以降は24足すのさ
そして範囲チェックは BETWEEN でやると見やすい
627nobodyさん
2007/06/19(火) 18:36:18ID:??? でたな正規化厨!
628nobodyさん
2007/06/19(火) 19:02:58ID:??? テーブルの正規化と意味が違うのに脊髄反射するやつw
629nobodyさん
2007/06/20(水) 02:18:52ID:??? でたな性器化中!
630nobodyさん
2007/06/23(土) 18:35:19ID:T/euHpQb 不可解なことでなやんどります。
複数のデータベースを作成していて、一方でVACUUMを実行したのですが、
どういうわけか、VACUUMをかけたほうだけではなく、かけてないほうで著しくパフォーマスが劣化します。
データベースA <= VACUUM実行
データベースB <= 運用中
で、遅くなっている様子が、IO負荷ではなくCPUをいつも以上に使用しているように見えます。
VACUUMの実行を中断すると通常の状態に戻るので、VACUUMと何らかの関連があると
思うのですが、VACUUMの実行によってVACUUMしていないデータベースの実行プランが
影響受けるなんてことあるんでしょうか?
誰かヒントくださいまし...
ちなみに8.1.5でございます。
複数のデータベースを作成していて、一方でVACUUMを実行したのですが、
どういうわけか、VACUUMをかけたほうだけではなく、かけてないほうで著しくパフォーマスが劣化します。
データベースA <= VACUUM実行
データベースB <= 運用中
で、遅くなっている様子が、IO負荷ではなくCPUをいつも以上に使用しているように見えます。
VACUUMの実行を中断すると通常の状態に戻るので、VACUUMと何らかの関連があると
思うのですが、VACUUMの実行によってVACUUMしていないデータベースの実行プランが
影響受けるなんてことあるんでしょうか?
誰かヒントくださいまし...
ちなみに8.1.5でございます。
631nobodyさん
2007/06/25(月) 18:32:04ID:??? 同じサーバで同じpostmasterでDBが違うだけなの?
だったら片方で負荷がかかれば足引っ張られると思うが
だったら片方で負荷がかかれば足引っ張られると思うが
632630
2007/06/25(月) 19:07:01ID:??? そうなんだけど、IOで引っ張ってるんじゃなくてまるで実行プランが変わったように突然CPU使用率が上がるんだよ。
で、VACUUMをとめても実行プランが変わるまで同じ調子でCPUがんがん使ったまま…。
ANALYZEがかかると収まる。そんな感じ。
で、VACUUMをとめても実行プランが変わるまで同じ調子でCPUがんがん使ったまま…。
ANALYZEがかかると収まる。そんな感じ。
633nobodyさん
2007/07/25(水) 21:58:43ID:??? ムーバブルタイプというブログ作成ツールをインストールする際にポスグレを使っております。
インストールは無事に終わったのですが、
データベースのアップグレードをする際に
ERROR: parser: parse error at or near "0"
というエラー文言が出てきてしまいます。
通常は"0"の部分に原因となるヒントが出ているものなのですが、
0とだけ出ていても何が原因なのかが全く把握できません。
この0っていうのはどういったケースで発生するものなのでしょうか??
インストールは無事に終わったのですが、
データベースのアップグレードをする際に
ERROR: parser: parse error at or near "0"
というエラー文言が出てきてしまいます。
通常は"0"の部分に原因となるヒントが出ているものなのですが、
0とだけ出ていても何が原因なのかが全く把握できません。
この0っていうのはどういったケースで発生するものなのでしょうか??
634nobodyさん
2007/07/26(木) 01:11:19ID:??? >>633
"0" 付近で構文解析エラー
ってころだろ。
"0"に特別な意味はなくて、SQL文中に"0"が出現したところあたりが怪しいってことだ。
勝手に想像すると、"SELECT * FROM ${table}0 ;" 見たいなSQLで
変数$tableが空だった為に正しいテーブル名が渡せなかったとか。
"0" 付近で構文解析エラー
ってころだろ。
"0"に特別な意味はなくて、SQL文中に"0"が出現したところあたりが怪しいってことだ。
勝手に想像すると、"SELECT * FROM ${table}0 ;" 見たいなSQLで
変数$tableが空だった為に正しいテーブル名が渡せなかったとか。
635nobodyさん
2007/07/26(木) 10:24:17ID:??? デバッグ出力時に、sqlも吐いとくとわかりやすい。
DB側のログに出すことも可能ではあるが
DB側のログに出すことも可能ではあるが
636nobodyさん
2007/07/26(木) 11:34:31ID:???637nobodyさん
2007/07/26(木) 13:13:51ID:??? DBを一旦削除したあともう一回作ったら何故かうまく行きました。。
特に何もしてないんのだけど。。
作成にミスるって事もあるのかなぁ。
特に何もしてないんのだけど。。
作成にミスるって事もあるのかなぁ。
638nobodyさん
2007/09/22(土) 21:58:23ID:??? Perlで辞書検索CGIを書きましたが、DBI/DBD::Pgのあまりの遅さに辟易して、Pg使ってます。
各モジュールのパフォーマンスに関する記述ってあまりないようなんですが、皆さんはどちらを使っているのでしょうか。
ちなみに、作成したCGIはSELECT文を1回実行するもので、Dprofでプロファイリングしてみると
CGI全体でDBI/DBD::Pgで800ms、Pgで600msかかっていて、いずれも::INITで時間がかかっていました。
各モジュールのパフォーマンスに関する記述ってあまりないようなんですが、皆さんはどちらを使っているのでしょうか。
ちなみに、作成したCGIはSELECT文を1回実行するもので、Dprofでプロファイリングしてみると
CGI全体でDBI/DBD::Pgで800ms、Pgで600msかかっていて、いずれも::INITで時間がかかっていました。
639nobodyさん
2007/10/09(火) 20:34:44ID:??? 1台のPostgreSQLサーバーにデータベースをたくさん作っていたのですが、
これを1つのデータベースにまとめる方法はありませんか?COPYではできませんよね?
なお、テーブル名に重複はありません。
これを1つのデータベースにまとめる方法はありませんか?COPYではできませんよね?
なお、テーブル名に重複はありません。
640nobodyさん
2007/10/23(火) 17:46:23ID:??? COPYでできると思うけど。
まあ、
pg_dump DBNAME1 | psql DBNAME2
とか繰り返せばいいんじゃない?
って久しぶりに見たからえらい遅レスになっちまった
まあ、
pg_dump DBNAME1 | psql DBNAME2
とか繰り返せばいいんじゃない?
って久しぶりに見たからえらい遅レスになっちまった
641nobodyさん
2007/12/20(木) 15:45:11ID:??? あるテーブルからSELECTする際に「別のテーブルに含まれていない」という条件を「Not IN」とかで
指定できたと思うんですが、この「Not IN」って名前なんて言うでしたっけ?
構文とかが良くわからないからGoogleろうと思ったけどnotとinって一般的過ぎて検索ワードにならないです
サブクエリ(副問い合わせ)だったかと思ったけど違ったし…。
http://www.postgresql.jp/document/pg721doc/reference/sql-select.html
にはNot IN自体載ってなかった…。
bash-2.05$ psql -V
psql (PostgreSQL) 7.1.3
指定できたと思うんですが、この「Not IN」って名前なんて言うでしたっけ?
構文とかが良くわからないからGoogleろうと思ったけどnotとinって一般的過ぎて検索ワードにならないです
サブクエリ(副問い合わせ)だったかと思ったけど違ったし…。
http://www.postgresql.jp/document/pg721doc/reference/sql-select.html
にはNot IN自体載ってなかった…。
bash-2.05$ psql -V
psql (PostgreSQL) 7.1.3
643nobodyさん
2007/12/20(木) 17:16:36ID:??? >>642
ありがとうございます
ただ、「IN 述語」だと9万件以上引っ掛るのに
「IN 述語 postgre」だと30件ちょい…。
とりあえず↓がおもしろそうだから読んでみます!(・∀・)
http://www.geocities.jp/mickindex/database/idx_database.html
ありがとうございます
ただ、「IN 述語」だと9万件以上引っ掛るのに
「IN 述語 postgre」だと30件ちょい…。
とりあえず↓がおもしろそうだから読んでみます!(・∀・)
http://www.geocities.jp/mickindex/database/idx_database.html
644641
2007/12/20(木) 17:30:18ID:??? >>642
わかったー
SELECT カラム from テーブル where カラム IN (SELECT カラム from テーブル2);
で生けました。
PostgreのマニュアルってPHPのそれよか充実してないですよね…。
どっかいいサイトあったら教えてください
わかったー
SELECT カラム from テーブル where カラム IN (SELECT カラム from テーブル2);
で生けました。
PostgreのマニュアルってPHPのそれよか充実してないですよね…。
どっかいいサイトあったら教えてください
645641
2007/12/20(木) 17:33:19ID:??? 連投ごめんなさい
>>2にあった
PostgreSQL7.1マニュアル全文検索
http://osb.sra.co.jp/PostgreSQL/Manual/cgi-bin/namazu.cgi
これ、500エラー吐いてるけどタマタマですかね?
メンテされないのであればテンプレから外した方がいいのかな、と思いました。
1スレで4年以上もつからしょうがないけどw
>>2にあった
PostgreSQL7.1マニュアル全文検索
http://osb.sra.co.jp/PostgreSQL/Manual/cgi-bin/namazu.cgi
これ、500エラー吐いてるけどタマタマですかね?
メンテされないのであればテンプレから外した方がいいのかな、と思いました。
1スレで4年以上もつからしょうがないけどw
646nobodyさん
2007/12/20(木) 17:47:31ID:???647nobodyさん
2007/12/20(木) 17:51:35ID:???648nobodyさん
2008/01/14(月) 16:29:28ID:VAusV2xL >>304にもあるけど、
postgresってrollback使えないんですか?
# select count(*) from *****
count
-------
11419
(1 row)
# Insert into ***** ( ***,***,***) values(2,1,'14-May-07');
INSERT 0 1
# rollback;
WARNING: there is no transaction in progress
ROLLBACK
# select count(*) from ors_win_lose_manage;
count
-------
11420
(1 row)
こうなってしまうのはなぜでしょう?
postgresってrollback使えないんですか?
# select count(*) from *****
count
-------
11419
(1 row)
# Insert into ***** ( ***,***,***) values(2,1,'14-May-07');
INSERT 0 1
# rollback;
WARNING: there is no transaction in progress
ROLLBACK
# select count(*) from ors_win_lose_manage;
count
-------
11420
(1 row)
こうなってしまうのはなぜでしょう?
651nobodyさん
2008/07/22(火) 05:55:10ID:fILzfF3O Warning: pg_exec(): Query failed: ERROR: UNION types text and integer cannot be matched in 〜
これはどういうエラーでしょうか?
ググってもなかなか情報が無くて困っています。
これはどういうエラーでしょうか?
ググってもなかなか情報が無くて困っています。
652nobodyさん
2008/07/22(火) 17:37:19ID:YIgoKKKq UNION types text and integer cannot be matched
という意味です。
という意味です。
654nobodyさん
2009/09/15(火) 02:11:46ID:0k+4XNIC やってますか
2009/10/23(金) 00:53:36ID:???
Asian newspapers, where it hit a nerve. ,
2009/10/23(金) 05:36:11ID:???
Larry Hodges, the computer scientist on the team, thinks that audio quality is, in several of their applications and exper- iments, consistently more important than visual quality. ,
658nobodyさん
2010/01/10(日) 23:55:08ID:XBzggYOw PostgreSQLのポータブル版なんてあったんだ。これとXAMPPを組み合わせれば学校でも使える?
http://www.portablefreeware.com/forums/viewtopic.php?p=21663
http://www.portablefreeware.com/forums/viewtopic.php?p=21663
659nobodyさん
2010/03/03(水) 21:17:49ID:??? てすと
660nobodyさん
2010/07/01(木) 08:39:54ID:94Imy5Qs てす
661nobodyさん
2010/10/06(水) 08:25:29ID:??? 初歩的な質問で申し訳ないのですが・・・
pg_dump_allでバックアップしたデータのリストアって、何もせずただpsqlで普通にdumpデータ流しこむだけじゃだめなんですよね?
今あるデータベースの内容に関係なくリストアする(SQLを流し込む)ために、全(各?)データベースを一度削除したり、
キレイにリストアできるようにリストア前の準備をするのが普通(必須)なんでしょうか?
いろんな本やネットを見ても、「dumpしたものをpsqlなりで流し込む」くらいのこといか書いていないような気がして・・・
(実際ただ流しただけでは完全にリストアはされてませんでした。当たり前かもしれないけれど、データベースを全部削除してから流し込んだらうまくいきました)
とんでもない変なこと言ってたらすみません・・・
pg_dump_allでバックアップしたデータのリストアって、何もせずただpsqlで普通にdumpデータ流しこむだけじゃだめなんですよね?
今あるデータベースの内容に関係なくリストアする(SQLを流し込む)ために、全(各?)データベースを一度削除したり、
キレイにリストアできるようにリストア前の準備をするのが普通(必須)なんでしょうか?
いろんな本やネットを見ても、「dumpしたものをpsqlなりで流し込む」くらいのこといか書いていないような気がして・・・
(実際ただ流しただけでは完全にリストアはされてませんでした。当たり前かもしれないけれど、データベースを全部削除してから流し込んだらうまくいきました)
とんでもない変なこと言ってたらすみません・・・
662nobodyさん
2010/10/07(木) 17:05:27ID:??? これは、、、別のスレにm書いてあるからペンディングでいいのかな?
663nobodyさん
2011/04/15(金) 10:44:18.23ID:dMSlOwf6 2箇所にPCを設置して
片方は閲覧専用のPC、
片方でDBへの入力編集を行っています
双方のプログラムは同じプログラムでlibpqでサーバーへ接続している
入力されたデータは、LISTEN,NOTIFYの機能を利用して
全てのPCで情報を受け取り表示している
入力専用のPCであっても登録後の表示はNOTIFYで返って来た情報で
表示を行うようにしてあります、つまり、表示のみのPCと条件は全く同じ
しかし、時間が経つ(数時間?)と
表示のみでPCに触らない側ではLISTENを受け付けなくなり情報が獲られなく
なってしまいます、自動で定期的にLISTENをしてやるとまた受け取れる
ようになるようなのですが LISTENにタイムアウトの設定等があるのでしょうか?
ご存じの方がおられれば教えてください
片方は閲覧専用のPC、
片方でDBへの入力編集を行っています
双方のプログラムは同じプログラムでlibpqでサーバーへ接続している
入力されたデータは、LISTEN,NOTIFYの機能を利用して
全てのPCで情報を受け取り表示している
入力専用のPCであっても登録後の表示はNOTIFYで返って来た情報で
表示を行うようにしてあります、つまり、表示のみのPCと条件は全く同じ
しかし、時間が経つ(数時間?)と
表示のみでPCに触らない側ではLISTENを受け付けなくなり情報が獲られなく
なってしまいます、自動で定期的にLISTENをしてやるとまた受け取れる
ようになるようなのですが LISTENにタイムアウトの設定等があるのでしょうか?
ご存じの方がおられれば教えてください
664nobodyさん
2011/04/23(土) 01:17:48.72ID:??? ルータ越しで接続してるなら、NATテーブルのエントリが無通信時間
タイムアウトで消されて、TCPコネクションが切れているのかも
タイムアウトで消されて、TCPコネクションが切れているのかも
665nobodyさん
2011/09/29(木) 14:38:34.43ID:??? ユーザーIDをserial型で登録していくテーブルがあり、
新規登録したユーザーのIDを即時取得するために、登録日時をtimestampで記録し、
SELECT user_id FROM user_table WHERE join_date = '登録日時';
のようにしているのですが、もっとスマートに登録したばかりのユーザーIDをそのまま取得する機能や方法はありますか?
新規登録したユーザーのIDを即時取得するために、登録日時をtimestampで記録し、
SELECT user_id FROM user_table WHERE join_date = '登録日時';
のようにしているのですが、もっとスマートに登録したばかりのユーザーIDをそのまま取得する機能や方法はありますか?
666nobodyさん
2011/10/09(日) 18:43:35.76ID:??? 昔、INSERTで帰ってきたidで検索しなおしたり
先にnextvalしてそのid使ったりしてたけど
今のバージョンならinsert文 にreturning入れればいけると思う
もちろんexecじゃ結果わからんからqueryで
先にnextvalしてそのid使ったりしてたけど
今のバージョンならinsert文 にreturning入れればいけると思う
もちろんexecじゃ結果わからんからqueryで
667665
2011/10/09(日) 22:58:50.86ID:??? >>666
ありがとうございます。クエリの最後にRETURNING ユーザーID
と書くだけで、ユーザーIDを取得できるようになりました。
これで、登録日時をtimestamp型からdate型にすることができます。
もっている2冊の本にはRETURNING句の記述がなかったので
本当に助かりました!
ありがとうございます。クエリの最後にRETURNING ユーザーID
と書くだけで、ユーザーIDを取得できるようになりました。
これで、登録日時をtimestamp型からdate型にすることができます。
もっている2冊の本にはRETURNING句の記述がなかったので
本当に助かりました!
668nobodyさん
2012/03/28(水) 18:36:07.74ID:??? 2千万レコードぐらいのテーブルにDROP INDEXしたら
2時間以上ロックされちゃってるんだけどこういうもんなの?
2時間以上ロックされちゃってるんだけどこういうもんなの?
669nobodyさん
2012/05/15(火) 05:16:17.74ID:??? まだロックされてるのかな…
他にトランザクションが無ければdrop indexなんてすぐに終わる代物
つまり他のトランザクションに阻害されてるだけ
他にトランザクションが無ければdrop indexなんてすぐに終わる代物
つまり他のトランザクションに阻害されてるだけ
670nobodyさん
2012/08/09(木) 10:28:33.00ID:??? FreeBSD 9.0-RELEASEのportsに
# cd /usr/ports/databases/ruby-postgres
が無く、検索しても見つからないのですが
どこにいったのでしょうか?
代替はありますか?
# cd /usr/ports/databases/ruby-postgres
が無く、検索しても見つからないのですが
どこにいったのでしょうか?
代替はありますか?
671nobodyさん
2014/07/28(月) 19:52:59.23ID:??? http://kanae.2ch.net/test/read.cgi/php/1405860979/
ここで、
A END OF PHP IS A END OF PHPER
って書いたら中学生程度の頭で喜んでるぺちぱーがANじゃないことに突っ込むかな
ぺちぱーは馬鹿だから嬉しそうに突っ込みそうだけど、馬鹿すぎて気付かない可能性もある
れっつとらい
ここで、
A END OF PHP IS A END OF PHPER
って書いたら中学生程度の頭で喜んでるぺちぱーがANじゃないことに突っ込むかな
ぺちぱーは馬鹿だから嬉しそうに突っ込みそうだけど、馬鹿すぎて気付かない可能性もある
れっつとらい
672nobodyさん
2014/07/29(火) 04:55:07.25ID:??? なんだこりゃ。
よく分からんが先を見るとtheじゃないの?って突っ込まれてるけど
よく分からんが先を見るとtheじゃないの?って突っ込まれてるけど
673nobodyさん
2014/08/22(金) 05:19:59.80ID:???674nobodyさん
2016/01/30(土) 18:24:23.38ID:??? Ver9.5出たみたいだね。
675nobodyさん
2017/10/19(木) 21:26:42.50ID:??? なんだこの過疎っぷり
近年ボラクルがあまりにも横暴なのでBIとか参照系ではそこそこ使われだしたとかも聞くんだけど
近年ボラクルがあまりにも横暴なのでBIとか参照系ではそこそこ使われだしたとかも聞くんだけど
676nobodyさん
2017/10/20(金) 11:41:30.63ID:??? そりゃここ本スレじゃないもん
DB板行け
DB板行け
677nobodyさん
2017/12/30(土) 13:03:59.10ID:YhlYw6jg 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
HB5QS9PT42
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
HB5QS9PT42
678nobodyさん
2018/02/20(火) 04:34:17.92ID:??? ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
679nobodyさん
2019/07/19(金) 00:26:00.17ID:??? windowsなのですが、まずサンプルのdvdrentalを入れるやり方からわかりません
検索して出てきたやつらを見ても訳がわからないです
検索して出てきたやつらを見ても訳がわからないです
680nobodyさん
2023/10/15(日) 15:35:09.02ID:??? 別れを告げる方も辛かったよね
レスを投稿する
ニュース
- “見た目がいい人”ほどテレビゲームをしない? 容姿とゲームの関係を調査 1994~2008年のデータ分析 [少考さん★]
- 「1人4万円給付」「軽減税率8%→0%」本当にお得なのはどっち?“時限的減税”効果に疑問も ★2 [ぐれ★]
- 田中圭 元女優妻は“15歳年下”との不倫報道に激しい嫌悪感…永野芽郁に慰謝料請求も辞さない姿勢 ★2 [Ailuropoda melanoleuca★]
- 【GW】京都「1泊6万円」…ホテル代高騰「クレージー」 車中泊に殺到 1台3850円 [ぐれ★]
- 【さいたま】女子高校生殺人事件 男(25) 「制服着た女子高校生を包丁で殺した」「殺害する女性探していた」「自分は社会の底辺にいる」 [ぐれ★]
- 大阪・関西万博 GW4日目の来場者数は9万7000人 前日よりも減少 一般来場者は7万9000人 [少考さん★]
- 今年1年で値上げする食料品の数、10月分までで既に去年1年分を遥かに超え14,000品に 夏以降はさらに増える見込み 終わりだよこの国 [597533159]
- 万博のアフタヌーンティー騒動でイギリス政府代表が声明を出すwmwmwmwmwmwmw [834922174]
- 【悲報】京都市・国道1号の冠水、原因は水道管の老朽化…設置から約65年経過 [481941988]
- 【石破悲報】経産省、ラピダスに1.7兆円の支援決定🤔 [359965264]
- ▶マリンの新MV
- 【悲報】ガンダムジークアクス、とんでもないゲルググを出してしまう [884040186]