板検索:
PostgreSQL Part.11 (588)
まとめビュー
重複読み込みスレ:このスレは、2重読み込みでレスが重複している可能性があります。修復する場合はこちらをクリックしてください。
1
NAME IS NULL[ageteoff]   投稿日:2016/05/03 15:42:33  ID:???.net(487)
PostgreSQL (ぽすとぐれすきゅーえる, ぽすとぐれす) について語るスレです。

●関連サイト
PostgreSQL 本家
http://www.postgresql.org/
日本PostgreSQLユーザ会
http://www.postgresql.jp/
ドキュメント
http://www.postgresql.jp/document/current/html/
ダウンロード
http://www.postgresql.jp/PostgreSQL
Let's Postgres (ポータルサイト)
http://lets.postgresql.jp/
pgFoundry
http://pgfoundry.org/

●前スレ
PostgreSQL Part.10


2
NAME IS NULL[sage]   投稿日:2016/05/03 15:50:06  ID:???.net(487)
あらあら、次の舞踏会はこちらで開かれるのかしら?

3
NAME IS NULL[]   投稿日:2016/05/03 15:56:07  ID:BecA4HPo.net(2)
●過去スレ
PostgreSQL 2テーブル目 (WebProgから派生)
データベース板の別スレッドへ
PostgreSQL & pgsql-jp ML 3テーブル目
データベース板の別スレッドへ
【Windows】 PostgreSQL8 Part.1 【対応】 (実質part4)
データベース板の別スレッドへ
PostgreSQL Part.5
データベース板の別スレッドへ
PostgreSQL Part.6
データベース板の別スレッドへ
PostgreSQL Part.7
PostgreSQL Part.8
PostgreSQL Part.9
PostgreSQL Part.10

●関連過去スレ
■   PostgreSQLのことならここで聞け   ■ (初心者part1)
データベース板の別スレッドへ
■   PostgreSQLのことならここで聞け   ■ (初心者part2)
データベース板の別スレッドへ
PostgresSQLについて語ろう (雑談part1)
データベース板の別スレッドへ
PostgreSQLについて語ろう where OID=2::oid (雑談part2)
データベース板の別スレッドへ

●関連スレ
2ch検索
http://find.2ch.net/index.php?STR=PostgreSQL
WebProg/ PostgreSQL 2テーブル目 /WebProg板
コメント2件

4
NAME IS NULL[sage]   投稿日:2016/05/03 19:08:46  ID:???.net(487)
>3
あ、忘れてたありがと

5
NAME IS NULL[sage]   投稿日:2016/05/04 00:35:18  ID:???.net(487)
おっつおっつ

6
NAME IS NULL[sage]   投稿日:2016/05/12 22:34:05  ID:???.net(487)
PostgreSQL 9.6 beta1
http://www.postgresql.org/about/news/1668/

9.5から9.1のマイナーバージョンアップも。

7
NAME IS NULL[sage]   投稿日:2016/05/12 22:59:09  ID:???.net(487)
マイナーバージョンアップではなく
累積バグ修正と呼べといつも思う

8
NAME IS NULL[sage]   投稿日:2016/05/14 07:25:02  ID:???.net(487)

9
NAME IS NULL[sage]   投稿日:2016/05/17 12:51:27  ID:???.net(487)
DBバージョン上げたら
insert into a select * from a_tmp where code = 1

列"b_flg"は型booleanですが、式は型textでした
ってエラー出るようになったんだけど、
CREATE CASTで対処するのが正しい道?
コメント8件


10
NAME IS NULL[sage]   投稿日:2016/05/17 13:09:37  ID:???.net(487)
>9
エスパー求む

11
NAME IS NULL[sage]   投稿日:2016/05/17 13:23:11  ID:???.net(487)
>9
そこで動かなくなるのってかなり古かったんじゃないか?

a_tmp にある b_flg に相当する列の型を boolean に変更すべきだろう。
CREATE (TEMP?) TABLE a_tmp (LIKE a) すればミスを避けられる。
コメント2件

12
NAME IS NULL[sage]   投稿日:2016/05/17 13:28:59  ID:???.net(487)
エスパーじゃないとわかんないのかw

説明すると
table a
code integer
b_flg boolean

table a_tmpも同じ構成のテーブル

で、booleanのフィールドがTRUEとか返すんだけど、それが
文字列だと思われてエラーになるみたい
# 8.4くらいから?

13
NAME IS NULL[sage]   投稿日:2016/05/17 14:40:07  ID:???.net(487)
>11
もちろんa_tmpの b_flgの型はbooleanです。

14
NAME IS NULL[sage]   投稿日:2016/05/17 15:00:34  ID:???.net(487)
って自分でテーブル作って同じの試したらうまくいく・・・・

select b_flg from a_tmp

TRUEが帰ってくる時と
tが帰ってくる(こっちでエラーになる)のあるんだけど、何違うんだろ・・・

15
NAME IS NULL[sage]   投稿日:2016/05/17 15:07:39  ID:???.net(487)
「boolean型」なのか「text型にbooleanっぽい文字列が入ってる」のかをきちんと確認したほうが良い。
特にSELECT INTOでテーブルを作るような場合だと型指定が曖昧な場合がある。

16
NAME IS NULL[sage]   投稿日:2016/05/17 15:33:03  ID:???.net(487)
>9
> DBバージョン上げたら
何から何に上げたのか

> insert into a select * from a_tmp where code = 1
どこでこれを実行しているのか

> table a_tmpも同じ構成のテーブル
本当か?

> で、booleanのフィールドがTRUEとか返すんだけど
何で実行するとそうなるのか

> 文字列だと思われて
思う主体は何か?

17
NAME IS NULL[sage]   投稿日:2016/05/17 15:35:23  ID:???.net(487)
> って自分でテーブル作って同じの試したらうまくいく
うまくいく環境と、うまくいかない環境の差異は何か

18
NAME IS NULL[sage]   投稿日:2016/05/17 15:42:34  ID:???.net(487)
>9
> CREATE CASTで対処するのが正しい道?
なわきゃない

19
NAME IS NULL[sage]   投稿日:2016/05/17 20:41:11  ID:???.net(487)
なぜテーブル定義を確認しないんだろう...

20
NAME IS NULL[sage]   投稿日:2016/05/18 13:16:35  ID:???.net(487)
確認した結果同じ構成だったんだろ
知らんけど

21
NAME IS NULL[sage]   投稿日:2016/05/21 16:12:15  ID:???.net(487)
質問: shared_bufferを16GBに設定しているのに、実際にはそれ以下しか使用されてないっぽいんだが、どういうことでしょうか。

sahred_bufferの値が16GBであることを確認

$ grep shared_buffers /etc/postgresql/9.3/main/postgresql.conf
shared_buffers = 16GB # min 128kB

メモリ使用量を確認 (ファイルキャッシュを除くと9.781GBしか使われてない)

$ free -m
total used free shared buffers cached
Mem: 64384 64065 319 0 0 54284
-/+ buffers/cache: 9781 54603
Swap: 65487 120 65367

なおデータサイズは40GB程度。最大のテーブルが20GBくらいあって、それを全件検索してもメモリ使用量が増えない。
そのせいで性能が頭打ちになっている。だれかヒントおねがい。
コメント4件

22
NAME IS NULL[sage]   投稿日:2016/05/21 17:03:47  ID:???.net(487)
>21
pg_buffercache を突っ込んで調べてみるのはどうか?
http://www.postgresql.jp/document/9.5/html/pgbuffercache.html
コメント2件

23
NAME IS NULL[sage]   投稿日:2016/05/21 17:42:43  ID:???.net(487)
>21
SeqScan時は一定量のメモリでやり繰りする機能が入っているから全メモリは使わない。
強制的に共有バッファに乗せたいなら pg_prewarm を試すといい。

そして、「そのせいで性能が頭打ち」は誤解だったと気付くだろう。
コメント2件

24
NAME IS NULL[sage]   投稿日:2016/05/23 09:04:57  ID:???.net(487)
>22
ありがとうございます。こんな便利なモジュールがあるんですね。
とはいえインストールするのはDBAの許可が下りなさそうなので困りました。

>23
ありがとうございます。pg_prewarmのmanualページを読むと、
「プレウォームはキャッシュが主に空のとき、一般的には起動時にもっとも有用です。」
とありました。起動時以外は効果は薄いんでしょうか。困りました。

> そして、「そのせいで性能が頭打ち」は誤解だったと気付くだろう。

そうなんでしょうか。今のところ、HDDから最初に読み込むときに時間がかかるのが問題であり、2回目以降は高速なのでSQLは問題ないかなと思ってます。
たとえば select * from users where id = :user_id のようなSQLがあったら、
2回目以降はメモリキャッシュに載っているので数msですが、ユーザごとの最初の
アクセスではHDDから読み込むので、2秒〜3秒かかってしまうのが問題です。
それで、shared_bufferを16GB設定しているのに実メモリは9GBしか使っていない
(ファイルキャッシュを除く)のを改善すれば解決できると思っているんですが、
甘いでしょうか。
コメント4件

25
NAME IS NULL[sage]   投稿日:2016/05/23 12:01:07  ID:???.net(487)
>24
ああ、全件検索が遅いのが問題なんじゃなくて、
全件検索ではウォームアップができないのが問題だったのか。
それなら pg_prewarm が適するだろうね。
テーブルだけでなくインデックスも prewarm が必要か確認して欲しい。
「起動時以外は効果は薄い」とは「あくまで準備体操」の意味。
全ユーザが一通りアクセスした後のメモリ状態になるまでの時間を早めているだけだからね。

26
NAME IS NULL[sage]   投稿日:2016/05/23 13:51:14  ID:???.net(487)
>24
> たとえば select * from users where id = :user_id のようなSQLがあったら、
> 2回目以降はメモリキャッシュに載っているので数msですが、ユーザごとの最初の
> アクセスではHDDから読み込むので、2秒〜3秒かかってしまうのが問題です。

そのたとえが本当に適切なたとえだとしたら、遅い原因はキャッシュにのってないから
じゃなくて、インデックスがないからだな。

27
NAME IS NULL[sage]   投稿日:2016/05/24 03:22:09  ID:???.net(487)
さすがにそれは考えにくいから例えが適切じゃなかったんだろうなぁ。

28
NAME IS NULL[]   投稿日:2016/05/26 23:53:37  ID:6qsFySzK.net(2)
すみません、教えてください。
Windows7/8/10などのクライアントOSにPostgreSQL本体をインストールして、他のPCからそのDBに
アプリケーションで読み書きした場合、Windowsのライセンス違反になるのでしょうか?

http://itpro.nikkeibp.co.jp/article/COLUMN/20060811/245694/?rt=nocnt
↑のような制限にかかってしまうのでしょうか?

もしライセンス違反なら、PowerGresのような製品でWindows7/8/10で動作すると書いてあるん
ですが、これはスタンドアロン限定ということですか?
コメント6件

29
NAME IS NULL[sage]   投稿日:2016/05/27 06:22:59  ID:???.net(487)
>28
ここで聞くより、PowerGres販売元にメールで聞いた方が良いと思う。

30
NAME IS NULL[sage]   投稿日:2016/05/27 09:17:39  ID:???.net(487)
>28
問題ない

31
NAME IS NULL[sage]   投稿日:2016/05/27 09:51:30  ID:???.net(487)
ありますん

32
NAME IS NULL[sage]   投稿日:2016/05/27 11:01:47  ID:???.net(487)
そんなめんどくさいライセンス違反なんてあるの?

33
NAME IS NULL[sage]   投稿日:2016/05/27 13:32:13  ID:???.net(487)
>28
> アプリケーションで読み書きした場合、Windowsのライセンス違反になるのでしょうか?
なる。
というのが本当かどうかを知りたければ、まずこれを読め。
http://www.haruru29.net/blog/windows-share-files-20-devices/
納得できなければ、MSに聞くのが手っ取り早い。

> もしライセンス違反なら、PowerGresのような製品でWindows7/8/10で動作すると書いてあるん
> ですが、これはスタンドアロン限定ということですか?
じゃないの?

34
NAME IS NULL[]   投稿日:2016/05/27 14:04:58  ID:Swk78D+S.net(4)
通信したらいかんの?
windows上のブラウザからデータもらうWebサーバーはみんなライセンス違反?

35
NAME IS NULL[sage]   投稿日:2016/05/27 14:14:16  ID:???.net(487)
IISなら限定的に公開してもいいという話もあるな
ただし、同時接続数10までというのは、同時に10台のクライアントからと言う意味ではなく、
connectionの数という話もある
普通のブラウザでアクセスすると、同時に5本くらいアクセスに行くから、台数でいうと2台までとか
そんな制限になってるらしい

まあ、Microsoftに質問するのが確実だろうが
(ただ、Web情報によれば、サーバ用途は駄目と言われるらしいが)

36
NAME IS NULL[sage]   投稿日:2016/05/27 14:16:17  ID:???.net(487)
すごく古い情報だが、
http://www.atmarkit.co.jp/fwin2k/win2ktips/207rest_iis_pro/rest_iis_pro...
> Webサーバの機能制限
> TCPでの同時接続数は最大10個まで
> TCPレベルでの同時接続数が最大で10個までに制限される。1人のユーザーが多数のTCP接続を開始している場合には、それだけで10個のTCP接続がいっぱいになってしまう可能性がある

これが正しい情報で、なおかつ今でも有効だとすると、事実上Webサーバとしては機能しないだろう

37
NAME IS NULL[sage]   投稿日:2016/05/27 14:18:08  ID:???.net(487)
ちなみに、MS謹製のサーバ機能以外のアプリは、問い合わせると軒並み駄目だと言われる気がする
(個人の想像です)

38
NAME IS NULL[sage]   投稿日:2016/05/27 14:27:21  ID:???.net(487)
MSっていろいろめんどくさいね。そら逃げますわぁ

39
NAME IS NULL[sage]   投稿日:2016/05/27 14:30:32  ID:???.net(487)
Linuxにしとくのがいいよ

40
NAME IS NULL[sage]   投稿日:2016/05/27 15:05:36  ID:???.net(487)
ですよねぇ。ソース持ってきてメイク、インストールでそのまんま使えるのが
気持ちいい。ぼろいPCでもまぁ動く。社員DBぐらいならそんなもんで十分。

41
NAME IS NULL[]   投稿日:2016/05/27 18:07:55  ID:tcTYH4g1.net(2)
電話でpowergressに聞くと、クライアントOSにポスグレをインストールして他の端末からアクセスしても問題ないはず、そんな問い合わせはないとのこと。メールじゃないから正式回答かは分からないが。

しかしマイクロソフトによると、それはNG。ポスグレがインストールされてる端末のアプリケーション(ポスグレ本体)を介して結果を返しているので、サーバにしか許されない操作をしていることになるらしい。

ベンダーによっては、本来NGの使い方を製品ページで提案してるが、知らないか、都合よく解釈してるか、どっちかなんだろうな。
コメント2件

42
NAME IS NULL[sage]   投稿日:2016/05/27 18:18:17  ID:???.net(487)
>41
> 電話でpowergressに聞くと、クライアントOSにポスグレをインストールして他の端末からアクセスしても問題ないはず、そんな問い合わせはないとのこと。メールじゃないから正式回答かは分からないが。
なんと質問したかによるな。
ちゃんとWindowsのライセンス的に問題はないか聞いたか?

43
NAME IS NULL[]   投稿日:2016/05/27 22:30:53  ID:Swk78D+S.net(4)
MSがダメっつーんだからダメだろ

44
NAME IS NULL[sage]   投稿日:2016/05/27 22:37:49  ID:???.net(487)
サーバ用途なのにWindows Serverを使わないような貧乏人にはLinux (サポート無し) がお似合い

45
NAME IS NULL[sage]   投稿日:2016/05/27 22:47:11  ID:???.net(487)
そら そーだなぁ と言って離れてくわけです

46
NAME IS NULL[sage]   投稿日:2016/05/27 22:52:18  ID:???.net(487)
シュリンクラップ契約は有効かっつー話はあるけどな。

47
NAME IS NULL[sage]   投稿日:2016/05/27 23:15:31  ID:???.net(487)
Excel共有なんかどうなるんだろ
コメント2件

48
NAME IS NULL[sage]   投稿日:2016/05/28 00:08:57  ID:???.net(487)
真面目な人ほど、コンプライアンスに厳しい会社ほど
従います。当たり前ですけど。

49
NAME IS NULL[sage]   投稿日:2016/05/28 05:27:06  ID:???.net(487)
>47
共有するブックを置くファイルサーバーが Windows Server ならなんの問題もない
つか、コンテンツの問題じゃないし

50
NAME IS NULL[sage]   投稿日:2016/05/28 14:55:10  ID:???.net(487)
unique制約のindexをdescで作れますか
コメント2件

51
NAME IS NULL[sage]   投稿日:2016/05/28 15:04:12  ID:???.net(487)
>50
目的は?

52
NAME IS NULL[sage]   投稿日:2016/06/16 13:48:47  ID:???.net(487)
PostgreSQLはストレージがHDDじゃなくてSSDでも装置の特性に合ったバッチリ最適なデータの出し入れをしてくれますか?

53
NAME IS NULL[sage]   投稿日:2016/06/16 18:05:16  ID:???.net(487)
してくれません
プランコストの調整くらいはできるが
基本的にはOSに丸投げ

54
NAME IS NULL[sage]   投稿日:2016/06/16 18:13:16  ID:???.net(487)
そうでしたか。。

55
NAME IS NULL[sage]   投稿日:2016/06/16 18:37:11  ID:???.net(487)
他のRDMSではSSD用に処理が分かれているのだろうか

56
NAME IS NULL[sage]   投稿日:2016/06/16 20:43:11  ID:???.net(487)
さすがに本体の処理は変わらんと思うがキャッシュ機構とかは専用設計があるみたい
http://www.oracle.com/technetwork/jp/database/articles/pickup/index...

57
NAME IS NULL[sage]   投稿日:2016/06/17 01:21:21  ID:???.net(487)
ストレージが比較的高速なサーバー機だとデフォルトのrandom_page_costが
全然合わないから調整必須、ってのは昔からだな。

58
NAME IS NULL[sage]   投稿日:2016/06/17 02:49:21  ID:???.net(487)
当然 I/O statは見るわなぁ。

59
NAME IS NULL[sage]   投稿日:2016/06/19 00:37:31  ID:???.net(487)
一度仕事で使ってみたい

60
NAME IS NULL[]   投稿日:2016/06/19 10:44:21  ID:sk8gYGH6.net(2)
ボードゲームのオリジナルオーダー制作
http://www.logygames.com/logy/ordermade.html
簡単に本格自作ボードゲームが作れる時代到来!!
http://jellyjellycafe.com/3869
100円ショップでボードゲームを自作しよう
https://sites.google.com/site/jun1sboardgames/blog/makeyourbg
ノーアイデアでボードゲームを作ろう第1回「100円ショップで物を買う」
http://boardgamelove.com/archives/boardgame-make-1/
ボードゲーム市場がクラウドファンディングの出現で急成長を遂げ市場規模を拡大中
http://gigazine.net/news/20150820-board-game-crowdfunding/

61
NAME IS NULL[]   投稿日:2016/08/13 22:21:08  ID:N8gS1gM5.net(2)
■質問内容
検索結果の続きを取得するSQLを教えてください。

■詳細
データベースを検索し、100件ずつ取得しようとしています。

検索結果は100件ずつ取得するため、検索結果が100件以上ある場合は、
続きとして101件目から取得することになります。

通常はOFFSET句を使用して続きを取得しますが、更新の多いデータベースのため、
レコード数が増減する可能性があり、OFFSETで特定の数スキップすると問題が発生します。
例えば、続きの100件を取得する際、スキップする最初の100件の中に新たなレコードが1件増えると、
最初の100件取得した際の100件目のレコードと、続きの101件目のレコードは同じものになります。

WHERE句で解決を試みようとも思いましたが、ユニークな値でORDER BYをかけているわけではないため、不可能と判断しました。
ORDER BYで対象としているカラムの結果は同じ値のものも含まれており、
その同じ値の続く途中で件数によって区切られた場合、そのカラムをWHEREの対象にはできません。

助けてください。
コメント4件

62
NAME IS NULL[sage]   投稿日:2016/08/13 22:33:42  ID:???.net(487)
ソートキーは当然あるわけだから、「前回の最後のソートキーより大きな100件」を取得すればいいんでない?
コメント2件

63
NAME IS NULL[sage]   投稿日:2016/08/14 03:22:54  ID:???.net(487)
>62
すいません、ソートキーというのはORDER BYで指定するカラムですよね。
そのカラムの値がユニークではないので、その値で判定できないんです。
このようなイメージです。

〜 ORDER BY score;

score
--------
2500
2800
3000
3000
3000
3400

例えばこれで3件ずつ取得するためにLIMIT 3を付けた場合、3000のスコアの途中まで取得されるので、
WHERE > 3000というような形で指定できないのです。
コメント2件

64
NAME IS NULL[sage]   投稿日:2016/08/14 06:01:16  ID:???.net(487)
テンポラリテーブル作って検索結果突っ込んでおくとか
主キーだけでも

65
NAME IS NULL[sage]   投稿日:2016/08/14 07:47:45  ID:???.net(487)
>61
続きを取得している間はトランザクションは開きっぱなしなのか?
更新されても結果が変化しないのが条件なら
開きっぱなし or 全行を一時保管しておく必須がある

トランザクションを切るなら並行する更新結果も見えてしまうが
更新によって主キーとソートキーが変わらないならば
「欲しいソートキー + 主キー」を条件にすればいい
ORDER BY score, pkey WHERE score >= 前回のscore AND pkey > 前回のpkey

66
NAME IS NULL[sage]   投稿日:2016/08/14 09:02:39  ID:???.net(487)
実はユニークな主キーもないとか言い出したりして。

67
NAME IS NULL[sage]   投稿日:2016/08/15 07:13:36  ID:???.net(487)
うぎゃ

68
NAME IS NULL[sage]   投稿日:2016/09/04 22:19:47  ID:???.net(487)
次のバージョンって10になるのん?
コメント2件

69
NAME IS NULL[sage]   投稿日:2016/09/06 00:48:17  ID:???.net(487)
>68
9.6

70
NAME IS NULL[sage]   投稿日:2016/09/11 05:22:55  ID:???.net(487)
どうしてPostgreSQLはMySQLに勝てたのか
コメント2件

71
NAME IS NULL[sage]   投稿日:2016/09/16 04:50:18  ID:???.net(487)
>63
score が 3000 であるレコード同士の順番をどうにかして決めておかないとだめだよ。

> 例えば、続きの100件を取得する際、スキップする最初の100件の中に新たなレコードが1件増えると、
> 最初の100件取得した際の100件目のレコードと、続きの101件目のレコードは同じものになります。
これを嫌うということは、最新のデータが表示されない可能性があるけれど、それはそれでいいってことかな

72
NAME IS NULL[sage]   投稿日:2016/09/16 13:33:25  ID:???.net(487)
>61
> 最初の100件取得した際の100件目のレコードと、続きの101件目のレコードは同じものになります。
逆にそっちの方がいいかもよ。

仮に、scoreの降順でデータを取得するとする。
最初の検索時は350件あって、データの変更がなければ4ページ。
最初は1位5000点)〜100位(4000点)が表示される。

で、その表示中に、4001〜4999点に10人追加されたとする。
その結果、旧91〜100が101〜110位になる。

そのとき、「次」を見たときどうなってるのが良いか?
・旧101〜200位が表示される
・新101〜200位が表示される

今は、こうあるべきだと思っている。
> ・旧101〜200位が表示される
考えて欲しいのは、そこで「前」を見たらどうなっているべきか。
また、新たに追加された10人はいつどのようにすれば見られるのか。

73
NAME IS NULL[sage]   投稿日:2016/09/16 14:14:33  ID:???.net(487)
1か月も前のレスなのに急にどうした

74
NAME IS NULL[sage]   投稿日:2016/09/16 14:54:50  ID:???.net(487)
直近のコメントが今日だったから、最近の話題かと勘違いしたわ

75
NAME IS NULL[sage]   投稿日:2016/09/17 23:30:54  ID:???.net(487)
>70
実際に勝ってるかどうかは知らないけど、もし勝つとしたら商用無料のせいだろ

76
NAME IS NULL[sage]   投稿日:2016/09/18 00:08:28  ID:???.net(487)
MySQLだって無料で商用に使えるが。

77
NAME IS NULL[sage]   投稿日:2016/09/18 00:15:45  ID:???.net(487)
実際のデータがわからんからなんとも

78
NAME IS NULL[]   投稿日:2016/09/18 00:36:42  ID:eQBFaRs8.net(2)
MySQLってまだあるの?
コメント4件

79
NAME IS NULL[sage]   投稿日:2016/09/18 20:47:05  ID:???.net(487)
>78
冗談にしてはパンチが足りない

80
NAME IS NULL[sage]   投稿日:2016/09/18 23:51:08  ID:???.net(487)
MySQLってマラあるの?
コメント2件

81
NAME IS NULL[sage]   投稿日:2016/09/18 23:53:40  ID:???.net(487)
>78
まいしーくぅえる

82
NAME IS NULL[sage]   投稿日:2016/09/18 23:55:26  ID:???.net(487)
>80
ねえよ

83
NAME IS NULL[sage]   投稿日:2016/09/19 00:40:19  ID:???.net(487)
まらぁ?

84
NAME IS NULL[sage]   投稿日:2016/09/19 11:36:37  ID:???.net(487)
ドゥーユーリーメンバー

85
NAME IS NULL[sage]   投稿日:2016/09/19 19:01:18  ID:???.net(487)
トゥエニファスタァイ セプテンバー

86
NAME IS NULL[sage]   投稿日:2016/09/19 19:53:19  ID:???.net(487)
セプテンバーレイン

87
NAME IS NULL[sage]   投稿日:2016/09/20 09:13:48  ID:???.net(487)
9月のあめーはつめたくて〜

88
NAME IS NULL[sage]   投稿日:2016/09/20 11:13:36  ID:???.net(487)
稲垣吾郎?

89
NAME IS NULL[sage]   投稿日:2016/09/22 00:47:57  ID:???.net(487)
MySQLと比べるなら、機能的に圧勝してるから比べ物にならないでしょ
PostgreSQLが勝ったというよりは、MySQLが選択肢に入ってなかっただけ
普段からPostgreSQLを使ってるとこは、わざわざMySQLを習得するコストがもったいないから
MySQLをさける傾向がある

90
NAME IS NULL[sage]   投稿日:2016/09/22 02:23:39  ID:???.net(487)
やってる人はやってるんだろうし、ご勝手にって感じかな。
もう気にかけることも無くなったね。

91
NAME IS NULL[sage]   投稿日:2016/09/22 08:05:39  ID:???.net(487)
10年前は熱いライバルだったのに

92
NAME IS NULL[sage]   投稿日:2016/09/22 08:34:13  ID:???.net(487)
比べるなら相手はMariaじゃないの?
もしくはローエンドOracleか

93
NAME IS NULL[sage]   投稿日:2016/09/22 14:05:12  ID:???.net(487)
レンタルサーバで使える所少なかったり
CMSとかで対応してないとかあるからなー
そういう場面ではMySQL選ばざるを得ない

94
NAME IS NULL[sage]   投稿日:2016/09/22 20:36:09  ID:???.net(487)
え?
PostgreSQLって流行ってるの?
もう廃れてきているのかと思った
どこの記事見ても、MySQLとかMariaDBとかばっかりだもんな

95
NAME IS NULL[sage]   投稿日:2016/09/22 20:54:32  ID:???.net(487)

96
NAME IS NULL[sage]   投稿日:2016/09/22 21:40:30  ID:???.net(487)
C++のような存在

97
NAME IS NULL[sage]   投稿日:2016/09/22 21:42:08  ID:???.net(487)
postgresql はC
MySQL は C++

98
NAME IS NULL[sage]   投稿日:2016/09/22 21:56:20  ID:???.net(487)
いわゆるWeb系はMySQL系
基幹業務にOracleを使う金がないとこはPostgreSQL
ベンチャー企業が中小相手にシステム構築するときに使う

MySQL系の記事が多いのは最近やっと使えるようになってきたからだよ
AWSの影響もあるだろうしな

言語に例えるんだったらPostgreSQLはVBやPHPで
MySQLはJavascriptのイメージだな

99
NAME IS NULL[sage]   投稿日:2016/09/22 22:00:36  ID:???.net(487)
ほー 詳しい

100
NAME IS NULL[sage]   投稿日:2016/09/22 22:18:22  ID:???.net(487)
VBやPHPに例えられても嬉しくないなぁ
レンタルサーバで使えない問題は Heroku Postgres で多少はマシになったか

101
NAME IS NULL[sage]   投稿日:2016/09/22 22:26:33  ID:???.net(487)
アメリカなんかじゃ昔からMySQLの方が人気があって、Postgresが人気あるのは日本くらい。

102
NAME IS NULL[sage]   投稿日:2016/09/22 22:34:28  ID:???.net(487)
って前から言われてたね。今のそうなのですか。

103
NAME IS NULL[]   投稿日:2016/09/22 22:41:28  ID:jDvr07Zs.net(2)
アメリカ人はバカだからMyISAM速えええええええええつって喜んでただけやで
それもずいぶん昔の話やw

104
NAME IS NULL[sage]   投稿日:2016/09/22 22:49:04  ID:???.net(487)
ひどすw

105
NAME IS NULL[sage]   投稿日:2016/09/22 22:51:40  ID:???.net(487)
一説にはWindowsで動かせたからとも言われてるな。
日本でフリーDBMSが導入され始めた頃はPostgres7.0が出る頃だったから
MySQLじゃなくてトランザクションをまともに使えるPostgresの方に流れたとも。
ヒゲががんばって布教したってのもあるんだろうけど。

106
NAME IS NULL[sage]   投稿日:2016/09/22 23:00:42  ID:???.net(487)
最新の研究成果をいち早く採り入れている方が好き

107
NAME IS NULL[sage]   投稿日:2016/09/22 23:37:58  ID:???.net(487)
まぁ 普通の開発者、ユーザーから見れば普通に使えれば
それほど最新技術はなくてもぉ とは思うんじゃないの?

108
NAME IS NULL[sage]   投稿日:2016/09/22 23:41:17  ID:???.net(487)
PostgreSQL使い始めた頃はMySQLはサブクエリ使えなかったからなあ

109
NAME IS NULL[sage]   投稿日:2016/09/23 00:54:00  ID:???.net(487)
MySQLはデータベースとして当然備えてる機能を備えてないんだよ
商用データベースから来た人にはおもちゃにすら見えない

110
NAME IS NULL[sage]   投稿日:2016/09/23 00:59:28  ID:???.net(487)
そうなんですか ほんとに知らない

111
NAME IS NULL[sage]   投稿日:2016/09/23 01:18:36  ID:???.net(487)
UberがPostgreSQLからMySQLへ移行した経緯の記事と
それへの反論は興味深かった

112
NAME IS NULL[sage]   投稿日:2016/09/23 17:15:06  ID:???.net(487)
俺のとこではmaxでも10リクエスト/sec程度なんで、あんま参考にはならなかったな

113
NAME IS NULL[sage]   投稿日:2016/09/25 16:30:18  ID:???.net(487)
いままでPostgreSQLで、ごく最近Oracle使い始めたけど、
Oracleって糞だなって思うこと多い。
Oracleをよく知らないせいだとは思うけど。


業務系、Webシステムなどでは、PostgreSQLで何も問題なし!
コメント2件

114
NAME IS NULL[sage]   投稿日:2016/09/25 20:40:24  ID:???.net(487)
普通に使う分はもちろん、バックアップもフェールセーフも問題ないよね。
マテリアライズドビューなんて使った事もないし。
コメント2件

115
NAME IS NULL[sage]   投稿日:2016/09/25 21:07:28  ID:???.net(487)
だからボラクルはサポートで金とってんだっつってんだろ
コメント2件

116
NAME IS NULL[sage]   投稿日:2016/09/25 22:27:52  ID:???.net(487)
>113
最近は差を詰めてきてるよね
とはいえ大規模になればまだまだOracle

>114
PostgreSQLにも一応マテリアライズドビューあるでしょ

>115
金払わないとパッチすらくれず、払っててもバグ修正してくれないけどな
コメント4件

117
NAME IS NULL[sage]   投稿日:2016/09/25 22:57:09  ID:???.net(487)
>116
>金払わないとパッチすらくれず、払っててもバグ修正してくれないけどな
何その塩対応

118
NAME IS NULL[sage]   投稿日:2016/09/25 23:09:26  ID:???.net(487)
>116
ポスグレのそれを使った事ないって意味ですよ。
Orackeの現場では頻繁に聞こえますね。でも結構トラブッてるようなw

119
NAME IS NULL[sage]   投稿日:2016/09/26 09:58:44  ID:???.net(487)
バグが修正されてユーザのコードが動かなくなったとき
危険なコードを書くのが悪いと言われるのがPostgres
専用の互換性パッチの見積もりをくれるのがOracle
コメント2件

120
NAME IS NULL[sage]   投稿日:2016/09/26 13:15:18  ID:???.net(487)
それわそれわ

121
NAME IS NULL[sage]   投稿日:2016/09/27 00:46:01  ID:???.net(487)
>119
なるほど
ボラクル体質をとても明快に理解できた
そんでもってどっちがまともかは言わずもがなだな


122
NAME IS NULL[sage]   投稿日:2016/09/27 00:59:38  ID:???.net(487)
バージョンあがって動かなくなるなら、バージョンあげないだけだよ
そもそも特に困ってないのにバージョンあげるわけないだろう
ミドルウェアのバージョンが変わるなんて、5年ごとのリプレースだけだよ

123
NAME IS NULL[sage]   投稿日:2016/09/27 01:21:18  ID:???.net(487)
そのバグ修正の内容がセキュリティ脆弱性の改善でなければな

124
NAME IS NULL[sage]   投稿日:2016/09/27 01:50:31  ID:???.net(487)
データベースサーバにセキュリティパッチあてるわけないだろ

125
NAME IS NULL[sage]   投稿日:2016/09/27 01:51:51  ID:???.net(487)
??

126
NAME IS NULL[sage]   投稿日:2016/09/27 02:25:22  ID:???.net(487)
きっと軽い間違いでしょう

127
NAME IS NULL[sage]   投稿日:2016/09/27 10:22:52  ID:???.net(487)
(データベースサーバはインターネッツに公開なんかしないんだから、セキュリティパッチあてる必要もないだろ)
ということかな

128
NAME IS NULL[sage]   投稿日:2016/09/27 14:56:40  ID:???.net(487)
そんなパッチがあるなら、やるだけの事かと。

129
NAME IS NULL[sage]   投稿日:2016/09/27 17:15:32  ID:???.net(487)
はぁ?

130
NAME IS NULL[sage]   投稿日:2016/09/27 17:26:54  ID:???.net(487)
OSのパッチなのかRDBMSのパッチなのかでもかわってくるw

131
NAME IS NULL[sage]   投稿日:2016/09/27 18:24:19  ID:???.net(487)
この流れでOSパッチとかアホ過ぎやろ

132
NAME IS NULL[sage]   投稿日:2016/09/27 20:22:40  ID:???.net(487)
だからパッチなんてあるんかい

133
NAME IS NULL[sage]   投稿日:2016/09/28 00:07:46  ID:???.net(487)
はぁああ?

134
NAME IS NULL[sage]   投稿日:2016/09/28 00:10:30  ID:???.net(487)
おまえらPostgreSQLにセキュリティのためにパッチなんて当てたことあるの?
UPSERT使いたいからバージョンあげるとかだったらあるかもだけど
セキュリティなんて考えたこともない

135
NAME IS NULL[sage]   投稿日:2016/09/28 00:31:52  ID:???.net(487)
いつまで不毛な争いをしているのだ

136
NAME IS NULL[sage]   投稿日:2016/09/29 00:05:22  ID:???.net(487)
毛とNULLは無いほうがいいって聞いたことがある

137
NAME IS NULL[sage]   投稿日:2016/09/29 00:45:43  ID:???.net(487)
だれがハゲだと たここら

138
NAME IS NULL[sage]   投稿日:2016/09/29 00:52:51  ID:???.net(487)
coalesce(頭髪, 植毛)

139
NAME IS NULL[]   投稿日:2016/09/30 06:43:56  ID:x8uGj0c5.net(2)

140
NAME IS NULL[sage]   投稿日:2016/09/30 10:50:27  ID:???.net(487)
ついに9.6かぁ。
もうついていけないw

141
NAME IS NULL[sage]   投稿日:2016/09/30 11:22:57  ID:???.net(487)
>139
・パラレルクエリ
・同期レプリケーション / シャーディング (postgres_fdw)
・全文テキスト検索 (たぶん日本語はダメ)
って感じ?
結構なパワフルユーザ向けだな。まぁ基本はやり尽くしているんだろうけど

142
NAME IS NULL[sage]   投稿日:2016/09/30 13:19:14  ID:???.net(487)
カンファレンスはまた盛況になりそうですね

143
NAME IS NULL[sage]   投稿日:2016/09/30 22:43:32  ID:???.net(487)
どうしてPostgreSQLって本屋さんに本が全然ないんですか?
MySQLはたくさんあるのに

144
NAME IS NULL[sage]   投稿日:2016/09/30 22:50:14  ID:???.net(487)
本が出る頃に改版するためじゃない?

145
NAME IS NULL[sage]   投稿日:2016/10/01 00:29:42  ID:???.net(487)
最新のシーラカンス本の対応バージョンは8くらいだったっけ?

146
NAME IS NULL[sage]   投稿日:2016/10/01 00:34:28  ID:???.net(487)
CTEやCONFLICTについてがっつり書いてるような本が欲しい

147
NAME IS NULL[sage]   投稿日:2016/10/01 00:52:05  ID:???.net(487)
となるとやっぱ最新マニュアルしかないわなぁw
そこそこ良く書けてるしわかり易いと思う。

148
NAME IS NULL[sage]   投稿日:2016/10/06 01:01:59  ID:???.net(487)
おすすめの記事ってどこかある?
ブロガーさんやニュースサイトでも何でも
PostgreSQLについて情報が集まるようなとこ探してる

149
NAME IS NULL[sage]   投稿日:2016/10/06 02:54:12  ID:???.net(487)

150
NAME IS NULL[sage]   投稿日:2016/10/06 05:53:59  ID:???.net(487)
Let'sは最近、更新サボってるからなあ・・・

151
NAME IS NULL[sage]   投稿日:2016/10/06 06:42:02  ID:???.net(487)

152
NAME IS NULL[sage]   投稿日:2016/10/06 08:21:09  ID:???.net(487)
さあ、みんな今こそ売り込みの絶好のタイミング
自社のURLを貼るんだ

153
NAME IS NULL[sage]   投稿日:2016/10/06 11:37:02  ID:???.net(487)
宣伝でもいいよ

154
NAME IS NULL[sage]   投稿日:2016/10/14 01:20:43  ID:???.net(487)
pgAdmin4の日本語化ってどうやるの?

155
NAME IS NULL[]   投稿日:2016/10/17 22:11:27  ID:Xu2/z0cZ.net(2)
エセ左翼の目的は、わざと突っ込みどころが多い主張をすることで自分たちへ注意を向けさせ、
カルトへ向かう非難の矛先を逸らすこと。
国益に反することを言ったり、主張が食い違うもの同士の対立を煽ろうとするので放置し難いが、
主義思想についての洗脳を受けているわけではなく、フリをしているだけなので、
言い負かされてもダメージを負った様子もなく、論点をすり替えられるかスルーされる。
まともに相手をしてはならない。

156
NAME IS NULL[sage]   投稿日:2016/10/18 05:08:12  ID:???.net(487)
pgAdmin3 は日本語で使ってるとなんかのコマンドが日本語で流れてエラーになった記憶があるので、それ以来ずっと英語で使ってる

157
NAME IS NULL[sage]   投稿日:2016/11/22 21:21:59  ID:???.net(487)
話題は?

158
NAME IS NULL[sage]   投稿日:2016/11/23 05:33:07  ID:???.net(487)
来週末のPGConf.Asia、みんなは行くかい?
http://www.pgconf.asia/JP/

159
NAME IS NULL[sage]   投稿日:2016/11/23 13:04:20  ID:???.net(487)
なんだかんだ満員でしょう

160
NAME IS NULL[sage]   投稿日:2016/11/23 16:40:12  ID:???.net(487)
まだ昨日時点ではチケットは残っているっぽかった。

161
NAME IS NULL[sage]   投稿日:2016/12/04 11:34:50  ID:???.net(487)
話題は?

162
NAME IS NULL[sage]   投稿日:2016/12/10 00:05:22  ID:???.net(487)
PostgreSQLって、OrderByを書かないと・・・・
毎回違う並び順になるの?
それとも、PrimaryKey順になるの?
コメント4件

163
NAME IS NULL[sage]   投稿日:2016/12/10 00:44:27  ID:???.net(487)
>162
書けば良い

164
NAME IS NULL[sage]   投稿日:2016/12/10 01:56:45  ID:???.net(487)
不定だわな。たとえ何かの順に並んでたとしても信用出来ない。

165
NAME IS NULL[sage]   投稿日:2016/12/10 04:55:25  ID:???.net(487)
>162
一々ソーティングしなくていいから少しでも速く、省メモリで結果返して欲しいって時に勝手にソーティングされたら寧ろ迷惑だと思わないかい?
ソーティングは通常ではなくオプションとすべきだ

166
NAME IS NULL[sage]   投稿日:2016/12/10 07:56:41  ID:???.net(487)
なんという的外れな観点
コメント2件

167
NAME IS NULL[sage]   投稿日:2016/12/10 08:30:07  ID:???.net(487)
せやろか

168
NAME IS NULL[sage]   投稿日:2016/12/10 16:50:14  ID:???.net(487)
lsで何が返るかみたいなもんやないやろか

169
NAME IS NULL[sage]   投稿日:2016/12/10 17:06:12  ID:???.net(487)
>166
しょうゆうな

170
NAME IS NULL[sage]   投稿日:2016/12/12 13:42:28  ID:???.net(487)
不定だけど、大体はINSERTした順になることが多い
UPDATEしたりするとそれが最後になったりするので
id順とはいえない
もちろん出てくる順番を当てにしちゃいけないw
コメント4件

171
NAME IS NULL[sage]   投稿日:2016/12/12 22:30:45  ID:???.net(487)
で、なんでそんな物理的事情で並んだ順で返すのかって言ったら、『一々ソーティングしなくていいから少しでも速く、省メモリで結果返して欲しいって時に勝手にソーティングされたら寧ろ迷惑だろ、ソーティングは通常ではなくオプションとすべきだ』ってことでないの?
コメント2件

172
NAME IS NULL[sage]   投稿日:2016/12/12 23:26:20  ID:???.net(487)
のはずですが

173
NAME IS NULL[sage]   投稿日:2016/12/13 08:19:35  ID:???.net(487)
>170
クラスタ化インデックスだとpk順になる。

174
NAME IS NULL[]   投稿日:2017/01/29 10:18:17  ID:60pB1fs/.net(8)
>170
そんなのどんなRDBMSでも同じで、実装を考えれば、そうなるだろうが。

175
NAME IS NULL[]   投稿日:2017/01/29 10:20:19  ID:60pB1fs/.net(8)
>171
違う。RDBのレコードはソート指定をしないかぎり不定というのが標準SQLでの仕様だから。

176
NAME IS NULL[sage]   投稿日:2017/01/29 10:37:46  ID:???.net(487)
PHP+PostgreSQLで運用する場合、元号の処理ってどうしてる?
自分でしか使わないシステムなので、極力西暦で通すか、どうしても必要な場合は1988引いてるけど(基本的に昭和のデータは扱わない)、今度の改元がなぁ
コメント6件

177
NAME IS NULL[]   投稿日:2017/01/29 11:01:42  ID:60pB1fs/.net(8)
>176
データベースだというのに西暦→和暦マスタテーブルを作ろうという発想がないことに驚く
コメント2件

178
NAME IS NULL[sage]   投稿日:2017/01/29 11:05:32  ID:???.net(487)
>176
昭和99年とかの特殊な要件がなければ内部は西暦、外部とのやり取り時に変換が普通かと

179
NAME IS NULL[sage]   投稿日:2017/01/29 12:10:35  ID:???.net(487)
>176
表示なり入力なりエンドユーザに一番近いところで変換したいな
そもそも元号という「汚い」ものを可能な限り扱いたくないし、
Postgres用の変換はおそらく自作が必要だが、PHPやJS用なら適当に拾ってこれるから

180
NAME IS NULL[sage]   投稿日:2017/01/29 12:20:13  ID:???.net(487)
>177
マスタテーブルだけで変換しようとすると、年の途中での改元に対応しないといけないんで、1日あたり1レコード要るんじゃね?
100年で36,525か36,524になっちゃう
コメント2件

181
NAME IS NULL[sage]   投稿日:2017/01/29 12:46:11  ID:???.net(487)
関数でいい

182
NAME IS NULL[]   投稿日:2017/01/29 13:32:09  ID:60pB1fs/.net(8)
>180
アホくさ。なんで年号が変わらない部分の日の単位でデータを持つんだよ。

それじゃあ自分の生年月日を書くのに今日からさかのぼって一日ごとに列挙して書くようなもんだろw

183
NAME IS NULL[sage]   投稿日:2017/01/29 15:26:01  ID:???.net(487)
明治:1868-01-25 〜 1912-07-29
大正:1912-07-30 〜 1926-12-24
昭和:1926-12-25 〜 1989-01-07
平成:1989-01-08 〜
これをどうUIに反映するかは、各自の考え方だろう。

184
NAME IS NULL[]   投稿日:2017/01/30 10:51:23  ID:tcdzx+zX.net(2)

185
NAME IS NULL[]   投稿日:2017/02/01 10:22:49  ID:wkr1HydS.net(2)

186
NAME IS NULL[]   投稿日:2017/02/01 14:47:49  ID:4qKxf55o.net(2)
インデックスについて教えてください。
調べましたが「検索が早くなる場合もあるらしい」くらいしか分かりませんでした。

・ インデックスは作成するだけでよいのか?
   検索時に作成したインデックスを指定したりしなくてよいのか。
   調べた限り指定する方法がなかったため、作成するだけで効果があるように見えた。

・ REINDEXでのロック時の挙動
   インデックスがロックされると聞いた。
   インデックスがロックされるだけで検索自体は可能なのか。

・ とりあえずインデックスを作成しておけばよいのか?
   インデックスがそんなに便利なものなら、ハードディスクの容量が許す限り、
   検索しそうなものは片っ端からインデックスを作成しておけばよいのか。
コメント2件

187
NAME IS NULL[sage]   投稿日:2017/02/01 15:20:55  ID:???.net(487)
>186
> ・ インデックスは作成するだけでよいのか?
はい。

インデックスを使った方が検索コストが低い場合は、自動的に使われます。

> ・ REINDEXでのロック時の挙動
>    インデックスがロックされるだけで検索自体は可能なのか。
いいえ。検索もブロックされます。

通常はreindexする必要はありません。
将来、reindexが必要だと感じたら(容量が増大したなどの場合)、どう対処するのが
良いか検索するとよいです。

> ・ とりあえずインデックスを作成しておけばよいのか?
いいえ。

インデックスがあるということは、INSERT/DELETEのときにデータ本体だけでなく
インデックスそのものも更新する必要があります。
単純に言えば、処理時間が増えるということです。
不要なインデックスは生成しないようにするのが良いです。

188
186[sage]   投稿日:2017/02/01 15:43:28  ID:???.net(487)
>187
ありがとうございます。
助かります。

189
NAME IS NULL[]   投稿日:2017/02/01 18:30:22  ID:ndjPxyEX.net(2)
ポスグレにかぎらない初心者の質問が多いな。

190
NAME IS NULL[sage]   投稿日:2017/02/02 17:57:30  ID:???.net(487)
日本語扱うならencodeはCだろって言う人を結構見る気がしますが、なぜutf8じゃ駄目なんでしょうか?

191
190[sage]   投稿日:2017/02/02 18:00:09  ID:???.net(487)
例えばこの人

http://soudai1025.blogspot.jp/2015/03/postgresqlunicode-6.html
> なお、検証した環境のPostgreSQLのlocale指定はC(nolocale)としています。
> (日本語を扱う場合はほとんどの場合はCを指定するでしょうし)

192
NAME IS NULL[sage]   投稿日:2017/02/02 18:41:25  ID:???.net(487)
えっ・・・
今まで作ったシステム、全部utf8にしてきてしもうた・・・

193
NAME IS NULL[sage]   投稿日:2017/02/02 19:10:07  ID:???.net(487)
encodeとlocaleは別だぞ。
encode=utf8 かつ locale=C が推奨なのはよく見る。

Linux (glibc) はlocaleの実装をサボっているので、C以外に設定しても性能が落ちるだけで何の利点もない。
Windowsなら文字列の比較やソートに差が出るので、用途に適して選べばいい。
コメント2件

194
NAME IS NULL[sage]   投稿日:2017/02/02 22:45:30  ID:???.net(487)
initdb --encoding=UTF8 --no-locale ←これが基本かなと

195
NAME IS NULL[]   投稿日:2017/02/03 08:35:26  ID:kkoWZhIO.net(2)

196
NAME IS NULL[sage]   投稿日:2017/02/03 14:49:30  ID:???.net(487)
>193
Linuxでも当然ながら差が出る。
なぜなら、文字コードは辞書順には並んでないから。
コメント4件

197
NAME IS NULL[]   投稿日:2017/02/03 15:00:11  ID:JY8XYZfi.net(2)
>196
どんな文字コードでも漢字の並び順は、日本人が見ても意味のある順番になってないからな。

198
NAME IS NULL[sage]   投稿日:2017/02/03 15:45:41  ID:???.net(487)
>196
Linuxもまともになったのか?
昔使ったときはlocale=ja系でも変わらず文字コード順に並べられたんだが
コメント2件

199
NAME IS NULL[sage]   投稿日:2017/02/03 16:06:32  ID:???.net(487)
>198
「辞書順」の正しい定義を知らないけど、少なくとも文字コード順には並ばないよ。

create table foo(s text)に、漢数字の'一'から'九'をインサートし、以下のクエリを実行。
select array_agg(s) from (select s from foo order by s) as t;

locale=C -> {一,七,三,九,二,五,八,六,四} -- 文字コード順
locale=ja_JP.UTF-8 -> {一,九,五,三,四,七,二,八,六} -- 辞書(?)順
コメント2件

200
NAME IS NULL[sage]   投稿日:2017/02/03 16:35:10  ID:???.net(487)
文字コード順でも辞書順でも、それを正解とするかどうかは要件次第。
ちなみに漢数字は、訓読み順で並んでいる。

201
NAME IS NULL[sage]   投稿日:2017/02/03 16:45:47  ID:???.net(487)
>199
理解した。Linuxでも順序は変わるね。
ひらがな/カタカナの濁/半濁の扱いは今でも差があるようだ。設計思想?互換性?
 msvcrt: ハはバばパぱ
 glibc : はばぱハバパ

環境依存が怖い。要件次第だが、自前で「ふりがな」列を用意したほうがマシだな。

202
NAME IS NULL[sage]   投稿日:2017/02/03 17:27:01  ID:???.net(487)
日本語ヤバイ

203
NAME IS NULL[sage]   投稿日:2017/03/21 17:08:09  ID:???.net(487)
他人に公開する予定の無い、自分専用のwebサイトを作る場合でもSQLインジェクション対策はしておいた方がいいよね?
クラスを転用するときに問題になるし、悪意が無くてもエラーのもとだし
コメント4件

204
NAME IS NULL[sage]   投稿日:2017/03/21 17:45:20  ID:???.net(487)
おお 久々
3.19行った人いないの?

205
NAME IS NULL[sage]   投稿日:2017/03/21 19:35:41  ID:???.net(487)
>203
言語によるけど今時パラメータクエリぐらいは使えるだろうから普通にパラメータクエリでやるわな
あとから見てもその方がわかりやすいし
コメント2件

206
NAME IS NULL[sage]   投稿日:2017/03/21 20:16:56  ID:???.net(487)
>205
PHPで言えば、pg_query_params()とか?

207
NAME IS NULL[]   投稿日:2017/03/21 21:01:55  ID:NIvfjcd/.net(2)
phpって対策されていないやつ
非推奨じゃなかったっけ

おいらはPDOでやってるかな

208
NAME IS NULL[sage]   投稿日:2017/03/21 21:25:31  ID:???.net(487)
>203
やらないで

209
NAME IS NULL[sage]   投稿日:2017/03/22 00:21:47  ID:???.net(487)
ぽすとぐれすきゅーえる
ぽすとぐれすえすきゅーえる

210
NAME IS NULL[]   投稿日:2017/05/10 00:41:30
TIMESTAMP (WITHOUT TIMEZONE)とCURRENT_TIMESTAMPについて教えてください。
INSERTにてCURRENT_TIMESTAMPで入れたあと、SELECTで取り出すと日本時間になっています。
どの時点で日本時間になっているのでしょうか?

1. CURRENT_TIMESTAMPの時点ではJSTだが、INSERTするときにJSTがUTCに変換されて保存され、
  SELECTで取り出すときにシステムの時刻を見て+0900されている
2. CURRENT_TIMESTAMPの時点ではJSTで取得されるが、
  元々これにタイムゾーンのデータはなく、そのまま保存され、
  SELECTで取り出すときは同じシステム時刻を使ってるからたまたま同じタイムゾーンとして取得されている
3. CURRENT_TIMESTAMPの時点ではUTCで取得され、保存もUTCだが
  SELECTで取り出すときはシステム時刻を参照して勝手にJSTにしている
4. その他の未知の仕組み
コメント4件

211
NAME IS NULL[sage]   投稿日:2017/05/10 07:47:06
>210
http://www.postgresql.jp/document/current/html/datatype-datetime.html
> 通常timestamp without time zoneの値はtimezoneのローカル時間としてみなされる
とあるから、言葉通りだとするなら:
・INSERTするときに時刻の値だけを保存する (+0900を無視)
・SELECTするときに現在のタイムゾーン扱い (+0900を追加)
SET TIMEZONE TOしながら試してみれば検証できるかも
コメント2件

212
NAME IS NULL[sage]   投稿日:2017/05/12 18:06:02
>210
まず前提として、without time zoneをselectした結果にはtime zone情報はないのだから、UTCもJSTもない。
次にcurrent_timestampは、tz情報付きのデータ。
それをwithout time zone絡むにインサートすると、tz情報は切り捨てられる。(たとえば、"2017-05-12 18:00:00")

そのデータを、日本で取得しようがアメリカで取得しようが、tz情報なしの"2017-05-12 18:00:00"が取得される。
つまり、アメリカで取得した人は、現地時間の"2017-05-12 18:00:00"だと見えるということ。

213
210[sage]   投稿日:2017/05/12 23:59:44
>211-212
ありがとうございます。
世界向けのSNSを作ろうとしたのですが、これがネックで
時間部分の設計ができない状態でした。
助かります。

214
NAME IS NULL[sage]   投稿日:2017/05/14 15:53:45
お世話になります。

psql で database ごとに history を分けて表示したい (\s) のですが、
(他の databae の history を表示したくない)
どうやったらいいのでしょうか?

よろしくお願いします。

215
NAME IS NULL[sage]   投稿日:2017/05/14 16:12:10
historyって、homeの .psql_history 出してるだけだからなあ
db切り替えるたびにリネームするとか?

216
NAME IS NULL[sage]   投稿日:2017/05/14 20:12:51
ああ、そういう仕組みなんですね。
複数の database をそれぞれ別々に psql で開いたりしてるんですけど、じゃぁ、全然無理ですね。
わかりました、ありがとうございました。

217
NAME IS NULL[sage]   投稿日:2017/05/14 23:48:56

218
NAME IS NULL[sage]   投稿日:2017/05/15 22:58:52
>217
そのものズバリですね♪
ありがとうございます。
おかげで、.psqlrc っていう設定ファイルのことも知りました。
PostgreSQL の Documentation にありますね。
かさねがさねありがとうございました。

219
NAME IS NULL[ageteoff]   投稿日:2016/05/03 15:42:33  ID:???.net(487)
PostgreSQL (ぽすとぐれすきゅーえる, ぽすとぐれす) について語るスレです。

●関連サイト
PostgreSQL 本家
http://www.postgresql.org/
日本PostgreSQLユーザ会
http://www.postgresql.jp/
ドキュメント
http://www.postgresql.jp/document/current/html/
ダウンロード
http://www.postgresql.jp/PostgreSQL
Let's Postgres (ポータルサイト)
http://lets.postgresql.jp/
pgFoundry
http://pgfoundry.org/

●前スレ
PostgreSQL Part.10

220
NAME IS NULL[sage]   投稿日:2016/05/03 15:50:06  ID:???.net(487)
あらあら、次の舞踏会はこちらで開かれるのかしら?

221
NAME IS NULL[]   投稿日:2016/05/03 15:56:07  ID:BecA4HPo.net(2)
●過去スレ
PostgreSQL 2テーブル目 (WebProgから派生)
データベース板の別スレッドへ
PostgreSQL & pgsql-jp ML 3テーブル目
データベース板の別スレッドへ
【Windows】 PostgreSQL8 Part.1 【対応】 (実質part4)
データベース板の別スレッドへ
PostgreSQL Part.5
データベース板の別スレッドへ
PostgreSQL Part.6
データベース板の別スレッドへ
PostgreSQL Part.7
PostgreSQL Part.8
PostgreSQL Part.9
PostgreSQL Part.10

●関連過去スレ
■   PostgreSQLのことならここで聞け   ■ (初心者part1)
データベース板の別スレッドへ
■   PostgreSQLのことならここで聞け   ■ (初心者part2)
データベース板の別スレッドへ
PostgresSQLについて語ろう (雑談part1)
データベース板の別スレッドへ
PostgreSQLについて語ろう where OID=2::oid (雑談part2)
データベース板の別スレッドへ

●関連スレ
2ch検索
http://find.2ch.net/index.php?STR=PostgreSQL
WebProg/ PostgreSQL 2テーブル目 /WebProg板
コメント1件

222
NAME IS NULL[sage]   投稿日:2016/05/03 19:08:46  ID:???.net(487)
>3
あ、忘れてたありがと

223
NAME IS NULL[sage]   投稿日:2016/05/04 00:35:18  ID:???.net(487)
おっつおっつ

224
NAME IS NULL[sage]   投稿日:2016/05/12 22:34:05  ID:???.net(487)
PostgreSQL 9.6 beta1
http://www.postgresql.org/about/news/1668/

9.5から9.1のマイナーバージョンアップも。
コメント1件

225
NAME IS NULL[sage]   投稿日:2016/05/12 22:59:09  ID:???.net(487)
マイナーバージョンアップではなく
累積バグ修正と呼べといつも思う
コメント1件

226
NAME IS NULL[sage]   投稿日:2016/05/14 07:25:02  ID:???.net(487)

227
NAME IS NULL[sage]   投稿日:2016/05/17 12:51:27  ID:???.net(487)
DBバージョン上げたら
insert into a select * from a_tmp where code = 1

列"b_flg"は型booleanですが、式は型textでした
ってエラー出るようになったんだけど、
CREATE CASTで対処するのが正しい道?
コメント1件

228
NAME IS NULL[sage]   投稿日:2016/05/17 13:09:37  ID:???.net(487)
>9
エスパー求む

229
NAME IS NULL[sage]   投稿日:2016/05/17 13:23:11  ID:???.net(487)
>9
そこで動かなくなるのってかなり古かったんじゃないか?

a_tmp にある b_flg に相当する列の型を boolean に変更すべきだろう。
CREATE (TEMP?) TABLE a_tmp (LIKE a) すればミスを避けられる。
コメント1件

230
NAME IS NULL[sage]   投稿日:2016/05/17 13:28:59  ID:???.net(487)
エスパーじゃないとわかんないのかw

説明すると
table a
code integer
b_flg boolean

table a_tmpも同じ構成のテーブル

で、booleanのフィールドがTRUEとか返すんだけど、それが
文字列だと思われてエラーになるみたい
# 8.4くらいから?
コメント1件

231
NAME IS NULL[sage]   投稿日:2016/05/17 14:40:07  ID:???.net(487)
>11
もちろんa_tmpの b_flgの型はbooleanです。
コメント1件


232
NAME IS NULL[sage]   投稿日:2016/05/17 15:00:34  ID:???.net(487)
って自分でテーブル作って同じの試したらうまくいく・・・・

select b_flg from a_tmp

TRUEが帰ってくる時と
tが帰ってくる(こっちでエラーになる)のあるんだけど、何違うんだろ・・・

233
NAME IS NULL[sage]   投稿日:2016/05/17 15:07:39  ID:???.net(487)
「boolean型」なのか「text型にbooleanっぽい文字列が入ってる」のかをきちんと確認したほうが良い。
特にSELECT INTOでテーブルを作るような場合だと型指定が曖昧な場合がある。
コメント1件

234
NAME IS NULL[sage]   投稿日:2016/05/17 15:33:03  ID:???.net(487)
>9
> DBバージョン上げたら
何から何に上げたのか

> insert into a select * from a_tmp where code = 1
どこでこれを実行しているのか

> table a_tmpも同じ構成のテーブル
本当か?

> で、booleanのフィールドがTRUEとか返すんだけど
何で実行するとそうなるのか

> 文字列だと思われて
思う主体は何か?

235
NAME IS NULL[sage]   投稿日:2016/05/17 15:35:23  ID:???.net(487)
> って自分でテーブル作って同じの試したらうまくいく
うまくいく環境と、うまくいかない環境の差異は何か
コメント1件

236
NAME IS NULL[sage]   投稿日:2016/05/17 15:42:34  ID:???.net(487)
>9
> CREATE CASTで対処するのが正しい道?
なわきゃない
コメント1件

237
NAME IS NULL[sage]   投稿日:2016/05/17 20:41:11  ID:???.net(487)
なぜテーブル定義を確認しないんだろう...
コメント6件

238
NAME IS NULL[sage]   投稿日:2016/05/18 13:16:35  ID:???.net(487)
確認した結果同じ構成だったんだろ
知らんけど

239
NAME IS NULL[sage]   投稿日:2016/05/21 16:12:15  ID:???.net(487)
質問: shared_bufferを16GBに設定しているのに、実際にはそれ以下しか使用されてないっぽいんだが、どういうことでしょうか。

sahred_bufferの値が16GBであることを確認

$ grep shared_buffers /etc/postgresql/9.3/main/postgresql.conf
shared_buffers = 16GB # min 128kB

メモリ使用量を確認 (ファイルキャッシュを除くと9.781GBしか使われてない)

$ free -m
total used free shared buffers cached
Mem: 64384 64065 319 0 0 54284
-/+ buffers/cache: 9781 54603
Swap: 65487 120 65367

なおデータサイズは40GB程度。最大のテーブルが20GBくらいあって、それを全件検索してもメモリ使用量が増えない。
そのせいで性能が頭打ちになっている。だれかヒントおねがい。

240
NAME IS NULL[sage]   投稿日:2016/05/21 17:03:47  ID:???.net(487)
>21
pg_buffercache を突っ込んで調べてみるのはどうか?
http://www.postgresql.jp/document/9.5/html/pgbuffercache.html

241
NAME IS NULL[sage]   投稿日:2016/05/21 17:42:43  ID:???.net(487)
>21
SeqScan時は一定量のメモリでやり繰りする機能が入っているから全メモリは使わない。
強制的に共有バッファに乗せたいなら pg_prewarm を試すといい。

そして、「そのせいで性能が頭打ち」は誤解だったと気付くだろう。
コメント2件

242
NAME IS NULL[sage]   投稿日:2016/05/23 09:04:57  ID:???.net(487)
>22
ありがとうございます。こんな便利なモジュールがあるんですね。
とはいえインストールするのはDBAの許可が下りなさそうなので困りました。

>23
ありがとうございます。pg_prewarmのmanualページを読むと、
「プレウォームはキャッシュが主に空のとき、一般的には起動時にもっとも有用です。」
とありました。起動時以外は効果は薄いんでしょうか。困りました。

> そして、「そのせいで性能が頭打ち」は誤解だったと気付くだろう。

そうなんでしょうか。今のところ、HDDから最初に読み込むときに時間がかかるのが問題であり、2回目以降は高速なのでSQLは問題ないかなと思ってます。
たとえば select * from users where id = :user_id のようなSQLがあったら、
2回目以降はメモリキャッシュに載っているので数msですが、ユーザごとの最初の
アクセスではHDDから読み込むので、2秒〜3秒かかってしまうのが問題です。
それで、shared_bufferを16GB設定しているのに実メモリは9GBしか使っていない
(ファイルキャッシュを除く)のを改善すれば解決できると思っているんですが、
甘いでしょうか。

243
NAME IS NULL[sage]   投稿日:2016/05/23 12:01:07  ID:???.net(487)
>24
ああ、全件検索が遅いのが問題なんじゃなくて、
全件検索ではウォームアップができないのが問題だったのか。
それなら pg_prewarm が適するだろうね。
テーブルだけでなくインデックスも prewarm が必要か確認して欲しい。
「起動時以外は効果は薄い」とは「あくまで準備体操」の意味。
全ユーザが一通りアクセスした後のメモリ状態になるまでの時間を早めているだけだからね。

244
NAME IS NULL[sage]   投稿日:2016/05/23 13:51:14  ID:???.net(487)
>24
> たとえば select * from users where id = :user_id のようなSQLがあったら、
> 2回目以降はメモリキャッシュに載っているので数msですが、ユーザごとの最初の
> アクセスではHDDから読み込むので、2秒〜3秒かかってしまうのが問題です。

そのたとえが本当に適切なたとえだとしたら、遅い原因はキャッシュにのってないから
じゃなくて、インデックスがないからだな。

245
NAME IS NULL[sage]   投稿日:2016/05/24 03:22:09  ID:???.net(487)
さすがにそれは考えにくいから例えが適切じゃなかったんだろうなぁ。
コメント1件

246
NAME IS NULL[]   投稿日:2016/05/26 23:53:37  ID:6qsFySzK.net(2)
すみません、教えてください。
Windows7/8/10などのクライアントOSにPostgreSQL本体をインストールして、他のPCからそのDBに
アプリケーションで読み書きした場合、Windowsのライセンス違反になるのでしょうか?

http://itpro.nikkeibp.co.jp/article/COLUMN/20060811/245694/?rt=nocnt
↑のような制限にかかってしまうのでしょうか?

もしライセンス違反なら、PowerGresのような製品でWindows7/8/10で動作すると書いてあるん
ですが、これはスタンドアロン限定ということですか?
コメント1件

247
NAME IS NULL[sage]   投稿日:2016/05/27 06:22:59  ID:???.net(487)
>28
ここで聞くより、PowerGres販売元にメールで聞いた方が良いと思う。
コメント1件

248
NAME IS NULL[sage]   投稿日:2016/05/27 09:17:39  ID:???.net(487)
>28
問題ない

249
NAME IS NULL[sage]   投稿日:2016/05/27 09:51:30  ID:???.net(487)
ありますん

250
NAME IS NULL[sage]   投稿日:2016/05/27 11:01:47  ID:???.net(487)
そんなめんどくさいライセンス違反なんてあるの?
コメント1件

251
NAME IS NULL[sage]   投稿日:2016/05/27 13:32:13  ID:???.net(487)
>28
> アプリケーションで読み書きした場合、Windowsのライセンス違反になるのでしょうか?
なる。
というのが本当かどうかを知りたければ、まずこれを読め。
http://www.haruru29.net/blog/windows-share-files-20-devices/
納得できなければ、MSに聞くのが手っ取り早い。

> もしライセンス違反なら、PowerGresのような製品でWindows7/8/10で動作すると書いてあるん
> ですが、これはスタンドアロン限定ということですか?
じゃないの?

252
NAME IS NULL[]   投稿日:2016/05/27 14:04:58  ID:Swk78D+S.net(4)
通信したらいかんの?
windows上のブラウザからデータもらうWebサーバーはみんなライセンス違反?
コメント1件

253
NAME IS NULL[sage]   投稿日:2016/05/27 14:14:16  ID:???.net(487)
IISなら限定的に公開してもいいという話もあるな
ただし、同時接続数10までというのは、同時に10台のクライアントからと言う意味ではなく、
connectionの数という話もある
普通のブラウザでアクセスすると、同時に5本くらいアクセスに行くから、台数でいうと2台までとか
そんな制限になってるらしい

まあ、Microsoftに質問するのが確実だろうが
(ただ、Web情報によれば、サーバ用途は駄目と言われるらしいが)
コメント1件

254
NAME IS NULL[sage]   投稿日:2016/05/27 14:16:17  ID:???.net(487)
すごく古い情報だが、
http://www.atmarkit.co.jp/fwin2k/win2ktips/207rest_iis_pro/rest_iis_pro...
> Webサーバの機能制限
> TCPでの同時接続数は最大10個まで
> TCPレベルでの同時接続数が最大で10個までに制限される。1人のユーザーが多数のTCP接続を開始している場合には、それだけで10個のTCP接続がいっぱいになってしまう可能性がある

これが正しい情報で、なおかつ今でも有効だとすると、事実上Webサーバとしては機能しないだろう
コメント1件

255
NAME IS NULL[sage]   投稿日:2016/05/27 14:18:08  ID:???.net(487)
ちなみに、MS謹製のサーバ機能以外のアプリは、問い合わせると軒並み駄目だと言われる気がする
(個人の想像です)
コメント1件

256
NAME IS NULL[sage]   投稿日:2016/05/27 14:27:21  ID:???.net(487)
MSっていろいろめんどくさいね。そら逃げますわぁ
コメント2件

257
NAME IS NULL[sage]   投稿日:2016/05/27 14:30:32  ID:???.net(487)
Linuxにしとくのがいいよ
コメント2件

258
NAME IS NULL[sage]   投稿日:2016/05/27 15:05:36  ID:???.net(487)
ですよねぇ。ソース持ってきてメイク、インストールでそのまんま使えるのが
気持ちいい。ぼろいPCでもまぁ動く。社員DBぐらいならそんなもんで十分。

259
NAME IS NULL[]   投稿日:2016/05/27 18:07:55  ID:tcTYH4g1.net(2)
電話でpowergressに聞くと、クライアントOSにポスグレをインストールして他の端末からアクセスしても問題ないはず、そんな問い合わせはないとのこと。メールじゃないから正式回答かは分からないが。

しかしマイクロソフトによると、それはNG。ポスグレがインストールされてる端末のアプリケーション(ポスグレ本体)を介して結果を返しているので、サーバにしか許されない操作をしていることになるらしい。

ベンダーによっては、本来NGの使い方を製品ページで提案してるが、知らないか、都合よく解釈してるか、どっちかなんだろうな。

260
NAME IS NULL[sage]   投稿日:2016/05/27 18:18:17  ID:???.net(487)
>41
> 電話でpowergressに聞くと、クライアントOSにポスグレをインストールして他の端末からアクセスしても問題ないはず、そんな問い合わせはないとのこと。メールじゃないから正式回答かは分からないが。
なんと質問したかによるな。
ちゃんとWindowsのライセンス的に問題はないか聞いたか?

261
NAME IS NULL[]   投稿日:2016/05/27 22:30:53  ID:Swk78D+S.net(4)
MSがダメっつーんだからダメだろ
コメント7件

262
NAME IS NULL[sage]   投稿日:2016/05/27 22:37:49  ID:???.net(487)
サーバ用途なのにWindows Serverを使わないような貧乏人にはLinux (サポート無し) がお似合い

263
NAME IS NULL[sage]   投稿日:2016/05/27 22:47:11  ID:???.net(487)
そら そーだなぁ と言って離れてくわけです

264
NAME IS NULL[sage]   投稿日:2016/05/27 22:52:18  ID:???.net(487)
シュリンクラップ契約は有効かっつー話はあるけどな。

265
NAME IS NULL[sage]   投稿日:2016/05/27 23:15:31  ID:???.net(487)
Excel共有なんかどうなるんだろ
コメント1件

266
NAME IS NULL[sage]   投稿日:2016/05/28 00:08:57  ID:???.net(487)
真面目な人ほど、コンプライアンスに厳しい会社ほど
従います。当たり前ですけど。

267
NAME IS NULL[sage]   投稿日:2016/05/28 05:27:06  ID:???.net(487)
>47
共有するブックを置くファイルサーバーが Windows Server ならなんの問題もない
つか、コンテンツの問題じゃないし
コメント1件

268
NAME IS NULL[sage]   投稿日:2016/05/28 14:55:10  ID:???.net(487)
unique制約のindexをdescで作れますか
コメント1件

269
NAME IS NULL[sage]   投稿日:2016/05/28 15:04:12  ID:???.net(487)
>50
目的は?
コメント1件

270
NAME IS NULL[sage]   投稿日:2016/06/16 13:48:47  ID:???.net(487)
PostgreSQLはストレージがHDDじゃなくてSSDでも装置の特性に合ったバッチリ最適なデータの出し入れをしてくれますか?
コメント4件

271
NAME IS NULL[sage]   投稿日:2016/06/16 18:05:16  ID:???.net(487)
してくれません
プランコストの調整くらいはできるが
基本的にはOSに丸投げ

272
NAME IS NULL[sage]   投稿日:2016/06/16 18:13:16  ID:???.net(487)
そうでしたか。。
コメント1件

273
NAME IS NULL[sage]   投稿日:2016/06/16 18:37:11  ID:???.net(487)
他のRDMSではSSD用に処理が分かれているのだろうか

274
NAME IS NULL[sage]   投稿日:2016/06/16 20:43:11  ID:???.net(487)
さすがに本体の処理は変わらんと思うがキャッシュ機構とかは専用設計があるみたい
http://www.oracle.com/technetwork/jp/database/articles/pickup/index...

275
NAME IS NULL[sage]   投稿日:2016/06/17 01:21:21  ID:???.net(487)
ストレージが比較的高速なサーバー機だとデフォルトのrandom_page_costが
全然合わないから調整必須、ってのは昔からだな。

276
NAME IS NULL[sage]   投稿日:2016/06/17 02:49:21  ID:???.net(487)
当然 I/O statは見るわなぁ。
コメント1件

277
NAME IS NULL[sage]   投稿日:2016/06/19 00:37:31  ID:???.net(487)
一度仕事で使ってみたい

278
NAME IS NULL[]   投稿日:2016/06/19 10:44:21  ID:sk8gYGH6.net(2)
ボードゲームのオリジナルオーダー制作
http://www.logygames.com/logy/ordermade.html
簡単に本格自作ボードゲームが作れる時代到来!!
http://jellyjellycafe.com/3869
100円ショップでボードゲームを自作しよう
https://sites.google.com/site/jun1sboardgames/blog/makeyourbg
ノーアイデアでボードゲームを作ろう第1回「100円ショップで物を買う」
http://boardgamelove.com/archives/boardgame-make-1/
ボードゲーム市場がクラウドファンディングの出現で急成長を遂げ市場規模を拡大中
http://gigazine.net/news/20150820-board-game-crowdfunding/

279
NAME IS NULL[]   投稿日:2016/08/13 22:21:08  ID:N8gS1gM5.net(2)
■質問内容
検索結果の続きを取得するSQLを教えてください。

■詳細
データベースを検索し、100件ずつ取得しようとしています。

検索結果は100件ずつ取得するため、検索結果が100件以上ある場合は、
続きとして101件目から取得することになります。

通常はOFFSET句を使用して続きを取得しますが、更新の多いデータベースのため、
レコード数が増減する可能性があり、OFFSETで特定の数スキップすると問題が発生します。
例えば、続きの100件を取得する際、スキップする最初の100件の中に新たなレコードが1件増えると、
最初の100件取得した際の100件目のレコードと、続きの101件目のレコードは同じものになります。

WHERE句で解決を試みようとも思いましたが、ユニークな値でORDER BYをかけているわけではないため、不可能と判断しました。
ORDER BYで対象としているカラムの結果は同じ値のものも含まれており、
その同じ値の続く途中で件数によって区切られた場合、そのカラムをWHEREの対象にはできません。

助けてください。
コメント2件

280
NAME IS NULL[sage]   投稿日:2016/08/13 22:33:42  ID:???.net(487)
ソートキーは当然あるわけだから、「前回の最後のソートキーより大きな100件」を取得すればいいんでない?

281
NAME IS NULL[sage]   投稿日:2016/08/14 03:22:54  ID:???.net(487)
>62
すいません、ソートキーというのはORDER BYで指定するカラムですよね。
そのカラムの値がユニークではないので、その値で判定できないんです。
このようなイメージです。

〜 ORDER BY score;

score
--------
2500
2800
3000
3000
3000
3400

例えばこれで3件ずつ取得するためにLIMIT 3を付けた場合、3000のスコアの途中まで取得されるので、
WHERE > 3000というような形で指定できないのです。

282
NAME IS NULL[sage]   投稿日:2016/08/14 06:01:16  ID:???.net(487)
テンポラリテーブル作って検索結果突っ込んでおくとか
主キーだけでも
コメント1件

283
NAME IS NULL[sage]   投稿日:2016/08/14 07:47:45  ID:???.net(487)
>61
続きを取得している間はトランザクションは開きっぱなしなのか?
更新されても結果が変化しないのが条件なら
開きっぱなし or 全行を一時保管しておく必須がある

トランザクションを切るなら並行する更新結果も見えてしまうが
更新によって主キーとソートキーが変わらないならば
「欲しいソートキー + 主キー」を条件にすればいい
ORDER BY score, pkey WHERE score >= 前回のscore AND pkey > 前回のpkey

284
NAME IS NULL[sage]   投稿日:2016/08/14 09:02:39  ID:???.net(487)
実はユニークな主キーもないとか言い出したりして。
コメント1件

285
NAME IS NULL[sage]   投稿日:2016/08/15 07:13:36  ID:???.net(487)
うぎゃ
コメント1件

286
NAME IS NULL[sage]   投稿日:2016/09/04 22:19:47  ID:???.net(487)
次のバージョンって10になるのん?
コメント2件

287
NAME IS NULL[sage]   投稿日:2016/09/06 00:48:17  ID:???.net(487)
>68
9.6

288
NAME IS NULL[sage]   投稿日:2016/09/11 05:22:55  ID:???.net(487)
どうしてPostgreSQLはMySQLに勝てたのか
コメント1件

289
NAME IS NULL[sage]   投稿日:2016/09/16 04:50:18  ID:???.net(487)
>63
score が 3000 であるレコード同士の順番をどうにかして決めておかないとだめだよ。

> 例えば、続きの100件を取得する際、スキップする最初の100件の中に新たなレコードが1件増えると、
> 最初の100件取得した際の100件目のレコードと、続きの101件目のレコードは同じものになります。
これを嫌うということは、最新のデータが表示されない可能性があるけれど、それはそれでいいってことかな

290
NAME IS NULL[sage]   投稿日:2016/09/16 13:33:25  ID:???.net(487)
>61
> 最初の100件取得した際の100件目のレコードと、続きの101件目のレコードは同じものになります。
逆にそっちの方がいいかもよ。

仮に、scoreの降順でデータを取得するとする。
最初の検索時は350件あって、データの変更がなければ4ページ。
最初は1位5000点)〜100位(4000点)が表示される。

で、その表示中に、4001〜4999点に10人追加されたとする。
その結果、旧91〜100が101〜110位になる。

そのとき、「次」を見たときどうなってるのが良いか?
・旧101〜200位が表示される
・新101〜200位が表示される

今は、こうあるべきだと思っている。
> ・旧101〜200位が表示される
考えて欲しいのは、そこで「前」を見たらどうなっているべきか。
また、新たに追加された10人はいつどのようにすれば見られるのか。
コメント1件

291
NAME IS NULL[sage]   投稿日:2016/09/16 14:14:33  ID:???.net(487)
1か月も前のレスなのに急にどうした
コメント1件

292
NAME IS NULL[sage]   投稿日:2016/09/16 14:54:50  ID:???.net(487)
直近のコメントが今日だったから、最近の話題かと勘違いしたわ

293
NAME IS NULL[sage]   投稿日:2016/09/17 23:30:54  ID:???.net(487)
>70
実際に勝ってるかどうかは知らないけど、もし勝つとしたら商用無料のせいだろ

294
NAME IS NULL[sage]   投稿日:2016/09/18 00:08:28  ID:???.net(487)
MySQLだって無料で商用に使えるが。


295
NAME IS NULL[sage]   投稿日:2016/09/18 00:15:45  ID:???.net(487)
実際のデータがわからんからなんとも
コメント1件

296
NAME IS NULL[]   投稿日:2016/09/18 00:36:42  ID:eQBFaRs8.net(2)
MySQLってまだあるの?

297
NAME IS NULL[sage]   投稿日:2016/09/18 20:47:05  ID:???.net(487)
>78
冗談にしてはパンチが足りない

298
NAME IS NULL[sage]   投稿日:2016/09/18 23:51:08  ID:???.net(487)
MySQLってマラあるの?
コメント1件

299
NAME IS NULL[sage]   投稿日:2016/09/18 23:53:40  ID:???.net(487)
>78
まいしーくぅえる
コメント2件

300
NAME IS NULL[sage]   投稿日:2016/09/18 23:55:26  ID:???.net(487)
>80
ねえよ

301
NAME IS NULL[sage]   投稿日:2016/09/19 00:40:19  ID:???.net(487)
まらぁ?
コメント2件

302
NAME IS NULL[sage]   投稿日:2016/09/19 11:36:37  ID:???.net(487)
ドゥーユーリーメンバー

303
NAME IS NULL[sage]   投稿日:2016/09/19 19:01:18  ID:???.net(487)
トゥエニファスタァイ セプテンバー

304
NAME IS NULL[sage]   投稿日:2016/09/19 19:53:19  ID:???.net(487)
セプテンバーレイン

305
NAME IS NULL[sage]   投稿日:2016/09/20 09:13:48  ID:???.net(487)
9月のあめーはつめたくて〜

306
NAME IS NULL[sage]   投稿日:2016/09/20 11:13:36  ID:???.net(487)
稲垣吾郎?

307
NAME IS NULL[sage]   投稿日:2016/09/22 00:47:57  ID:???.net(487)
MySQLと比べるなら、機能的に圧勝してるから比べ物にならないでしょ
PostgreSQLが勝ったというよりは、MySQLが選択肢に入ってなかっただけ
普段からPostgreSQLを使ってるとこは、わざわざMySQLを習得するコストがもったいないから
MySQLをさける傾向がある
コメント1件

308
NAME IS NULL[sage]   投稿日:2016/09/22 02:23:39  ID:???.net(487)
やってる人はやってるんだろうし、ご勝手にって感じかな。
もう気にかけることも無くなったね。
コメント1件

309
NAME IS NULL[sage]   投稿日:2016/09/22 08:05:39  ID:???.net(487)
10年前は熱いライバルだったのに
コメント1件

310
NAME IS NULL[sage]   投稿日:2016/09/22 08:34:13  ID:???.net(487)
比べるなら相手はMariaじゃないの?
もしくはローエンドOracleか
コメント1件

311
NAME IS NULL[sage]   投稿日:2016/09/22 14:05:12  ID:???.net(487)
レンタルサーバで使える所少なかったり
CMSとかで対応してないとかあるからなー
そういう場面ではMySQL選ばざるを得ない

312
NAME IS NULL[sage]   投稿日:2016/09/22 20:36:09  ID:???.net(487)
え?
PostgreSQLって流行ってるの?
もう廃れてきているのかと思った
どこの記事見ても、MySQLとかMariaDBとかばっかりだもんな
コメント1件

313
NAME IS NULL[sage]   投稿日:2016/09/22 20:54:32  ID:???.net(487)

314
NAME IS NULL[sage]   投稿日:2016/09/22 21:40:30  ID:???.net(487)
C++のような存在

315
NAME IS NULL[sage]   投稿日:2016/09/22 21:42:08  ID:???.net(487)
postgresql はC
MySQL は C++
コメント1件

316
NAME IS NULL[sage]   投稿日:2016/09/22 21:56:20  ID:???.net(487)
いわゆるWeb系はMySQL系
基幹業務にOracleを使う金がないとこはPostgreSQL
ベンチャー企業が中小相手にシステム構築するときに使う

MySQL系の記事が多いのは最近やっと使えるようになってきたからだよ
AWSの影響もあるだろうしな

言語に例えるんだったらPostgreSQLはVBやPHPで
MySQLはJavascriptのイメージだな

317
NAME IS NULL[sage]   投稿日:2016/09/22 22:00:36  ID:???.net(487)
ほー 詳しい
コメント1件

318
NAME IS NULL[sage]   投稿日:2016/09/22 22:18:22  ID:???.net(487)
VBやPHPに例えられても嬉しくないなぁ
レンタルサーバで使えない問題は Heroku Postgres で多少はマシになったか
コメント2件

319
NAME IS NULL[sage]   投稿日:2016/09/22 22:26:33  ID:???.net(487)
アメリカなんかじゃ昔からMySQLの方が人気があって、Postgresが人気あるのは日本くらい。

320
NAME IS NULL[sage]   投稿日:2016/09/22 22:34:28  ID:???.net(487)
って前から言われてたね。今のそうなのですか。

321
NAME IS NULL[]   投稿日:2016/09/22 22:41:28  ID:jDvr07Zs.net(2)
アメリカ人はバカだからMyISAM速えええええええええつって喜んでただけやで
それもずいぶん昔の話やw

322
NAME IS NULL[sage]   投稿日:2016/09/22 22:49:04  ID:???.net(487)
ひどすw

323
NAME IS NULL[sage]   投稿日:2016/09/22 22:51:40  ID:???.net(487)
一説にはWindowsで動かせたからとも言われてるな。
日本でフリーDBMSが導入され始めた頃はPostgres7.0が出る頃だったから
MySQLじゃなくてトランザクションをまともに使えるPostgresの方に流れたとも。
ヒゲががんばって布教したってのもあるんだろうけど。

324
NAME IS NULL[sage]   投稿日:2016/09/22 23:00:42  ID:???.net(487)
最新の研究成果をいち早く採り入れている方が好き

325
NAME IS NULL[sage]   投稿日:2016/09/22 23:37:58  ID:???.net(487)
まぁ 普通の開発者、ユーザーから見れば普通に使えれば
それほど最新技術はなくてもぉ とは思うんじゃないの?

326
NAME IS NULL[sage]   投稿日:2016/09/22 23:41:17  ID:???.net(487)
PostgreSQL使い始めた頃はMySQLはサブクエリ使えなかったからなあ

327
NAME IS NULL[sage]   投稿日:2016/09/23 00:54:00  ID:???.net(487)
MySQLはデータベースとして当然備えてる機能を備えてないんだよ
商用データベースから来た人にはおもちゃにすら見えない

328
NAME IS NULL[sage]   投稿日:2016/09/23 00:59:28  ID:???.net(487)
そうなんですか ほんとに知らない

329
NAME IS NULL[sage]   投稿日:2016/09/23 01:18:36  ID:???.net(487)
UberがPostgreSQLからMySQLへ移行した経緯の記事と
それへの反論は興味深かった

330
NAME IS NULL[sage]   投稿日:2016/09/23 17:15:06  ID:???.net(487)
俺のとこではmaxでも10リクエスト/sec程度なんで、あんま参考にはならなかったな
コメント2件

331
NAME IS NULL[sage]   投稿日:2016/09/25 16:30:18  ID:???.net(487)
いままでPostgreSQLで、ごく最近Oracle使い始めたけど、
Oracleって糞だなって思うこと多い。
Oracleをよく知らないせいだとは思うけど。


業務系、Webシステムなどでは、PostgreSQLで何も問題なし!
コメント1件

332
NAME IS NULL[sage]   投稿日:2016/09/25 20:40:24  ID:???.net(487)
普通に使う分はもちろん、バックアップもフェールセーフも問題ないよね。
マテリアライズドビューなんて使った事もないし。
コメント1件

333
NAME IS NULL[sage]   投稿日:2016/09/25 21:07:28  ID:???.net(487)
だからボラクルはサポートで金とってんだっつってんだろ
コメント1件

334
NAME IS NULL[sage]   投稿日:2016/09/25 22:27:52  ID:???.net(487)
>113
最近は差を詰めてきてるよね
とはいえ大規模になればまだまだOracle

>114
PostgreSQLにも一応マテリアライズドビューあるでしょ

>115
金払わないとパッチすらくれず、払っててもバグ修正してくれないけどな
コメント1件

335
NAME IS NULL[sage]   投稿日:2016/09/25 22:57:09  ID:???.net(487)
>116
>金払わないとパッチすらくれず、払っててもバグ修正してくれないけどな
何その塩対応
コメント2件

336
NAME IS NULL[sage]   投稿日:2016/09/25 23:09:26  ID:???.net(487)
>116
ポスグレのそれを使った事ないって意味ですよ。
Orackeの現場では頻繁に聞こえますね。でも結構トラブッてるようなw
コメント1件

337
NAME IS NULL[sage]   投稿日:2016/09/26 09:58:44  ID:???.net(487)
バグが修正されてユーザのコードが動かなくなったとき
危険なコードを書くのが悪いと言われるのがPostgres
専用の互換性パッチの見積もりをくれるのがOracle

338
NAME IS NULL[sage]   投稿日:2016/09/26 13:15:18  ID:???.net(487)
それわそれわ

339
NAME IS NULL[sage]   投稿日:2016/09/27 00:46:01  ID:???.net(487)
>119
なるほど
ボラクル体質をとても明快に理解できた
そんでもってどっちがまともかは言わずもがなだな
コメント1件

340
NAME IS NULL[sage]   投稿日:2016/09/27 00:59:38  ID:???.net(487)
バージョンあがって動かなくなるなら、バージョンあげないだけだよ
そもそも特に困ってないのにバージョンあげるわけないだろう
ミドルウェアのバージョンが変わるなんて、5年ごとのリプレースだけだよ

341
NAME IS NULL[sage]   投稿日:2016/09/27 01:21:18  ID:???.net(487)
そのバグ修正の内容がセキュリティ脆弱性の改善でなければな

342
NAME IS NULL[sage]   投稿日:2016/09/27 01:50:31  ID:???.net(487)
データベースサーバにセキュリティパッチあてるわけないだろ

343
NAME IS NULL[sage]   投稿日:2016/09/27 01:51:51  ID:???.net(487)
??

344
NAME IS NULL[sage]   投稿日:2016/09/27 02:25:22  ID:???.net(487)
きっと軽い間違いでしょう
コメント1件

345
NAME IS NULL[sage]   投稿日:2016/09/27 10:22:52  ID:???.net(487)
(データベースサーバはインターネッツに公開なんかしないんだから、セキュリティパッチあてる必要もないだろ)
ということかな
コメント1件

346
NAME IS NULL[sage]   投稿日:2016/09/27 14:56:40  ID:???.net(487)
そんなパッチがあるなら、やるだけの事かと。
コメント1件

347
NAME IS NULL[sage]   投稿日:2016/09/27 17:15:32  ID:???.net(487)
はぁ?
コメント1件

348
NAME IS NULL[sage]   投稿日:2016/09/27 17:26:54  ID:???.net(487)
OSのパッチなのかRDBMSのパッチなのかでもかわってくるw

349
NAME IS NULL[sage]   投稿日:2016/09/27 18:24:19  ID:???.net(487)
この流れでOSパッチとかアホ過ぎやろ

350
NAME IS NULL[sage]   投稿日:2016/09/27 20:22:40  ID:???.net(487)
だからパッチなんてあるんかい
コメント1件

351
NAME IS NULL[sage]   投稿日:2016/09/28 00:07:46  ID:???.net(487)
はぁああ?

352
NAME IS NULL[sage]   投稿日:2016/09/28 00:10:30  ID:???.net(487)
おまえらPostgreSQLにセキュリティのためにパッチなんて当てたことあるの?
UPSERT使いたいからバージョンあげるとかだったらあるかもだけど
セキュリティなんて考えたこともない

353
NAME IS NULL[sage]   投稿日:2016/09/28 00:31:52  ID:???.net(487)
いつまで不毛な争いをしているのだ
コメント1件

354
NAME IS NULL[sage]   投稿日:2016/09/29 00:05:22  ID:???.net(487)
毛とNULLは無いほうがいいって聞いたことがある
コメント1件

355
NAME IS NULL[sage]   投稿日:2016/09/29 00:45:43  ID:???.net(487)
だれがハゲだと たここら

356
NAME IS NULL[sage]   投稿日:2016/09/29 00:52:51  ID:???.net(487)
coalesce(頭髪, 植毛)
コメント1件

357
NAME IS NULL[]   投稿日:2016/09/30 06:43:56  ID:x8uGj0c5.net(2)

358
NAME IS NULL[sage]   投稿日:2016/09/30 10:50:27  ID:???.net(487)
ついに9.6かぁ。
もうついていけないw
コメント1件

359
NAME IS NULL[sage]   投稿日:2016/09/30 11:22:57  ID:???.net(487)
>139
・パラレルクエリ
・同期レプリケーション / シャーディング (postgres_fdw)
・全文テキスト検索 (たぶん日本語はダメ)
って感じ?
結構なパワフルユーザ向けだな。まぁ基本はやり尽くしているんだろうけど
コメント2件

360
NAME IS NULL[sage]   投稿日:2016/09/30 13:19:14  ID:???.net(487)
カンファレンスはまた盛況になりそうですね
コメント1件

361
NAME IS NULL[sage]   投稿日:2016/09/30 22:43:32  ID:???.net(487)
どうしてPostgreSQLって本屋さんに本が全然ないんですか?
MySQLはたくさんあるのに

362
NAME IS NULL[sage]   投稿日:2016/09/30 22:50:14  ID:???.net(487)
本が出る頃に改版するためじゃない?

363
NAME IS NULL[sage]   投稿日:2016/10/01 00:29:42  ID:???.net(487)
最新のシーラカンス本の対応バージョンは8くらいだったっけ?

364
NAME IS NULL[sage]   投稿日:2016/10/01 00:34:28  ID:???.net(487)
CTEやCONFLICTについてがっつり書いてるような本が欲しい

365
NAME IS NULL[sage]   投稿日:2016/10/01 00:52:05  ID:???.net(487)
となるとやっぱ最新マニュアルしかないわなぁw
そこそこ良く書けてるしわかり易いと思う。
コメント1件

366
NAME IS NULL[sage]   投稿日:2016/10/06 01:01:59  ID:???.net(487)
おすすめの記事ってどこかある?
ブロガーさんやニュースサイトでも何でも
PostgreSQLについて情報が集まるようなとこ探してる
コメント2件

367
NAME IS NULL[sage]   投稿日:2016/10/06 02:54:12  ID:???.net(487)

368
NAME IS NULL[sage]   投稿日:2016/10/06 05:53:59  ID:???.net(487)
Let'sは最近、更新サボってるからなあ・・・


369
NAME IS NULL[sage]   投稿日:2016/10/06 06:42:02  ID:???.net(487)

370
NAME IS NULL[sage]   投稿日:2016/10/06 08:21:09  ID:???.net(487)
さあ、みんな今こそ売り込みの絶好のタイミング
自社のURLを貼るんだ

371
NAME IS NULL[sage]   投稿日:2016/10/06 11:37:02  ID:???.net(487)
宣伝でもいいよ

372
NAME IS NULL[sage]   投稿日:2016/10/14 01:20:43  ID:???.net(487)
pgAdmin4の日本語化ってどうやるの?

373
NAME IS NULL[]   投稿日:2016/10/17 22:11:27  ID:Xu2/z0cZ.net(2)
エセ左翼の目的は、わざと突っ込みどころが多い主張をすることで自分たちへ注意を向けさせ、
カルトへ向かう非難の矛先を逸らすこと。
国益に反することを言ったり、主張が食い違うもの同士の対立を煽ろうとするので放置し難いが、
主義思想についての洗脳を受けているわけではなく、フリをしているだけなので、
言い負かされてもダメージを負った様子もなく、論点をすり替えられるかスルーされる。
まともに相手をしてはならない。

374
NAME IS NULL[sage]   投稿日:2016/10/18 05:08:12  ID:???.net(487)
pgAdmin3 は日本語で使ってるとなんかのコマンドが日本語で流れてエラーになった記憶があるので、それ以来ずっと英語で使ってる

375
NAME IS NULL[sage]   投稿日:2016/11/22 21:21:59  ID:???.net(487)
話題は?

376
NAME IS NULL[sage]   投稿日:2016/11/23 05:33:07  ID:???.net(487)
来週末のPGConf.Asia、みんなは行くかい?
http://www.pgconf.asia/JP/

377
NAME IS NULL[sage]   投稿日:2016/11/23 13:04:20  ID:???.net(487)
なんだかんだ満員でしょう

378
NAME IS NULL[sage]   投稿日:2016/11/23 16:40:12  ID:???.net(487)
まだ昨日時点ではチケットは残っているっぽかった。

379
NAME IS NULL[sage]   投稿日:2016/12/04 11:34:50  ID:???.net(487)
話題は?

380
NAME IS NULL[sage]   投稿日:2016/12/10 00:05:22  ID:???.net(487)
PostgreSQLって、OrderByを書かないと・・・・
毎回違う並び順になるの?
それとも、PrimaryKey順になるの?

381
NAME IS NULL[sage]   投稿日:2016/12/10 00:44:27  ID:???.net(487)
>162
書けば良い

382
NAME IS NULL[sage]   投稿日:2016/12/10 01:56:45  ID:???.net(487)
不定だわな。たとえ何かの順に並んでたとしても信用出来ない。

383
NAME IS NULL[sage]   投稿日:2016/12/10 04:55:25  ID:???.net(487)
>162
一々ソーティングしなくていいから少しでも速く、省メモリで結果返して欲しいって時に勝手にソーティングされたら寧ろ迷惑だと思わないかい?
ソーティングは通常ではなくオプションとすべきだ

384
NAME IS NULL[sage]   投稿日:2016/12/10 07:56:41  ID:???.net(487)
なんという的外れな観点

385
NAME IS NULL[sage]   投稿日:2016/12/10 08:30:07  ID:???.net(487)
せやろか

386
NAME IS NULL[sage]   投稿日:2016/12/10 16:50:14  ID:???.net(487)
lsで何が返るかみたいなもんやないやろか

387
NAME IS NULL[sage]   投稿日:2016/12/10 17:06:12  ID:???.net(487)
>166
しょうゆうな

388
NAME IS NULL[sage]   投稿日:2016/12/12 13:42:28  ID:???.net(487)
不定だけど、大体はINSERTした順になることが多い
UPDATEしたりするとそれが最後になったりするので
id順とはいえない
もちろん出てくる順番を当てにしちゃいけないw

389
NAME IS NULL[sage]   投稿日:2016/12/12 22:30:45  ID:???.net(487)
で、なんでそんな物理的事情で並んだ順で返すのかって言ったら、『一々ソーティングしなくていいから少しでも速く、省メモリで結果返して欲しいって時に勝手にソーティングされたら寧ろ迷惑だろ、ソーティングは通常ではなくオプションとすべきだ』ってことでないの?

390
NAME IS NULL[sage]   投稿日:2016/12/12 23:26:20  ID:???.net(487)
のはずですが

391
NAME IS NULL[sage]   投稿日:2016/12/13 08:19:35  ID:???.net(487)
>170
クラスタ化インデックスだとpk順になる。

392
NAME IS NULL[]   投稿日:2017/01/29 10:18:17  ID:60pB1fs/.net(8)
>170
そんなのどんなRDBMSでも同じで、実装を考えれば、そうなるだろうが。

393
NAME IS NULL[]   投稿日:2017/01/29 10:20:19  ID:60pB1fs/.net(8)
>171
違う。RDBのレコードはソート指定をしないかぎり不定というのが標準SQLでの仕様だから。

394
NAME IS NULL[sage]   投稿日:2017/01/29 10:37:46  ID:???.net(487)
PHP+PostgreSQLで運用する場合、元号の処理ってどうしてる?
自分でしか使わないシステムなので、極力西暦で通すか、どうしても必要な場合は1988引いてるけど(基本的に昭和のデータは扱わない)、今度の改元がなぁ

395
NAME IS NULL[]   投稿日:2017/01/29 11:01:42  ID:60pB1fs/.net(8)
>176
データベースだというのに西暦→和暦マスタテーブルを作ろうという発想がないことに驚く

396
NAME IS NULL[sage]   投稿日:2017/01/29 11:05:32  ID:???.net(487)
>176
昭和99年とかの特殊な要件がなければ内部は西暦、外部とのやり取り時に変換が普通かと

397
NAME IS NULL[sage]   投稿日:2017/01/29 12:10:35  ID:???.net(487)
>176
表示なり入力なりエンドユーザに一番近いところで変換したいな
そもそも元号という「汚い」ものを可能な限り扱いたくないし、
Postgres用の変換はおそらく自作が必要だが、PHPやJS用なら適当に拾ってこれるから

398
NAME IS NULL[sage]   投稿日:2017/01/29 12:20:13  ID:???.net(487)
>177
マスタテーブルだけで変換しようとすると、年の途中での改元に対応しないといけないんで、1日あたり1レコード要るんじゃね?
100年で36,525か36,524になっちゃう

399
NAME IS NULL[sage]   投稿日:2017/01/29 12:46:11  ID:???.net(487)
関数でいい

400
NAME IS NULL[]   投稿日:2017/01/29 13:32:09  ID:60pB1fs/.net(8)
>180
アホくさ。なんで年号が変わらない部分の日の単位でデータを持つんだよ。

それじゃあ自分の生年月日を書くのに今日からさかのぼって一日ごとに列挙して書くようなもんだろw

401
NAME IS NULL[sage]   投稿日:2017/01/29 15:26:01  ID:???.net(487)
明治:1868-01-25 〜 1912-07-29
大正:1912-07-30 〜 1926-12-24
昭和:1926-12-25 〜 1989-01-07
平成:1989-01-08 〜
これをどうUIに反映するかは、各自の考え方だろう。

402
NAME IS NULL[]   投稿日:2017/01/30 10:51:23  ID:tcdzx+zX.net(2)

403
NAME IS NULL[]   投稿日:2017/02/01 10:22:49  ID:wkr1HydS.net(2)

404
NAME IS NULL[]   投稿日:2017/02/01 14:47:49  ID:4qKxf55o.net(2)
インデックスについて教えてください。
調べましたが「検索が早くなる場合もあるらしい」くらいしか分かりませんでした。

・ インデックスは作成するだけでよいのか?
   検索時に作成したインデックスを指定したりしなくてよいのか。
   調べた限り指定する方法がなかったため、作成するだけで効果があるように見えた。

・ REINDEXでのロック時の挙動
   インデックスがロックされると聞いた。
   インデックスがロックされるだけで検索自体は可能なのか。

・ とりあえずインデックスを作成しておけばよいのか?
   インデックスがそんなに便利なものなら、ハードディスクの容量が許す限り、
   検索しそうなものは片っ端からインデックスを作成しておけばよいのか。

405
NAME IS NULL[sage]   投稿日:2017/02/01 15:20:55  ID:???.net(487)
>186
> ・ インデックスは作成するだけでよいのか?
はい。

インデックスを使った方が検索コストが低い場合は、自動的に使われます。

> ・ REINDEXでのロック時の挙動
>    インデックスがロックされるだけで検索自体は可能なのか。
いいえ。検索もブロックされます。

通常はreindexする必要はありません。
将来、reindexが必要だと感じたら(容量が増大したなどの場合)、どう対処するのが
良いか検索するとよいです。

> ・ とりあえずインデックスを作成しておけばよいのか?
いいえ。

インデックスがあるということは、INSERT/DELETEのときにデータ本体だけでなく
インデックスそのものも更新する必要があります。
単純に言えば、処理時間が増えるということです。
不要なインデックスは生成しないようにするのが良いです。

406
186[sage]   投稿日:2017/02/01 15:43:28  ID:???.net(487)
>187
ありがとうございます。
助かります。

407
NAME IS NULL[]   投稿日:2017/02/01 18:30:22  ID:ndjPxyEX.net(2)
ポスグレにかぎらない初心者の質問が多いな。

408
NAME IS NULL[sage]   投稿日:2017/02/02 17:57:30  ID:???.net(487)
日本語扱うならencodeはCだろって言う人を結構見る気がしますが、なぜutf8じゃ駄目なんでしょうか?

409
190[sage]   投稿日:2017/02/02 18:00:09  ID:???.net(487)
例えばこの人

http://soudai1025.blogspot.jp/2015/03/postgresqlunicode-6.html
> なお、検証した環境のPostgreSQLのlocale指定はC(nolocale)としています。
> (日本語を扱う場合はほとんどの場合はCを指定するでしょうし)

410
NAME IS NULL[sage]   投稿日:2017/02/02 18:41:25  ID:???.net(487)
えっ・・・
今まで作ったシステム、全部utf8にしてきてしもうた・・・

411
NAME IS NULL[sage]   投稿日:2017/02/02 19:10:07  ID:???.net(487)
encodeとlocaleは別だぞ。
encode=utf8 かつ locale=C が推奨なのはよく見る。

Linux (glibc) はlocaleの実装をサボっているので、C以外に設定しても性能が落ちるだけで何の利点もない。
Windowsなら文字列の比較やソートに差が出るので、用途に適して選べばいい。

412
NAME IS NULL[sage]   投稿日:2017/02/02 22:45:30  ID:???.net(487)
initdb --encoding=UTF8 --no-locale ←これが基本かなと

413
NAME IS NULL[]   投稿日:2017/02/03 08:35:26  ID:kkoWZhIO.net(2)

414
NAME IS NULL[sage]   投稿日:2017/02/03 14:49:30  ID:???.net(487)
>193
Linuxでも当然ながら差が出る。
なぜなら、文字コードは辞書順には並んでないから。

415
NAME IS NULL[]   投稿日:2017/02/03 15:00:11  ID:JY8XYZfi.net(2)
>196
どんな文字コードでも漢字の並び順は、日本人が見ても意味のある順番になってないからな。

416
NAME IS NULL[sage]   投稿日:2017/02/03 15:45:41  ID:???.net(487)
>196
Linuxもまともになったのか?
昔使ったときはlocale=ja系でも変わらず文字コード順に並べられたんだが

417
NAME IS NULL[sage]   投稿日:2017/02/03 16:06:32  ID:???.net(487)
>198
「辞書順」の正しい定義を知らないけど、少なくとも文字コード順には並ばないよ。

create table foo(s text)に、漢数字の'一'から'九'をインサートし、以下のクエリを実行。
select array_agg(s) from (select s from foo order by s) as t;

locale=C -> {一,七,三,九,二,五,八,六,四} -- 文字コード順
locale=ja_JP.UTF-8 -> {一,九,五,三,四,七,二,八,六} -- 辞書(?)順

418
NAME IS NULL[sage]   投稿日:2017/02/03 16:35:10  ID:???.net(487)
文字コード順でも辞書順でも、それを正解とするかどうかは要件次第。
ちなみに漢数字は、訓読み順で並んでいる。

419
NAME IS NULL[sage]   投稿日:2017/02/03 16:45:47  ID:???.net(487)
>199
理解した。Linuxでも順序は変わるね。
ひらがな/カタカナの濁/半濁の扱いは今でも差があるようだ。設計思想?互換性?
 msvcrt: ハはバばパぱ
 glibc : はばぱハバパ

環境依存が怖い。要件次第だが、自前で「ふりがな」列を用意したほうがマシだな。

420
NAME IS NULL[sage]   投稿日:2017/02/03 17:27:01  ID:???.net(487)
日本語ヤバイ

421
NAME IS NULL[sage]   投稿日:2017/03/21 17:08:09  ID:???.net(487)
他人に公開する予定の無い、自分専用のwebサイトを作る場合でもSQLインジェクション対策はしておいた方がいいよね?
クラスを転用するときに問題になるし、悪意が無くてもエラーのもとだし

422
NAME IS NULL[sage]   投稿日:2017/03/21 17:45:20  ID:???.net(487)
おお 久々
3.19行った人いないの?

423
NAME IS NULL[sage]   投稿日:2017/03/21 19:35:41  ID:???.net(487)
>203
言語によるけど今時パラメータクエリぐらいは使えるだろうから普通にパラメータクエリでやるわな
あとから見てもその方がわかりやすいし

424
NAME IS NULL[sage]   投稿日:2017/03/21 20:16:56  ID:???.net(487)
>205
PHPで言えば、pg_query_params()とか?

425
NAME IS NULL[]   投稿日:2017/03/21 21:01:55  ID:NIvfjcd/.net(2)
phpって対策されていないやつ
非推奨じゃなかったっけ

おいらはPDOでやってるかな

426
NAME IS NULL[sage]   投稿日:2017/03/21 21:25:31  ID:???.net(487)
>203
やらないで

427
NAME IS NULL[sage]   投稿日:2017/03/22 00:21:47  ID:???.net(487)
ぽすとぐれすきゅーえる
ぽすとぐれすえすきゅーえる

428
NAME IS NULL[]   投稿日:2017/05/10 00:41:30  ID:Yh/Qr3SR.net
TIMESTAMP (WITHOUT TIMEZONE)とCURRENT_TIMESTAMPについて教えてください。
INSERTにてCURRENT_TIMESTAMPで入れたあと、SELECTで取り出すと日本時間になっています。
どの時点で日本時間になっているのでしょうか?

1. CURRENT_TIMESTAMPの時点ではJSTだが、INSERTするときにJSTがUTCに変換されて保存され、
  SELECTで取り出すときにシステムの時刻を見て+0900されている
2. CURRENT_TIMESTAMPの時点ではJSTで取得されるが、
  元々これにタイムゾーンのデータはなく、そのまま保存され、
  SELECTで取り出すときは同じシステム時刻を使ってるからたまたま同じタイムゾーンとして取得されている
3. CURRENT_TIMESTAMPの時点ではUTCで取得され、保存もUTCだが
  SELECTで取り出すときはシステム時刻を参照して勝手にJSTにしている
4. その他の未知の仕組み

429
NAME IS NULL[sage]   投稿日:2017/05/10 07:47:06  ID:???.net(487)
>210
http://www.postgresql.jp/document/current/html/datatype-datetime.html
> 通常timestamp without time zoneの値はtimezoneのローカル時間としてみなされる
とあるから、言葉通りだとするなら:
・INSERTするときに時刻の値だけを保存する (+0900を無視)
・SELECTするときに現在のタイムゾーン扱い (+0900を追加)
SET TIMEZONE TOしながら試してみれば検証できるかも

430
NAME IS NULL[sage]   投稿日:2017/05/12 18:06:02  ID:???.net(487)
>210
まず前提として、without time zoneをselectした結果にはtime zone情報はないのだから、UTCもJSTもない。
次にcurrent_timestampは、tz情報付きのデータ。
それをwithout time zone絡むにインサートすると、tz情報は切り捨てられる。(たとえば、"2017-05-12 18:00:00")

そのデータを、日本で取得しようがアメリカで取得しようが、tz情報なしの"2017-05-12 18:00:00"が取得される。
つまり、アメリカで取得した人は、現地時間の"2017-05-12 18:00:00"だと見えるということ。

431
210[sage]   投稿日:2017/05/12 23:59:44  ID:???.net(487)
>211-212
ありがとうございます。
世界向けのSNSを作ろうとしたのですが、これがネックで
時間部分の設計ができない状態でした。
助かります。

432
NAME IS NULL[sage]   投稿日:2017/05/14 15:53:45  ID:???.net(487)
お世話になります。

psql で database ごとに history を分けて表示したい (\s) のですが、
(他の databae の history を表示したくない)
どうやったらいいのでしょうか?

よろしくお願いします。

433
NAME IS NULL[sage]   投稿日:2017/05/14 16:12:10  ID:???.net(487)
historyって、homeの .psql_history 出してるだけだからなあ
db切り替えるたびにリネームするとか?

434
NAME IS NULL[sage]   投稿日:2017/05/14 20:12:51  ID:???.net(487)
ああ、そういう仕組みなんですね。
複数の database をそれぞれ別々に psql で開いたりしてるんですけど、じゃぁ、全然無理ですね。
わかりました、ありがとうございました。

435
NAME IS NULL[sage]   投稿日:2017/05/14 23:48:56  ID:???.net(487)

436
NAME IS NULL[sage]   投稿日:2017/05/15 22:58:52  ID:???.net(487)
>217
そのものズバリですね♪
ありがとうございます。
おかげで、.psqlrc っていう設定ファイルのことも知りました。
PostgreSQL の Documentation にありますね。
かさねがさねありがとうございました。

437
NAME IS NULL[sage]   投稿日:2017/06/09 23:25:23  ID:???.net(487)
拡張を使った場合、メジャーバージョンが変わるときのアップグレードで使えなくなったり作業が増えたりするのでしょうか?
スキーマのバージョンが変わっている拡張があったら何かしないといけないとか?

438
NAME IS NULL[]   投稿日:2017/06/10 15:00:08  ID:jh8YfBo0.net
そこまでわかったいたら随時チェックしたほうがいい

439
NAME IS NULL[sage]   投稿日:2017/06/14 00:49:31  ID:???.net(487)
30分単位とかで時間を丸めてくれる関数ないですか

440
NAME IS NULL[sage]   投稿日:2017/06/14 02:30:34  ID:???.net(487)
ないんじゃないかな

441
NAME IS NULL[sage]   投稿日:2017/06/14 11:05:12  ID:???.net(487)
>221
> 30分単位とかで時間を丸めてくれる関数ないですか
自作すれば?

442
NAME IS NULL[sage]   投稿日:2017/06/14 11:25:06  ID:???.net(487)
トリガのデバッグってどうやってますか?
初めてトリガ関数作ります

443
NAME IS NULL[sage]   投稿日:2017/06/14 11:27:34  ID:???.net(487)
>224
普通に、クエリ後、関連データを取得してassert

444
NAME IS NULL[sage]   投稿日:2017/06/14 11:36:05  ID:???.net(487)
>225
ASSERT文、調べました。
そういうのがあるんですね♪
ありがとうございました

445
NAME IS NULL[sage]   投稿日:2017/06/14 13:45:01  ID:???.net(487)
>226
たぶん勘違いしてる
クライアントコードを実装する、JavaとかPHPとかのプログラミング言語で普通にチェックしろってこと
IDEでステップ実行とかできないからね

446
NAME IS NULL[sage]   投稿日:2017/06/14 16:42:17  ID:???.net(487)
>227
> クライアントコードを実装する、JavaとかPHPとかのプログラミング言語で普通にチェックしろってこと
そうなの?
それなら俺も勘違いしてたわ。

447
NAME IS NULL[sage]   投稿日:2017/06/14 16:52:53  ID:???.net(487)
ASSERTがどうのってのはPL/pgSQLの機能でしょ
https://www.postgresql.jp/document/current/html/plpgsql-errors-and-mess...

トリガ関数をどの言語で作るかにもよるけど
たいていはサーバーログにメッセージを書き出す、いわゆるprintfデバッグになるのでは

448
NAME IS NULL[sage]   投稿日:2017/06/14 17:40:45  ID:???.net(487)
そう思う。自立型トランザクションを使えばログ表に対するcommitを必ずしながら
トリガー本来の処理ではrollback等もできる。多分10g以降の機能で9iでは不可。

449
NAME IS NULL[sage]   投稿日:2017/06/14 17:51:09  ID:???.net(487)
>229
普通にデータベースにアクセスするメソッドをテストする方法と同じだよ。
確認する項目が、トリガーが変更したデータも対象になるってだけで。

普通にデータベースにアクセスするメソッドをテストするときもprintfデバッグしてたら、
トリガーのテストもそうなるだろうけど、普通はコードで確認するんじゃないか?

450
230[sage]   投稿日:2017/06/14 17:57:11  ID:???.net(487)
ゴメン。Oracleと勘違いしてた。>230 は無視して

451
NAME IS NULL[sage]   投稿日:2017/06/14 18:26:54  ID:???.net(487)
>231
トリガだと「普通のアクセス」とはデバッグ方法が違いそう、ってのが質問の意図じゃないの?
それを「同じだよ」で済ませるのは会話が噛み合っていない感がある

トリガの内部で何が起きているかのデバッグにはprintf程度しか道具が無いんじゃないかな?
トリガの結果が適切かを確認するにはテストコードを使うのはわかる

452
NAME IS NULL[sage]   投稿日:2017/06/14 19:40:35  ID:???.net(487)
日本語メッセージでGSSAPIがGSSAIになっちゃってるところがある

453
NAME IS NULL[sage]   投稿日:2017/06/15 10:34:25  ID:???.net(487)
>233
> トリガの内部で何が起きているかのデバッグにはprintf程度しか道具が無いんじゃないかな?
内部が正しいと確信が持てるだけのテストをすればいいだけ。
てか、トリガーのコードじゃなくて、ホストプログラムのコードだってそうだろ?
まぁ、途中で変数の中身を見ないと、なにが行われているのかわかれないスキルレベルだったら話は違うが。

454
NAME IS NULL[sage]   投稿日:2017/06/15 12:57:16  ID:???.net(487)
>235
ホワイトボックステストも知らないなら絡んでくるなよ

455
NAME IS NULL[sage]   投稿日:2017/06/15 13:34:54  ID:???.net(487)
>236
いや、ホワイトボックステストの話をしてるつもりだが。

TDDはホワイトボックステストだが、やることは、
・前提条件を作る
・テスト対象のメソッドを呼ぶ
・結果を確認する
を、自分の確証が持てるまでやる。

トリガーをテストする場合も同じ。
トリガーをキックするメソッドを呼び出すか、あるいは直接INSERT/UPDATE/DELETEを実行し、
トリガーが変更した内容を、実際にデータを取得してassertする。

C0カバレッジで満足できるならそこでやめる。
確証が持てないなら、C1カバレッジになるようなテストを追加する。

456
NAME IS NULL[sage]   投稿日:2017/06/15 14:01:14  ID:???.net(487)
GUIでブレークポイント張ったりステップ実行させたりもできるようだね。
俺は使ったことないけど。

PL/pgSQLデバッガを使ってみよう
http://pgsqldeepdive.blogspot.jp/2013/05/plpgsqldebugger.html

PostgreSQLのPL/pgSQLのデバッガpldebuggerを使ってみる
http://qiita.com/sadapon2008/items/627d0649122628c115f6

git repository
https://git.postgresql.org/gitweb/?p=pldebugger.git;a=summary

457
NAME IS NULL[sage]   投稿日:2017/06/15 14:12:51  ID:???.net(487)
>237
テストのやり方はそれでいいけど、テストが失敗してなおかつ原因がよくわからないときの話じゃないかな
そういうときは、raise noticeがやっぱり最強だと思う

458
NAME IS NULL[sage]   投稿日:2017/06/15 18:22:46  ID:???.net(487)
トリガーはいいとして、複雑なクエリのデバッグはどうやるつもりなんだろうか
それこそ、printfも使えない

459
NAME IS NULL[sage]   投稿日:2017/06/15 18:48:03  ID:???.net(487)
>237
背伸びしすぎ

> TDDはホワイトボックステストだが
TDD の話なんて誰もしてない
最近知って話したくてしょうがないのか? w
そもそも TDD はコードを作る前にテストケースを作るからホワイトボックステストにはならない
むしろ仕様からテストケースを作るのでテストケースの作り方としてはブラックボックステストに近い

> ・前提条件を作る
> ・テスト対象のメソッドを呼ぶ
> ・結果を確認する
その前提条件の作り方の話だぞ
> を、自分の確証が持てるまでやる。
違う、ホワイトボックステストでは内部のコードを考慮してテスト条件を作るんだよ
それがわかってないから
> トリガーをキックするメソッドを呼び出すか、あるいは直接INSERT/UPDATE/DELETEを実行し、
> トリガーが変更した内容を、実際にデータを取得してassertする。
なんてアホなことを言い出す

460
NAME IS NULL[sage]   投稿日:2017/06/15 21:33:54  ID:???.net(487)
IPAのデータベーススペシャリスト持ってない奴は書き込むなよ

461
NAME IS NULL[sage]   投稿日:2017/06/15 22:23:02  ID:???.net(487)
このスレ的にはPostgreSQL CEだろう。

462
NAME IS NULL[]   投稿日:2017/06/16 03:19:45  ID:CymGFRXo.net
デバッグしたいと言ってるやつの目的がわからない。

テストと混同しているみたいでやばそうだな。

463
NAME IS NULL[sage]   投稿日:2017/06/16 10:33:58  ID:???.net(487)
>241
TDDのわかってない奴と議論しても時間の無駄なんで、これでも読んで。
https://ja.wikipedia.org/wiki/%E3%83%86%E3%82%B9%E3%83%88%E9%A7%86%E5%...

> 違う、ホワイトボックステストでは内部のコードを考慮してテスト条件を作るんだよ
C0, C1カバレッジの意味わかってるか?
それを網羅しなければ自信がもてない場合は、それをカバーするテストを納得できるまで追加するんだよ。

464
NAME IS NULL[sage]   投稿日:2017/06/16 10:41:33  ID:???.net(487)
>241
つか、お前、データベースアクセスを含むクラス・メソッドの単体レベルのテストはやってるのか?
やってるとしたら、どうやってんだ?

テストコード書いてるなら、トリガーがあろうとなかろうと関係ないことは自明だろ。

465
NAME IS NULL[sage]   投稿日:2017/06/16 10:58:10  ID:???.net(487)
plpgsqlは実行しないとtypoなんかがわからないので、c0必須

466
NAME IS NULL[sage]   投稿日:2017/06/16 14:51:07  ID:???.net(487)
>247
これな
存在しないシンボル名使ってたら、CREATEでエラーにしてくれって話だ

467
NAME IS NULL[sage]   投稿日:2017/06/16 15:21:01  ID:???.net(487)
raise notice方法の良くないところは、リリース時にそれを削除する必要があること
トリガーをダンプしてバージョン管理とかしてると、ただそれだけでリビジョンが進む
そして、それを忘れやすい

468
NAME IS NULL[sage]   投稿日:2017/06/16 18:08:22  ID:???.net(487)
データベース内で完結するテスト方法は苦行なんで、
普通にプログラムからクエリを実行してテストしたほうがいいよ

469
NAME IS NULL[sage]   投稿日:2017/06/16 21:41:16  ID:???.net(487)
>245
Wikipedia なんて底が浅すぎ w
コードを見てテストケースを作るなんて書いてないだろ?
C0, C1 は結果の話
根本的に理解してないのがバレバレだぞ w

>246
それトリガーの話じゃないだろ
まあ必死だな、ってだけ言っとくよ w

470
NAME IS NULL[]   投稿日:2017/06/17 00:34:00  ID:fomvc+Ad.net(2)
>250

471
NAME IS NULL[sage]   投稿日:2017/06/17 00:36:50  ID:???.net(487)
>252
あ、「クエリを発行して」の言いまちがいね

472
NAME IS NULL[]   投稿日:2017/06/17 19:19:51  ID:v6f8+KaI.net(3)
>253
発行も実行も普通は同じ意味で使われる。

473
NAME IS NULL[]   投稿日:2017/06/17 19:22:53  ID:v6f8+KaI.net(3)
データベースに詳しくないのが、何かの言語と結合してテストするようなのとを言ってるけど、それおかしいから。

データベース軽視なんだろうな。

474
NAME IS NULL[]   投稿日:2017/06/17 19:34:20  ID:v6f8+KaI.net(3)
もともとトリガのテストがしたいという話だが、トリガとトリガが呼び出す関数をいきなり一緒にテストしようとしているのが間違い。

関数は関数でテストして、トリガはトリガがテストして、結合テストはデータのIN/OUTで確認すればいいだけ。

データ観点のテストをあまりしないやつらはかなりいるが、とんでもないから無視した方がいい。

475
NAME IS NULL[sage]   投稿日:2017/06/17 20:14:16  ID:???.net(487)
トリガープロシージャって普通の関数として単体で実行できるんだっけ?
やったことないけど、OLDとかNEWとかどう与えるんだろう。

476
NAME IS NULL[]   投稿日:2017/06/17 22:29:56  ID:fomvc+Ad.net(2)
>257
Oracleのトリガーと混同してたわ。トリガ関数に普通の関数を呼び出すようにしてないとできないな。

477
NAME IS NULL[]   投稿日:2017/06/18 14:38:45  ID:c1GtVOfY.net
>254
いや全然意味違うけどw
始めて本当に日本語勉強した方がいい人見つけたw

478
NAME IS NULL[sage]   投稿日:2017/06/18 17:22:52  ID:???.net(487)
はじめて の漢字

479
NAME IS NULL[sage]   投稿日:2017/06/19 11:04:19  ID:???.net(487)
>256
> トリガープロシージャって普通の関数として単体で実行できるんだっけ?

>237でも言ったが、トリガー関数単体では実行できないので、トリガーのみをテストしたいなら、
INSERT/DELETE/UPDATEを実行して結果を確かめれば良い。

USERSテーブルにINSERTすると、どこかのテーブルのユーザ数合計がトリガーで更新されるとき、
function testUserCountSucc()
{
  prevCount = getPrevUserCount();
  db->execute("INSERT INTO USERS ...");
  currCount = getPrevUserCount();
  assertEquals(prevCount + 1, currCount);
}

自分がそのトリガーを実装する場合は、トリガー内のIFやFORがどういう条件でどうなるかは
わかるはずなので、C0カバレッジになるようにテストケースを増やせば良い。

「ユーザを追加するとユーザ数合計が更新される」というのが、ホストコードで実装されるのか
トリガーで実装されるのかを「実装詳細」と考えるなら、実は上のやり方は好ましくない。

Users::Add()をテストするどこかで、ユーザ数合計が更新されているassertionを追加したほうが良い。

480
NAME IS NULL[sage]   投稿日:2017/06/19 11:05:05  ID:???.net(487)
s/getPrevUserCount/getUserCount/

481
261[sage]   投稿日:2017/06/19 11:24:37  ID:???.net(487)
なんかもっといろいろ間違ってた。
最初のアンカーは、256じゃなくて>257

> C0カバレッジ

> C0カバレッジ100%

482
NAME IS NULL[sage]   投稿日:2017/06/19 13:27:42  ID:???.net(487)
>256
どういう意味で結合テストっていってるのかしらんけど、単体テストでもデータのIN/OUTで確認するだろ

483
NAME IS NULL[sage]   投稿日:2017/06/19 14:01:09  ID:???.net(487)
「発行」するのは人またはプログラム、「実行」するのはRDBMS、という原理主義者なのか?

484
NAME IS NULL[sage]   投稿日:2017/06/19 14:30:45  ID:???.net(487)
>265
そういうことじゃなくて、俺謎理論だと思うよ

485
NAME IS NULL[sage]   投稿日:2017/06/19 15:50:42  ID:???.net(487)
>255
DB内で完結するテスト例:http://pgtap.org/
苦行
あえて選ぶなら止めないが

486
NAME IS NULL[]   投稿日:2017/06/19 18:12:21  ID:46JrC3Lz.net(2)
>267
どこが苦行なのか?

487
NAME IS NULL[sage]   投稿日:2017/06/19 18:27:58  ID:???.net(487)
>268
・普通のプログラムでは簡単に書ける「共通処理」が書きづらい
 → まぁ、functionで実装していけばいいが、以下の考慮が必要になる
・テストを変更するのにいちいちmigrationが必要
・テストはテスト対象と同一データベース内におく必要がある
・故に、CIでテストしようとすると全員のテストを一つのDBに入れる必要がある
・そうすると、他人とシンボル名が重複しないようにするなどの配慮が必要だとわかる
・スキーマで分割すればいいじゃんとか思う
・グダる

普通にコードで書くのが楽よ

488
NAME IS NULL[]   投稿日:2017/06/19 18:32:56  ID:46JrC3Lz.net(2)
>269
コードって別の言語だし、ユーザー、スキーマは結合テストレベルでは本番環境に無理に合わせない。

なんでいきなりシステムテストレベルで確認しようとするのか?

まあ小さいパッケージやWebサイト屋だとそういうテストをする会社や人間が存在するのは知っているが。

489
NAME IS NULL[sage]   投稿日:2017/06/19 18:35:42  ID:???.net(487)
>270
ちょっと言ってる意味がわからない。

例えばトリガーを単発でテストする方法は>261に書いたとおり。
ユニットテストレベルの話をしてるのだが。

490
NAME IS NULL[sage]   投稿日:2017/06/19 18:50:38  ID:???.net(487)
>270
数千人月以上のメガプロジェクトの五次請けさん、お疲れっす

491
NAME IS NULL[sage]   投稿日:2017/06/19 19:35:49  ID:???.net(487)
中抜きを許すな

492
NAME IS NULL[sage]   投稿日:2017/06/19 19:39:55  ID:???.net(487)
pl/pgsqlの、お勧めの入門書ってありますか?
ネットである程度調べられるけど、できれば体系的に学びたいのので

493
NAME IS NULL[sage]   投稿日:2017/06/19 20:27:58  ID:???.net(487)
中折れを許すな

494
NAME IS NULL[]   投稿日:2017/06/19 22:28:40  ID:gwyUxO6k.net
>272
いろいろあなたがずさんなのはいいけど、回答するような立場ではないことは自覚した方がいい。

495
NAME IS NULL[sage]   投稿日:2017/06/20 10:41:27  ID:???.net(487)
>276
>270の方が回答するレベルでも立場でもないわなぁ

あと、>270のいうシステムテストレベルって何だよ?

496
NAME IS NULL[sage]   投稿日:2017/06/20 11:42:46  ID:???.net(487)
コード書けないし、>261レベルのコードでも何やってるかわかんなくてぐだぐだいってるんだろ

497
NAME IS NULL[]   投稿日:2017/06/20 12:36:01  ID:Ce61+VwB.net(7)
データベースが苦手なのはよくわかった

498
NAME IS NULL[sage]   投稿日:2017/06/20 13:03:55  ID:???.net(487)
>279
最近のレスでは、君が一番ピントずれてるよ

499
NAME IS NULL[sage]   投稿日:2017/06/20 13:06:51  ID:???.net(487)
結局、どうやってテストするかって>261以外誰も示せてないな

500
NAME IS NULL[sage]   投稿日:2017/06/20 13:12:08  ID:???.net(487)
>279
で、君のところではどうやってテストしてるの?


501
NAME IS NULL[sage]   投稿日:2017/06/20 13:20:48  ID:???.net(487)
あれかな、Excelの定型処理を自動化しようとしてマクロ書いたら怒られた的な話?

502
NAME IS NULL[sage]   投稿日:2017/06/20 13:34:57  ID:???.net(487)
つか、SIerが仕切る大規模開発で、トリガーが許されるケースなんかあるのか?
トリガーはおろか、ストアドすら許されたことがないんだが。

503
NAME IS NULL[]   投稿日:2017/06/20 14:43:03  ID:Ce61+VwB.net(7)
>284
そのシステム開発プロジェクトのポリシーだろうけど、理由の一つはプロジェクトメンバーのレベルがあらゆる面で低い、もう一つはデータベースがよくわからなくて上がトリガやストアドファンクションを禁止しているパターン。

こういうそれなりに大きいプロジェクトは総じてクソでうまくいかない。

504
NAME IS NULL[]   投稿日:2017/06/20 14:45:59  ID:Ce61+VwB.net(7)
>282
データとSQLを用意してトリガーを動かして実行前と実行後を比較する。

なんでこんなあたりまえのことを言われなきゃわからないのか?

505
NAME IS NULL[sage]   投稿日:2017/06/20 14:50:35  ID:???.net(487)
>285
最も大きい理由は、大抵データベース設計チームが独立していて、そこが物理設計まで行い、
パフォーマンスの責任まで負うから。

次に大きい理由は、スキーマの変更手順が決まっていて、製造工程中に変更とか無理だから。

その次は、大抵大きなプロジェクトでは、データベースをデータストアとしてしか使わないから。

506
NAME IS NULL[sage]   投稿日:2017/06/20 14:52:13  ID:???.net(487)
>286
> データとSQLを用意してトリガーを動かして実行前と実行後を比較する。
それマニュアルでやるの大変でしょ?
>261みたいにテスト書いとけば、CI/CDにも組み込めるよ。
別にマニュアルでやるのは否定しないが、だからといって>261を否定するのはおかしいよ。

507
NAME IS NULL[sage]   投稿日:2017/06/20 14:59:19  ID:???.net(487)
>286
それ、>237と同じじゃんw
>237を否定してたように見えたが、そうじゃないなら何と戦ってるの?

508
NAME IS NULL[sage]   投稿日:2017/06/20 15:05:28  ID:???.net(487)
クエリを発行する手段としてホストコードを使うよ、
単体テストレベルの話ならユニットテストツールも使えるよってだけなんだけど、
> 何かの言語と結合して
> コードって別の言語だし
というメンタリティの持ち主なので、話が全然噛み合わない

509
NAME IS NULL[]   投稿日:2017/06/20 15:08:58  ID:Ce61+VwB.net(7)
>288
なんでこれが手動みたいに見えるわけ?

510
NAME IS NULL[]   投稿日:2017/06/20 15:12:35  ID:Ce61+VwB.net(7)
>290
あなたみたいにこういうのがテストだと思っているから話がおかしくなる。

単にデータベースを使いこなせないことをごまかすために言っているとしか思えない。

511
NAME IS NULL[]   投稿日:2017/06/20 15:14:22  ID:Ce61+VwB.net(7)
PostgreSQLは使われ方から細かいテストをする習慣のない人間が使っていることが多いから理解できないのもわかるよ。

512
NAME IS NULL[sage]   投稿日:2017/06/20 15:27:48  ID:???.net(487)
>291
手動じゃないなら、具体的にどうやってるの?

513
NAME IS NULL[sage]   投稿日:2017/06/20 15:32:39  ID:???.net(487)
手動じゃないならなんらかの方法で結果を自動チェックしてるわけで、>261と何が違うんだってことになる

514
NAME IS NULL[sage]   投稿日:2017/06/20 15:38:25  ID:???.net(487)
自分以外全部馬鹿病

515
NAME IS NULL[]   投稿日:2017/06/20 15:45:59  ID:Ce61+VwB.net(7)
>295
それだと結合テストの部類だろ。少なくともPostgresqlなんだからPostgresqlで完結しろよ。

516
NAME IS NULL[sage]   投稿日:2017/06/20 16:49:13  ID:???.net(487)
もしかして手動でSQL実行してトリガが自動で動くから自動って言ってるの?w
まさかそんなわけないか

517
NAME IS NULL[]   投稿日:2017/06/20 20:04:13  ID:BP5gL4BV.net(2)
>298
自動テストの「自動」を誤解している。

よくいるのが有名自動テストツールを使用するのが自動テストで、それで確認できるテストだけがテストだと思ってる人間。

画面をポチポチやるのはたしかに手動だが、それ以外は昔からスクリプトでテストする。

あまり自動化しすぎるとテストにならなくなる。すでに完成しているシステムのリグレッションテストなら有効。

リファクタリングもそうだが特定のツールの機能を使うことを指している人間も多い。

話を戻すとここまでpsqlもPL/pgSQLも出てこない。PostgreSQLやMySQLは入門書で他の言語から使うことばかり書かれているから仕方ないとは思う。

データベースはデータの入れ物、SQLはあまりテストしない習慣の人間といくら話しても平行線をたどる。

LAMP環境だとエンタープライズの感覚がわからないひとは多い。

518
NAME IS NULL[]   投稿日:2017/06/20 20:04:42  ID:BP5gL4BV.net(2)
IDが変わってしまった

519
NAME IS NULL[]   投稿日:2017/06/20 22:57:38  ID:TFo31zTG.net
好意的に見れば全体的にさほどおかしな理解はしてないようだけど
一つのレスにあれもこれも詰め込みすぎて結局何を言いたいのかさっぱり分からない
知識をドヤりたいんだったらむしろ出し惜しみした方がいいよ

520
NAME IS NULL[]   投稿日:2017/06/21 01:15:28  ID:hwqbFp3v.net(8)
>301
だからいままでまともにレスしてないんだけど?

521
NAME IS NULL[]   投稿日:2017/06/21 01:16:31  ID:hwqbFp3v.net(8)
>301
あんたも知らないなら俺にかまうなよ。2chレスが気になって仕方ない病か?

522
NAME IS NULL[sage]   投稿日:2017/06/21 10:55:03  ID:???.net(487)
見えない敵をマウントご苦労様です

523
NAME IS NULL[sage]   投稿日:2017/06/21 11:01:28  ID:???.net(487)
>299
> よくいるのが有名自動テストツールを使用するのが自動テストで、それで確認できるテストだけがテストだと思ってる人間。
そんな奴はまれだろ

> リファクタリングもそうだが特定のツールの機能を使うことを指している人間も多い。
そんな奴はまれだろ

> SQLはあまりテストしない習慣の人間といくら話しても平行線をたどる。
自分が頓珍漢だから平行線になっている可能性

> LAMP環境だとエンタープライズの感覚がわからないひとは多い。
PostgreSQLスレでそんなこといわれてもね

524
NAME IS NULL[sage]   投稿日:2017/06/21 11:34:18  ID:???.net(487)
トリガーを発火させるためにコードを書いたら発狂する人がいるということはわかった w

525
NAME IS NULL[sage]   投稿日:2017/06/21 13:44:23  ID:???.net(487)
スクリプトってSQLとは別の言語じゃないんですかね

526
NAME IS NULL[]   投稿日:2017/06/21 14:02:33  ID:hwqbFp3v.net(8)
>307
SQLスクリプト

527
NAME IS NULL[sage]   投稿日:2017/06/21 14:06:27  ID:???.net(487)
>308
あおりじゃなくて素直に聞きたいんですが、SQLスクリプトで>261のようなテストはどう書くんですか?

528
NAME IS NULL[]   投稿日:2017/06/21 14:12:32  ID:hwqbFp3v.net(8)
>309
SELECT、INSERT、SELECTでいいでしょう。

529
NAME IS NULL[sage]   投稿日:2017/06/21 14:14:39  ID:???.net(487)
>310
それは、テストがOKだったかどうかは目視で行うってことですか?

530
NAME IS NULL[sage]   投稿日:2017/06/21 14:25:56  ID:???.net(487)
>299
> 画面をポチポチやるのはたしかに手動だが、それ以外は昔からスクリプトでテストする。

その昔がいつのことかわからないけど、
DbUnitは2002年から http://dbunit.sourceforge.net/
SQLUnitは2003年から https://www.openhub.net/p/sqlunit
PlSqlUnitは2003年から http://wiki.c2.com/?PlSqlUnit
存在してるよ。

531
NAME IS NULL[sage]   投稿日:2017/06/21 17:54:26  ID:???.net(487)
まさか、
----
select user_count from ...;
insert into users values (...);
select user_count from ...;
----
を実行しますってことじゃないよな?

532
NAME IS NULL[sage]   投稿日:2017/06/21 18:52:16  ID:???.net(487)
ORM採用したら、テストのしようがなく困惑

533
NAME IS NULL[]   投稿日:2017/06/21 21:29:34  ID:hwqbFp3v.net(8)
>312
そういうのを使うのがテストかどうかは何をもってよしとするかだろ。

それも結局、単体テストになってねえし。

534
NAME IS NULL[]   投稿日:2017/06/21 21:33:31  ID:hwqbFp3v.net(8)
いい加減な外国人が作ったもの、やってることが正しいわけではない。青臭いのばかりわいてくるなw

535
NAME IS NULL[]   投稿日:2017/06/21 21:39:17  ID:hwqbFp3v.net(8)
テストのやり方を知らないから、テスト嫌いなアメリカ人がテストのために作ったものを使うのがテストだと思ってるんだろうな。

テストは泥臭いのも大事。

536
NAME IS NULL[]   投稿日:2017/06/21 21:48:05  ID:hwqbFp3v.net(8)
>313
それカウントはおかしいだろw

537
NAME IS NULL[sage]   投稿日:2017/06/21 21:57:19  ID:???.net(487)
テストケースに根性が入ってない!
とか言いそう

538
NAME IS NULL[sage]   投稿日:2017/06/22 03:44:57  ID:???.net(487)
>318
カウントじゃなきゃいいだろってことの裏返しでいいんだろか

539
NAME IS NULL[sage]   投稿日:2017/06/22 10:15:17  ID:???.net(487)
>318
> それカウントはおかしいだろw
どこがだよ?

いい加減、どうやってテストするのかちゃんと書けよ。
書けないのか?

540
NAME IS NULL[sage]   投稿日:2017/06/22 10:23:56  ID:???.net(487)
まぁ、PostgreSQLもMySQLもOracleもSQL Serverも外国人が作ったんですけどね。

541
NAME IS NULL[sage]   投稿日:2017/06/22 13:45:13  ID:???.net(487)
マニュアルでテストしていたのをコードで書くと、テストではなくなってしまうという不思議

542
NAME IS NULL[sage]   投稿日:2017/06/22 13:51:25  ID:???.net(487)
>317
> テストは泥臭いのも大事。
スマートにできる所はスマートにやればいいだけのこと

543
NAME IS NULL[sage]   投稿日:2017/06/22 14:45:11  ID:???.net(487)
>315
> そういうのを使うのがテストかどうかは何をもってよしとするかだろ。
いや、どう考えてもテストでしょ。
テストじゃなければ、何なんだ?

544
NAME IS NULL[sage]   投稿日:2017/06/22 14:48:19  ID:???.net(487)
ヘッドレスブラウザを使った、コードによるE2Eテストはテストではない

545
NAME IS NULL[sage]   投稿日:2017/06/22 18:30:21  ID:???.net(487)
こいつCOBOLerだろ

546
NAME IS NULL[sage]   投稿日:2017/06/22 18:57:40  ID:???.net(487)
IDENTIFICATION DIVISION.

なつかしいなw

547
NAME IS NULL[]   投稿日:2017/06/22 19:55:39  ID:5JZUMx3g.net
まさかこんなスレにまでコボラーが紛れ込んでいたとは
油断も隙もねえなゴキブリ野郎だなコボラーってやつは

548
NAME IS NULL[]   投稿日:2017/06/22 23:55:50  ID:Ck9VN4b3.net
若気のいたりだろうけど謙虚さがなさすぎだな。結局、教えてくれが本音なのに批判だけして正当化してるだけだろw

549
NAME IS NULL[sage]   投稿日:2017/06/23 12:56:09  ID:???.net(487)
>330
お前のテストのやり方なんて、誰も知りたくないだろ

550
NAME IS NULL[sage]   投稿日:2017/06/23 15:51:47  ID:???.net(487)
>330
ID:hwqbFp3vに対するコメント?
若気というよりじじい臭がすごいんだが

551
NAME IS NULL[]   投稿日:2017/06/23 18:04:55  ID:pI6enatd.net(3)
>331
いろいろ考えがあって正解はない。ただデータベースならデータ重視のテストをすべきで、特にデータ型はみてもらいたい。

552
NAME IS NULL[sage]   投稿日:2017/06/23 18:08:08  ID:???.net(487)
>333
だから、どうやってテストしてるのか、はよ書け

553
NAME IS NULL[]   投稿日:2017/06/23 18:08:30  ID:pI6enatd.net(3)
>332
ポスグレでテストは適当でいいはむしろ昔のWebサイトの感覚を引きずっているおっさんの考え方。せっかくポスグレが他のRDBMSに対向すべく機能を追加してるのにまともな使い方を広める人間がいないからシェアが落ちてしまった。

554
NAME IS NULL[]   投稿日:2017/06/23 18:11:51  ID:pI6enatd.net(3)
>334
なぜデータベースの最初のテストを別のプログラミング言語でテストしてはいけない理由がいまだにわからないのか?

555
NAME IS NULL[sage]   投稿日:2017/06/23 18:15:50  ID:???.net(487)

556
NAME IS NULL[sage]   投稿日:2017/06/23 18:16:25  ID:???.net(487)
>336
そんなのいいから、お前のテスト方法はよ書け

557
NAME IS NULL[]   投稿日:2017/06/23 19:17:58  ID:MrOPR6Mg.net
そろそろ小出しにするのやめてまるっとさらけ出しちゃえばいいのに
一斉に叩かれそうだけど賛同者が現われる可能性もないわけじゃないじゃんw

558
NAME IS NULL[sage]   投稿日:2017/06/24 15:55:07  ID:???.net(487)
ぽすとぐれすきゅーえる
ぽすとぐれすえすきゅーえる

559
NAME IS NULL[sage]   投稿日:2017/06/24 15:55:52  ID:???.net(487)
ぽすとぐれすきゅーえる
ぽすとぐれえすきゅーえる

560
NAME IS NULL[sage]   投稿日:2017/06/24 17:46:56  ID:???.net(487)
ぽすとぐれぇすきゅーえる

561
NAME IS NULL[]   投稿日:2017/06/24 18:31:33  ID:SDKyUFwq.net
たぶんアメリカ人もポストグレスキューエルと言ってないよな。言いにくいだけ。

562
NAME IS NULL[sage]   投稿日:2017/06/26 14:18:41  ID:???.net(487)
>339
どうせ>313みたいなクエリ実行して、目視で確認だろ

563
NAME IS NULL[]   投稿日:2017/06/26 16:29:03  ID:I1kQyLDg.net
>344
大事なところは目視に決まってんだろw

564
NAME IS NULL[sage]   投稿日:2017/06/26 17:23:24  ID:???.net(487)
>345
エビデンスがない

565
NAME IS NULL[]   投稿日:2017/06/26 18:59:45  ID:M3gY6rN7.net
>346
エビデンスを目視で確認だろw
なんなのかさっぱりわからん。

566
NAME IS NULL[sage]   投稿日:2017/06/27 11:47:57  ID:???.net(487)
>347
エビデンスというのが>313の出力結果だとしたら、それがテストOKなのかどうかが第三者にはわからない

まあ、別途テスト仕様書的なものを書けばいいけど
--
No: 123
ケース: ユーザを追加するとユーザ数がカウントアップされる
テスト方法:
1. 現在のユーザ数を取得する
  select user_count from ...
2. ユーザを追加する
  insert into users values (...)
3. 現在のユーザ数を取得し、1.で取得した数+1になっていることを確認する
  select user_count from ...
--

567
NAME IS NULL[]   投稿日:2017/06/27 13:40:41  ID:LiLTLORO.net(7)
別人が断片的に言ってることを、批判したいために、自分で話を補完w

568
NAME IS NULL[sage]   投稿日:2017/06/27 14:14:36  ID:???.net(487)
age照る奴は全員NG

569
NAME IS NULL[]   投稿日:2017/06/27 14:40:19  ID:LiLTLORO.net(7)
>350
いまどき上げるななんて意味もわからず、下げているんだろw

570
NAME IS NULL[sage]   投稿日:2017/06/27 14:57:22  ID:???.net(487)
このスレの最近の流れでは、ageてる奴はアホしかいない

571
NAME IS NULL[sage]   投稿日:2017/06/27 15:17:48  ID:???.net(487)
>335
C0カバレッジ100%を目指せって話をしてるのに、なんで「テストは適当でいい」とかいう話にするのかわけわからん

572
NAME IS NULL[]   投稿日:2017/06/27 15:21:13  ID:LiLTLORO.net(7)
>353
そのテスト基準をなぜDBにあてこもうとするのか?

573
NAME IS NULL[]   投稿日:2017/06/27 15:23:52  ID:LiLTLORO.net(7)
データ観点ではなくてロジックの網羅テストがなぜここで出てくるのか。

574
NAME IS NULL[sage]   投稿日:2017/06/27 15:29:23  ID:???.net(487)
>354
話の流れ的に、トリガーやファンクションをテストする場合の話な
C0カバレッジ100%は、実行するまでエラーチェックされないからだろ
まぁ別に結合テスト(どころか運用)まで未実行の行が残ってようが、俺には関係ないけどな

575
NAME IS NULL[]   投稿日:2017/06/27 15:34:58  ID:LiLTLORO.net(7)
>356
C0ガバレッジ100%はテストの一部にすぎないから、これが適当なテストと指摘してるんだよ。

576
NAME IS NULL[sage]   投稿日:2017/06/27 15:39:44  ID:???.net(487)
>357
お前どんだけ話をループさせれば気が済むんだよ

>237
> C0カバレッジで満足できるならそこでやめる。
> 確証が持てないなら、C1カバレッジになるようなテストを追加する。
それでも不安なら、与えるデータのバリエーションを増やすとかするだろ普通

まぁ>313レベルのテストをやってる奴にはわからないだろうけどな

お前が上でageてたアホなら、いい加減お前のテスト方法を明示しろや

577
NAME IS NULL[]   投稿日:2017/06/27 16:01:25  ID:LiLTLORO.net(7)
>358
それがデータベースの試験にならないとなぜわからない?

578
NAME IS NULL[]   投稿日:2017/06/27 16:04:31  ID:LiLTLORO.net(7)
データ型が間違ってることに気づくのは最初のテストくらい。

579
NAME IS NULL[]   投稿日:2017/06/27 19:37:14  ID:X5GsG9b9.net
>360
最初のテストてどういう意味やで?同じテストばかり2回も3回もするんか?

580
NAME IS NULL[sage]   投稿日:2017/06/28 12:10:20  ID:???.net(487)
そりゃテスト結果によって修正入れたらまた同じテストするべ

581
NAME IS NULL[sage]   投稿日:2017/06/29 17:43:55  ID:???.net(487)
>359
なるでしょ

582
NAME IS NULL[sage]   投稿日:2017/06/29 18:59:22  ID:???.net(487)
>359
わからせておやり!

583
NAME IS NULL[sage]   投稿日:2017/07/05 15:31:05  ID:???.net(487)
「データ型が間違ってる」というバグを作ったことないし見たことないんだが、具体的にどういうやつなんだ?

584
NAME IS NULL[sage]   投稿日:2017/07/05 19:54:48  ID:???.net(487)
>365
日付にテキスト型

585
NAME IS NULL[sage]   投稿日:2017/07/06 14:15:32  ID:???.net(487)
>366
どういう意味?
create tableが間違ってたってこと?

586
NAME IS NULL[sage]   投稿日:2017/07/06 18:24:01  ID:???.net(487)
>366
なんかよくわからんけど、それがプログラム言語でテストすると検出できないバグという訳か。

587
NAME IS NULL[sage]   投稿日:2017/07/07 21:06:21  ID:???.net(487)
うざいやつは大抵 仕事出来ない か現場では嫌われてる。

588
NAME IS NULL[]   投稿日:2017/07/07 21:36:26  ID:ctnQeX+M.net
どうした急に?w
更新情報
・スレッド一覧ページで過去ログのタイトル検索・一覧表示ができるようになりました(2016/1/20)
NGワード登録
登録する
スレッド内検索

データベース板 タイトル検索

このスレッドが人気です(実況系)
実況 ◆ TBSテレビ 28126 TBSの手柄になっちゃうじゃん (791)TBS実況
バイキングとグッディ★1 (637)フジ実況
実況 ◆ フジテレビ 83955 凋落 (723)フジ実況
実況 ◆ テレビ朝日 48622 船橋の野田やめるってよ (255)テレ朝実況
ビビット 7/21(金) 上西小百合議員緊急生出演 ★3 (810)TBS実況
NHK総合を常に実況し続けるスレ 136069 リンキン・パーク (757)NHK実況
羽鳥慎一モーニングショー★4 (497)テレ朝実況
連続テレビ小説 ひよっこ★195 (572)NHK実況
このスレッドが人気です(ニュース系)
【国籍法違反について】蓮舫代表「手続きを怠ったのは事実。私はずっと日本籍だけだと思っていた。深く反省している」国籍を開示★59 (944)ニュー速+
【稲田】南スーダン日報問題、実は、2月6日に日報はすべて公開されていた 一方、一連の情報リーク主犯格の名前が判明 (1002)ニュー速+
【外交】「安倍首相夫人は英語を話さない。ハローすら言わない」トランプ大統領の発言に波紋★2 (1002)ニュー速+
【訃報】リンキン・パークのボーカル チェスター・ベニントンが死去 首を吊って自殺しているのが発見される ★4 (1002)音楽・芸能ニュース
【話題】男性の「マザコン」 どこから認定する?女子に聞いてみた…「ママと呼ぶ」「着信履歴で多いのは母」「彼女よりお母さん優先」 (1002)ニュー速+
【警視庁】少年の全裸撮影で「社交界のプリンス」逮捕 (216)ニュー速+
【経済財政白書】人手不足、バブル期並み 残業抑え低成長打開を (557)ニュー速+
【国籍法違反について】蓮舫代表「手続きを怠ったのは事実。私はずっと日本籍だけだと思っていた。深く反省している」国籍を開示★58 (1008)ニュー速+
データベース板の人気スレ
Oracle 質問総合スレ12 (935)
PostgreSQL Part.11 (370)
Oracle 質問総合スレ9 (986)
MySQL 総合 Part24 (1010)
Oracle 質問総合スレ10 (1014)
SQL質疑応答スレ 17問目 (365)
♪つっかもうぜ!DB! (91)
SQL質疑応答スレ 15問目 (1013)
MySQL 総合 Part25 (1005)
Microsoft SQL Server 総合スレ 11 (455)
SQLite Part.10 (620)
はじまりです。 (584)
XML統合スレッド (397)
だれかみずほ銀行のDBを直してやれよ (54)
RDBMS比較総合スレ 【サーバ】 (115)
このサイトについて
このサイトは2ちゃんねるからデータを取得し、表示するサービスです。
画像のインライン表示機能について
画像のURLの後ろにある[画像をインライン表示]をクリックすると、URLの下に表示します。
表示される画像は横幅100pxに縮小されていて、クリックすると原寸で表示します。
このサイトの特徴
1)スレッド内検索ができます
2)レス(「>>1」など)のポップアップができます
3)不適切な言葉を含む投稿を表示しません
4)ページ内で画像を直接表示できます
5)2ch他スレッドへのリンクはタイトル・板名つきでリンクします
6)すっきりとしたデザインで表示します
7)最新スレや前スレをチェック・一覧表示します
8)NGワード機能の搭載でイヤな言葉が目に入りません
9)荒らしを自動チェックします
10)スレッド内・同一IDの書き込みだけ表示できます
11)レスの返事をレスされた発言の下に表示する「まとめビュー」が利用できます
12)シリーズ化したスレッドの一覧を表示します
13)最新のスレッドがある場合はお知らせします
削除について
こちらをご覧ください
機能要望について
現在機能要望受付中です。
問い合わせについて
こちらのページからどうぞ
広告


首都圏の方、ソフトバンク光オススメですよ


このサイトは2ch.scからデータを取得・表示しています。削除などについてはこちらをご覧ください。 アクセスモード:差分取得 - 新着書き込みなし(304)