PostgreSQL Part.11©2ch.net

1NAME IS NULL 転載ダメ©2ch.net2016/05/03(火) 15:42:33.27ID:???
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
http://echo.2ch.net/test/read.cgi/db/1393353314/

2NAME IS NULL2016/05/03(火) 15:50:06.35ID:???
あらあら、次の舞踏会はこちらで開かれるのかしら?

3NAME IS NULL2016/05/03(火) 15:56:07.47ID:BecA4HPo
●過去スレ
PostgreSQL 2テーブル目 (WebProgから派生)
http://pc8.2ch.net/test/read.cgi/db/1056944337/
PostgreSQL & pgsql-jp ML 3テーブル目
http://pc11.2ch.net/test/read.cgi/db/1079771059/
【Windows】 PostgreSQL8 Part.1 【対応】 (実質part4)
http://pc11.2ch.net/test/read.cgi/db/1102247223/
PostgreSQL Part.5
http://pc11.2ch.net/test/read.cgi/db/1196512717/
PostgreSQL Part.6
http://pc11.2ch.net/test/read.cgi/db/1224318817/
PostgreSQL Part.7
http://hibari.2ch.net/test/read.cgi/db/1256300618/
PostgreSQL Part.8
http://toro.2ch.net/test/read.cgi/db/1294641578/
PostgreSQL Part.9
http://toro.2ch.net/test/read.cgi/db/1338040695/
PostgreSQL Part.10
http://echo.2ch.net/test/read.cgi/db/1393353314/

●関連過去スレ
■   PostgreSQLのことならここで聞け   ■ (初心者part1)
http://pc8.2ch.net/test/read.cgi/db/1056960249/
■   PostgreSQLのことならここで聞け   ■ (初心者part2)
http://pc8.2ch.net/test/read.cgi/db/1091523132/
PostgresSQLについて語ろう (雑談part1)
http://pc8.2ch.net/test/read.cgi/db/1056992724/
PostgreSQLについて語ろう where OID=2::oid (雑談part2)
http://pc8.2ch.net/test/read.cgi/db/1136805513/

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

4NAME IS NULL2016/05/03(火) 19:08:46.45ID:???
>>3
あ、忘れてたありがと

5NAME IS NULL2016/05/04(水) 00:35:18.46ID:???
おっつおっつ

6NAME IS NULL2016/05/12(木) 22:34:05.03ID:???
PostgreSQL 9.6 beta1
http://www.postgresql.org/about/news/1668/

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

7NAME IS NULL2016/05/12(木) 22:59:09.52ID:???
マイナーバージョンアップではなく
累積バグ修正と呼べといつも思う

8NAME IS NULL2016/05/14(土) 07:25:02.09ID:???

9NAME IS NULL2016/05/17(火) 12:51:27.21ID:???
DBバージョン上げたら
insert into a select * from a_tmp where code = 1

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

10NAME IS NULL2016/05/17(火) 13:09:37.70ID:???
>>9
エスパー求む

11NAME IS NULL2016/05/17(火) 13:23:11.87ID:???
>>9
そこで動かなくなるのってかなり古かったんじゃないか?

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

12NAME IS NULL2016/05/17(火) 13:28:59.38ID:???
エスパーじゃないとわかんないのかw

説明すると
table a
code integer
b_flg boolean

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

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

13NAME IS NULL2016/05/17(火) 14:40:07.89ID:???
>>11
もちろんa_tmpの b_flgの型はbooleanです。

14NAME IS NULL2016/05/17(火) 15:00:34.52ID:???
って自分でテーブル作って同じの試したらうまくいく・・・・

select b_flg from a_tmp

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

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

16NAME IS NULL2016/05/17(火) 15:33:03.01ID:???
>>9
> DBバージョン上げたら
何から何に上げたのか

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

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

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

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

17NAME IS NULL2016/05/17(火) 15:35:23.64ID:???
> って自分でテーブル作って同じの試したらうまくいく
うまくいく環境と、うまくいかない環境の差異は何か

18NAME IS NULL2016/05/17(火) 15:42:34.62ID:???
>>9
> CREATE CASTで対処するのが正しい道?
なわきゃない

19NAME IS NULL2016/05/17(火) 20:41:11.06ID:???
なぜテーブル定義を確認しないんだろう...

20NAME IS NULL2016/05/18(水) 13:16:35.30ID:???
確認した結果同じ構成だったんだろ
知らんけど

21NAME IS NULL2016/05/21(土) 16:12:15.04ID:???
質問: 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くらいあって、それを全件検索してもメモリ使用量が増えない。
そのせいで性能が頭打ちになっている。だれかヒントおねがい。

22NAME IS NULL2016/05/21(土) 17:03:47.14ID:???
>>21
pg_buffercache を突っ込んで調べてみるのはどうか?
http://www.postgresql.jp/document/9.5/html/pgbuffercache.html

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

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

24NAME IS NULL2016/05/23(月) 09:04:57.49ID:???
>>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しか使っていない
(ファイルキャッシュを除く)のを改善すれば解決できると思っているんですが、
甘いでしょうか。

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

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

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

27NAME IS NULL2016/05/24(火) 03:22:09.57ID:???
さすがにそれは考えにくいから例えが適切じゃなかったんだろうなぁ。

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

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

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

29NAME IS NULL2016/05/27(金) 06:22:59.18ID:???
>>28
ここで聞くより、PowerGres販売元にメールで聞いた方が良いと思う。

30NAME IS NULL2016/05/27(金) 09:17:39.51ID:???
>>28
問題ない

31NAME IS NULL2016/05/27(金) 09:51:30.00ID:???
ありますん

32NAME IS NULL2016/05/27(金) 11:01:47.95ID:???
そんなめんどくさいライセンス違反なんてあるの?

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

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

34NAME IS NULL2016/05/27(金) 14:04:58.50ID:Swk78D+S
通信したらいかんの?
windows上のブラウザからデータもらうWebサーバーはみんなライセンス違反?

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

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

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

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

37NAME IS NULL2016/05/27(金) 14:18:08.03ID:???
ちなみに、MS謹製のサーバ機能以外のアプリは、問い合わせると軒並み駄目だと言われる気がする
(個人の想像です)

38NAME IS NULL2016/05/27(金) 14:27:21.13ID:???
MSっていろいろめんどくさいね。そら逃げますわぁ

39NAME IS NULL2016/05/27(金) 14:30:32.03ID:???
Linuxにしとくのがいいよ

40NAME IS NULL2016/05/27(金) 15:05:36.10ID:???
ですよねぇ。ソース持ってきてメイク、インストールでそのまんま使えるのが
気持ちいい。ぼろいPCでもまぁ動く。社員DBぐらいならそんなもんで十分。

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

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

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

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

43NAME IS NULL2016/05/27(金) 22:30:53.99ID:Swk78D+S
MSがダメっつーんだからダメだろ

44NAME IS NULL2016/05/27(金) 22:37:49.54ID:???
サーバ用途なのにWindows Serverを使わないような貧乏人にはLinux (サポート無し) がお似合い

45NAME IS NULL2016/05/27(金) 22:47:11.17ID:???
そら そーだなぁ と言って離れてくわけです

46NAME IS NULL2016/05/27(金) 22:52:18.48ID:???
シュリンクラップ契約は有効かっつー話はあるけどな。

47NAME IS NULL2016/05/27(金) 23:15:31.07ID:???
Excel共有なんかどうなるんだろ

48NAME IS NULL2016/05/28(土) 00:08:57.80ID:???
真面目な人ほど、コンプライアンスに厳しい会社ほど
従います。当たり前ですけど。

49NAME IS NULL2016/05/28(土) 05:27:06.64ID:???
>>47
共有するブックを置くファイルサーバーが Windows Server ならなんの問題もない
つか、コンテンツの問題じゃないし

50NAME IS NULL2016/05/28(土) 14:55:10.76ID:???
unique制約のindexをdescで作れますか

51NAME IS NULL2016/05/28(土) 15:04:12.13ID:???
>>50
目的は?

52NAME IS NULL2016/06/16(木) 13:48:47.78ID:???
PostgreSQLはストレージがHDDじゃなくてSSDでも装置の特性に合ったバッチリ最適なデータの出し入れをしてくれますか?

53NAME IS NULL2016/06/16(木) 18:05:16.91ID:???
してくれません
プランコストの調整くらいはできるが
基本的にはOSに丸投げ

54NAME IS NULL2016/06/16(木) 18:13:16.71ID:???
そうでしたか。。

55NAME IS NULL2016/06/16(木) 18:37:11.62ID:???
他のRDMSではSSD用に処理が分かれているのだろうか

56NAME IS NULL2016/06/16(木) 20:43:11.40ID:???
さすがに本体の処理は変わらんと思うがキャッシュ機構とかは専用設計があるみたい
http://www.oracle.com/technetwork/jp/database/articles/pickup/index-1598207-ja.html

57NAME IS NULL2016/06/17(金) 01:21:21.43ID:???
ストレージが比較的高速なサーバー機だとデフォルトのrandom_page_costが
全然合わないから調整必須、ってのは昔からだな。

58NAME IS NULL2016/06/17(金) 02:49:21.84ID:???
当然 I/O statは見るわなぁ。

59NAME IS NULL2016/06/19(日) 00:37:31.45ID:???
一度仕事で使ってみたい

60NAME IS NULL2016/06/19(日) 10:44:21.98ID:sk8gYGH6
ボードゲームのオリジナルオーダー制作
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/

61NAME IS NULL2016/08/13(土) 22:21:08.11ID:N8gS1gM5
■質問内容
検索結果の続きを取得するSQLを教えてください。

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

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

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

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

助けてください。

62NAME IS NULL2016/08/13(土) 22:33:42.60ID:???
ソートキーは当然あるわけだから、「前回の最後のソートキーより大きな100件」を取得すればいいんでない?

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

〜 ORDER BY score;

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

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

64NAME IS NULL2016/08/14(日) 06:01:16.47ID:???
テンポラリテーブル作って検索結果突っ込んでおくとか
主キーだけでも

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

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

66NAME IS NULL2016/08/14(日) 09:02:39.41ID:???
実はユニークな主キーもないとか言い出したりして。

67NAME IS NULL2016/08/15(月) 07:13:36.14ID:???
うぎゃ

68NAME IS NULL2016/09/04(日) 22:19:47.07ID:???
次のバージョンって10になるのん?

69NAME IS NULL2016/09/06(火) 00:48:17.74ID:???
>>68
9.6

70NAME IS NULL2016/09/11(日) 05:22:55.47ID:???
どうしてPostgreSQLはMySQLに勝てたのか

71NAME IS NULL2016/09/16(金) 04:50:18.57ID:???
>>63
score が 3000 であるレコード同士の順番をどうにかして決めておかないとだめだよ。

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

72NAME IS NULL2016/09/16(金) 13:33:25.57ID:???
>>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人はいつどのようにすれば見られるのか。

73NAME IS NULL2016/09/16(金) 14:14:33.88ID:???
1か月も前のレスなのに急にどうした

74NAME IS NULL2016/09/16(金) 14:54:50.86ID:???
直近のコメントが今日だったから、最近の話題かと勘違いしたわ

75NAME IS NULL2016/09/17(土) 23:30:54.93ID:???
>>70
実際に勝ってるかどうかは知らないけど、もし勝つとしたら商用無料のせいだろ

76NAME IS NULL2016/09/18(日) 00:08:28.31ID:???
MySQLだって無料で商用に使えるが。

77NAME IS NULL2016/09/18(日) 00:15:45.94ID:???
実際のデータがわからんからなんとも

78NAME IS NULL2016/09/18(日) 00:36:42.83ID:eQBFaRs8
MySQLってまだあるの?

79NAME IS NULL2016/09/18(日) 20:47:05.35ID:???
>>78
冗談にしてはパンチが足りない

80NAME IS NULL2016/09/18(日) 23:51:08.89ID:???
MySQLってマラあるの?

81NAME IS NULL2016/09/18(日) 23:53:40.22ID:???
>>78
まいしーくぅえる

82NAME IS NULL2016/09/18(日) 23:55:26.41ID:???
>>80
ねえよ

83NAME IS NULL2016/09/19(月) 00:40:19.70ID:???
まらぁ?

84NAME IS NULL2016/09/19(月) 11:36:37.41ID:???
ドゥーユーリーメンバー

85NAME IS NULL2016/09/19(月) 19:01:18.26ID:???
トゥエニファスタァイ セプテンバー

86NAME IS NULL2016/09/19(月) 19:53:19.48ID:???
セプテンバーレイン

87NAME IS NULL2016/09/20(火) 09:13:48.38ID:???
9月のあめーはつめたくて〜

88NAME IS NULL2016/09/20(火) 11:13:36.53ID:???
稲垣吾郎?

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

90NAME IS NULL2016/09/22(木) 02:23:39.42ID:???
やってる人はやってるんだろうし、ご勝手にって感じかな。
もう気にかけることも無くなったね。

91NAME IS NULL2016/09/22(木) 08:05:39.47ID:???
10年前は熱いライバルだったのに

92NAME IS NULL2016/09/22(木) 08:34:13.73ID:???
比べるなら相手はMariaじゃないの?
もしくはローエンドOracleか

93NAME IS NULL2016/09/22(木) 14:05:12.63ID:???
レンタルサーバで使える所少なかったり
CMSとかで対応してないとかあるからなー
そういう場面ではMySQL選ばざるを得ない

94NAME IS NULL2016/09/22(木) 20:36:09.66ID:???
え?
PostgreSQLって流行ってるの?
もう廃れてきているのかと思った
どこの記事見ても、MySQLとかMariaDBとかばっかりだもんな

95NAME IS NULL2016/09/22(木) 20:54:32.74ID:???

96NAME IS NULL2016/09/22(木) 21:40:30.81ID:???
C++のような存在

97NAME IS NULL2016/09/22(木) 21:42:08.83ID:???
postgresql はC
MySQL は C++

98NAME IS NULL2016/09/22(木) 21:56:20.47ID:???
いわゆるWeb系はMySQL系
基幹業務にOracleを使う金がないとこはPostgreSQL
ベンチャー企業が中小相手にシステム構築するときに使う

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

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

99NAME IS NULL2016/09/22(木) 22:00:36.32ID:???
ほー 詳しい

100NAME IS NULL2016/09/22(木) 22:18:22.64ID:???
VBやPHPに例えられても嬉しくないなぁ
レンタルサーバで使えない問題は Heroku Postgres で多少はマシになったか

101NAME IS NULL2016/09/22(木) 22:26:33.29ID:???
アメリカなんかじゃ昔からMySQLの方が人気があって、Postgresが人気あるのは日本くらい。

102NAME IS NULL2016/09/22(木) 22:34:28.71ID:???
って前から言われてたね。今のそうなのですか。

103NAME IS NULL2016/09/22(木) 22:41:28.32ID:jDvr07Zs
アメリカ人はバカだからMyISAM速えええええええええつって喜んでただけやで
それもずいぶん昔の話やw

104NAME IS NULL2016/09/22(木) 22:49:04.78ID:???
ひどすw

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

106NAME IS NULL2016/09/22(木) 23:00:42.22ID:???
最新の研究成果をいち早く採り入れている方が好き

107NAME IS NULL2016/09/22(木) 23:37:58.79ID:???
まぁ 普通の開発者、ユーザーから見れば普通に使えれば
それほど最新技術はなくてもぉ とは思うんじゃないの?

108NAME IS NULL2016/09/22(木) 23:41:17.54ID:???
PostgreSQL使い始めた頃はMySQLはサブクエリ使えなかったからなあ

109NAME IS NULL2016/09/23(金) 00:54:00.00ID:???
MySQLはデータベースとして当然備えてる機能を備えてないんだよ
商用データベースから来た人にはおもちゃにすら見えない

110NAME IS NULL2016/09/23(金) 00:59:28.51ID:???
そうなんですか ほんとに知らない

111NAME IS NULL2016/09/23(金) 01:18:36.39ID:???
UberがPostgreSQLからMySQLへ移行した経緯の記事と
それへの反論は興味深かった

112NAME IS NULL2016/09/23(金) 17:15:06.11ID:???
俺のとこではmaxでも10リクエスト/sec程度なんで、あんま参考にはならなかったな

113NAME IS NULL2016/09/25(日) 16:30:18.30ID:???
いままでPostgreSQLで、ごく最近Oracle使い始めたけど、
Oracleって糞だなって思うこと多い。
Oracleをよく知らないせいだとは思うけど。


業務系、Webシステムなどでは、PostgreSQLで何も問題なし!

114NAME IS NULL2016/09/25(日) 20:40:24.75ID:???
普通に使う分はもちろん、バックアップもフェールセーフも問題ないよね。
マテリアライズドビューなんて使った事もないし。

115NAME IS NULL2016/09/25(日) 21:07:28.83ID:???
だからボラクルはサポートで金とってんだっつってんだろ

116NAME IS NULL2016/09/25(日) 22:27:52.99ID:???
>>113
最近は差を詰めてきてるよね
とはいえ大規模になればまだまだOracle

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

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

117NAME IS NULL2016/09/25(日) 22:57:09.20ID:???
>>116
>金払わないとパッチすらくれず、払っててもバグ修正してくれないけどな
何その塩対応

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

119NAME IS NULL2016/09/26(月) 09:58:44.35ID:???
バグが修正されてユーザのコードが動かなくなったとき
危険なコードを書くのが悪いと言われるのがPostgres
専用の互換性パッチの見積もりをくれるのがOracle

120NAME IS NULL2016/09/26(月) 13:15:18.18ID:???
それわそれわ

121NAME IS NULL2016/09/27(火) 00:46:01.86ID:???
>>119
なるほど
ボラクル体質をとても明快に理解できた
そんでもってどっちがまともかは言わずもがなだな

122NAME IS NULL2016/09/27(火) 00:59:38.02ID:???
バージョンあがって動かなくなるなら、バージョンあげないだけだよ
そもそも特に困ってないのにバージョンあげるわけないだろう
ミドルウェアのバージョンが変わるなんて、5年ごとのリプレースだけだよ

123NAME IS NULL2016/09/27(火) 01:21:18.54ID:???
そのバグ修正の内容がセキュリティ脆弱性の改善でなければな

124NAME IS NULL2016/09/27(火) 01:50:31.29ID:???
データベースサーバにセキュリティパッチあてるわけないだろ

125NAME IS NULL2016/09/27(火) 01:51:51.31ID:???
??

126NAME IS NULL2016/09/27(火) 02:25:22.67ID:???
きっと軽い間違いでしょう

127NAME IS NULL2016/09/27(火) 10:22:52.91ID:???
(データベースサーバはインターネッツに公開なんかしないんだから、セキュリティパッチあてる必要もないだろ)
ということかな

128NAME IS NULL2016/09/27(火) 14:56:40.91ID:???
そんなパッチがあるなら、やるだけの事かと。

129NAME IS NULL2016/09/27(火) 17:15:32.78ID:???
はぁ?

130NAME IS NULL2016/09/27(火) 17:26:54.96ID:???
OSのパッチなのかRDBMSのパッチなのかでもかわってくるw

131NAME IS NULL2016/09/27(火) 18:24:19.86ID:???
この流れでOSパッチとかアホ過ぎやろ

132NAME IS NULL2016/09/27(火) 20:22:40.29ID:???
だからパッチなんてあるんかい

133NAME IS NULL2016/09/28(水) 00:07:46.01ID:???
はぁああ?

134NAME IS NULL2016/09/28(水) 00:10:30.52ID:???
おまえらPostgreSQLにセキュリティのためにパッチなんて当てたことあるの?
UPSERT使いたいからバージョンあげるとかだったらあるかもだけど
セキュリティなんて考えたこともない

135NAME IS NULL2016/09/28(水) 00:31:52.94ID:???
いつまで不毛な争いをしているのだ

136NAME IS NULL2016/09/29(木) 00:05:22.86ID:???
毛とNULLは無いほうがいいって聞いたことがある

137NAME IS NULL2016/09/29(木) 00:45:43.04ID:???
だれがハゲだと たここら

138NAME IS NULL2016/09/29(木) 00:52:51.97ID:???
coalesce(頭髪, 植毛)

139NAME IS NULL2016/09/30(金) 06:43:56.77ID:x8uGj0c5

140NAME IS NULL2016/09/30(金) 10:50:27.58ID:???
ついに9.6かぁ。
もうついていけないw

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

142NAME IS NULL2016/09/30(金) 13:19:14.81ID:???
カンファレンスはまた盛況になりそうですね

143NAME IS NULL2016/09/30(金) 22:43:32.29ID:???
どうしてPostgreSQLって本屋さんに本が全然ないんですか?
MySQLはたくさんあるのに

144NAME IS NULL2016/09/30(金) 22:50:14.83ID:???
本が出る頃に改版するためじゃない?

145NAME IS NULL2016/10/01(土) 00:29:42.91ID:???
最新のシーラカンス本の対応バージョンは8くらいだったっけ?

146NAME IS NULL2016/10/01(土) 00:34:28.90ID:???
CTEやCONFLICTについてがっつり書いてるような本が欲しい

147NAME IS NULL2016/10/01(土) 00:52:05.59ID:???
となるとやっぱ最新マニュアルしかないわなぁw
そこそこ良く書けてるしわかり易いと思う。

148NAME IS NULL2016/10/06(木) 01:01:59.37ID:???
おすすめの記事ってどこかある?
ブロガーさんやニュースサイトでも何でも
PostgreSQLについて情報が集まるようなとこ探してる

149NAME IS NULL2016/10/06(木) 02:54:12.82ID:???

150NAME IS NULL2016/10/06(木) 05:53:59.59ID:???
Let'sは最近、更新サボってるからなあ・・・

151NAME IS NULL2016/10/06(木) 06:42:02.86ID:???

152NAME IS NULL2016/10/06(木) 08:21:09.55ID:???
さあ、みんな今こそ売り込みの絶好のタイミング
自社のURLを貼るんだ

153NAME IS NULL2016/10/06(木) 11:37:02.77ID:???
宣伝でもいいよ

154NAME IS NULL2016/10/14(金) 01:20:43.16ID:???
pgAdmin4の日本語化ってどうやるの?

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

156NAME IS NULL2016/10/18(火) 05:08:12.81ID:???
pgAdmin3 は日本語で使ってるとなんかのコマンドが日本語で流れてエラーになった記憶があるので、それ以来ずっと英語で使ってる

157NAME IS NULL2016/11/22(火) 21:21:59.14ID:???
話題は?

158NAME IS NULL2016/11/23(水) 05:33:07.01ID:???
来週末のPGConf.Asia、みんなは行くかい?
http://www.pgconf.asia/JP/

159NAME IS NULL2016/11/23(水) 13:04:20.36ID:???
なんだかんだ満員でしょう

160NAME IS NULL2016/11/23(水) 16:40:12.30ID:???
まだ昨日時点ではチケットは残っているっぽかった。

161NAME IS NULL2016/12/04(日) 11:34:50.98ID:???
話題は?

162NAME IS NULL2016/12/10(土) 00:05:22.08ID:???
PostgreSQLって、OrderByを書かないと・・・・
毎回違う並び順になるの?
それとも、PrimaryKey順になるの?

163NAME IS NULL2016/12/10(土) 00:44:27.79ID:???
>>162
書けば良い

164NAME IS NULL2016/12/10(土) 01:56:45.87ID:???
不定だわな。たとえ何かの順に並んでたとしても信用出来ない。

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

166NAME IS NULL2016/12/10(土) 07:56:41.23ID:???
なんという的外れな観点

167NAME IS NULL2016/12/10(土) 08:30:07.22ID:???
せやろか

168NAME IS NULL2016/12/10(土) 16:50:14.90ID:???
lsで何が返るかみたいなもんやないやろか

169NAME IS NULL2016/12/10(土) 17:06:12.87ID:???
>>166
しょうゆうな

170NAME IS NULL2016/12/12(月) 13:42:28.85ID:???
不定だけど、大体はINSERTした順になることが多い
UPDATEしたりするとそれが最後になったりするので
id順とはいえない
もちろん出てくる順番を当てにしちゃいけないw

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

172NAME IS NULL2016/12/12(月) 23:26:20.67ID:???
のはずですが

173NAME IS NULL2016/12/13(火) 08:19:35.95ID:???
>>170
クラスタ化インデックスだとpk順になる。

174NAME IS NULL2017/01/29(日) 10:18:17.47ID:60pB1fs/
>>170
そんなのどんなRDBMSでも同じで、実装を考えれば、そうなるだろうが。

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

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

177NAME IS NULL2017/01/29(日) 11:01:42.79ID:60pB1fs/
>>176
データベースだというのに西暦→和暦マスタテーブルを作ろうという発想がないことに驚く

178NAME IS NULL2017/01/29(日) 11:05:32.41ID:???
>>176
昭和99年とかの特殊な要件がなければ内部は西暦、外部とのやり取り時に変換が普通かと

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

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

181NAME IS NULL2017/01/29(日) 12:46:11.29ID:???
関数でいい

182NAME IS NULL2017/01/29(日) 13:32:09.18ID:60pB1fs/
>>180
アホくさ。なんで年号が変わらない部分の日の単位でデータを持つんだよ。

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

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

184NAME IS NULL2017/01/30(月) 10:51:23.93ID:tcdzx+zX

185NAME IS NULL2017/02/01(水) 10:22:49.54ID:wkr1HydS

186NAME IS NULL2017/02/01(水) 14:47:49.81ID:4qKxf55o
インデックスについて教えてください。
調べましたが「検索が早くなる場合もあるらしい」くらいしか分かりませんでした。

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

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

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

187NAME IS NULL2017/02/01(水) 15:20:55.01ID:???
>>186
> ・ インデックスは作成するだけでよいのか?
はい。

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

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

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

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

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

1881862017/02/01(水) 15:43:28.39ID:???
>187
ありがとうございます。
助かります。

189NAME IS NULL2017/02/01(水) 18:30:22.45ID:ndjPxyEX
ポスグレにかぎらない初心者の質問が多いな。

190NAME IS NULL2017/02/02(木) 17:57:30.34ID:???
日本語扱うならencodeはCだろって言う人を結構見る気がしますが、なぜutf8じゃ駄目なんでしょうか?

1911902017/02/02(木) 18:00:09.42ID:???
例えばこの人

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

192NAME IS NULL2017/02/02(木) 18:41:25.46ID:???
えっ・・・
今まで作ったシステム、全部utf8にしてきてしもうた・・・

193NAME IS NULL2017/02/02(木) 19:10:07.87ID:???
encodeとlocaleは別だぞ。
encode=utf8 かつ locale=C が推奨なのはよく見る。

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

194NAME IS NULL2017/02/02(木) 22:45:30.91ID:???
initdb --encoding=UTF8 --no-locale ←これが基本かなと

195NAME IS NULL2017/02/03(金) 08:35:26.68ID:kkoWZhIO

196NAME IS NULL2017/02/03(金) 14:49:30.55ID:???
>>193
Linuxでも当然ながら差が出る。
なぜなら、文字コードは辞書順には並んでないから。

197NAME IS NULL2017/02/03(金) 15:00:11.71ID:JY8XYZfi
>>196
どんな文字コードでも漢字の並び順は、日本人が見ても意味のある順番になってないからな。

198NAME IS NULL2017/02/03(金) 15:45:41.80ID:???
>>196
Linuxもまともになったのか?
昔使ったときはlocale=ja系でも変わらず文字コード順に並べられたんだが

199NAME IS NULL2017/02/03(金) 16:06:32.65ID:???
>>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 -> {一,九,五,三,四,七,二,八,六} -- 辞書(?)順

200NAME IS NULL2017/02/03(金) 16:35:10.23ID:???
文字コード順でも辞書順でも、それを正解とするかどうかは要件次第。
ちなみに漢数字は、訓読み順で並んでいる。

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

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

202NAME IS NULL2017/02/03(金) 17:27:01.91ID:???
日本語ヤバイ

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

204NAME IS NULL2017/03/21(火) 17:45:20.99ID:???
おお 久々
3.19行った人いないの?

205NAME IS NULL2017/03/21(火) 19:35:41.10ID:???
>>203
言語によるけど今時パラメータクエリぐらいは使えるだろうから普通にパラメータクエリでやるわな
あとから見てもその方がわかりやすいし

206NAME IS NULL2017/03/21(火) 20:16:56.50ID:???
>>205
PHPで言えば、pg_query_params()とか?

207NAME IS NULL2017/03/21(火) 21:01:55.15ID:NIvfjcd/
phpって対策されていないやつ
非推奨じゃなかったっけ

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

208NAME IS NULL2017/03/21(火) 21:25:31.53ID:???
>>203
やらないで

209NAME IS NULL2017/03/22(水) 00:21:47.00ID:???
ぽすとぐれすきゅーえる
ぽすとぐれすえすきゅーえる

210NAME IS NULL2017/05/10(水) 00:41:30.16ID:Yh/Qr3SR
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. その他の未知の仕組み

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

212NAME IS NULL2017/05/12(金) 18:06:02.05ID:???
>>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"だと見えるということ。

2132102017/05/12(金) 23:59:44.61ID:???
>>211-212
ありがとうございます。
世界向けのSNSを作ろうとしたのですが、これがネックで
時間部分の設計ができない状態でした。
助かります。

214NAME IS NULL2017/05/14(日) 15:53:45.17ID:???
お世話になります。

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

よろしくお願いします。

215NAME IS NULL2017/05/14(日) 16:12:10.64ID:???
historyって、homeの .psql_history 出してるだけだからなあ
db切り替えるたびにリネームするとか?

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

217NAME IS NULL2017/05/14(日) 23:48:56.29ID:???

218NAME IS NULL2017/05/15(月) 22:58:52.98ID:???
>>217
そのものズバリですね♪
ありがとうございます。
おかげで、.psqlrc っていう設定ファイルのことも知りました。
PostgreSQL の Documentation にありますね。
かさねがさねありがとうございました。

219NAME IS NULL2017/06/09(金) 23:25:23.53ID:???
拡張を使った場合、メジャーバージョンが変わるときのアップグレードで使えなくなったり作業が増えたりするのでしょうか?
スキーマのバージョンが変わっている拡張があったら何かしないといけないとか?

220NAME IS NULL2017/06/10(土) 15:00:08.80ID:jh8YfBo0
そこまでわかったいたら随時チェックしたほうがいい

221NAME IS NULL2017/06/14(水) 00:49:31.73ID:???
30分単位とかで時間を丸めてくれる関数ないですか

222NAME IS NULL2017/06/14(水) 02:30:34.88ID:???
ないんじゃないかな

223NAME IS NULL2017/06/14(水) 11:05:12.90ID:???
>>221
> 30分単位とかで時間を丸めてくれる関数ないですか
自作すれば?

224NAME IS NULL2017/06/14(水) 11:25:06.19ID:???
トリガのデバッグってどうやってますか?
初めてトリガ関数作ります

225NAME IS NULL2017/06/14(水) 11:27:34.06ID:???
>>224
普通に、クエリ後、関連データを取得してassert

226NAME IS NULL2017/06/14(水) 11:36:05.69ID:???
>>225
ASSERT文、調べました。
そういうのがあるんですね♪
ありがとうございました

227NAME IS NULL2017/06/14(水) 13:45:01.50ID:???
>>226
たぶん勘違いしてる
クライアントコードを実装する、JavaとかPHPとかのプログラミング言語で普通にチェックしろってこと
IDEでステップ実行とかできないからね

228NAME IS NULL2017/06/14(水) 16:42:17.71ID:???
>>227
> クライアントコードを実装する、JavaとかPHPとかのプログラミング言語で普通にチェックしろってこと
そうなの?
それなら俺も勘違いしてたわ。

229NAME IS NULL2017/06/14(水) 16:52:53.79ID:???
ASSERTがどうのってのはPL/pgSQLの機能でしょ
https://www.postgresql.jp/document/current/html/plpgsql-errors-and-messages.html

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

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

231NAME IS NULL2017/06/14(水) 17:51:09.39ID:???
>>229
普通にデータベースにアクセスするメソッドをテストする方法と同じだよ。
確認する項目が、トリガーが変更したデータも対象になるってだけで。

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

2322302017/06/14(水) 17:57:11.64ID:???
ゴメン。Oracleと勘違いしてた。>>230 は無視して

233NAME IS NULL2017/06/14(水) 18:26:54.70ID:???
>>231
トリガだと「普通のアクセス」とはデバッグ方法が違いそう、ってのが質問の意図じゃないの?
それを「同じだよ」で済ませるのは会話が噛み合っていない感がある

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

234NAME IS NULL2017/06/14(水) 19:40:35.30ID:???
日本語メッセージでGSSAPIがGSSAIになっちゃってるところがある

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

236NAME IS NULL2017/06/15(木) 12:57:16.02ID:???
>>235
ホワイトボックステストも知らないなら絡んでくるなよ

237NAME IS NULL2017/06/15(木) 13:34:54.71ID:???
>>236
いや、ホワイトボックステストの話をしてるつもりだが。

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

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

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

238NAME IS NULL2017/06/15(木) 14:01:14.73ID:???
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

239NAME IS NULL2017/06/15(木) 14:12:51.09ID:???
>>237
テストのやり方はそれでいいけど、テストが失敗してなおかつ原因がよくわからないときの話じゃないかな
そういうときは、raise noticeがやっぱり最強だと思う

240NAME IS NULL2017/06/15(木) 18:22:46.73ID:???
トリガーはいいとして、複雑なクエリのデバッグはどうやるつもりなんだろうか
それこそ、printfも使えない

241NAME IS NULL2017/06/15(木) 18:48:03.58ID:???
>>237
背伸びしすぎ

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

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

242NAME IS NULL2017/06/15(木) 21:33:54.87ID:???
IPAのデータベーススペシャリスト持ってない奴は書き込むなよ

243NAME IS NULL2017/06/15(木) 22:23:02.72ID:???
このスレ的にはPostgreSQL CEだろう。

244NAME IS NULL2017/06/16(金) 03:19:45.40ID:CymGFRXo
デバッグしたいと言ってるやつの目的がわからない。

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

245NAME IS NULL2017/06/16(金) 10:33:58.83ID:???
>>241
TDDのわかってない奴と議論しても時間の無駄なんで、これでも読んで。
https://ja.wikipedia.org/wiki/%E3%83%86%E3%82%B9%E3%83%88%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA

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

246NAME IS NULL2017/06/16(金) 10:41:33.48ID:???
>>241
つか、お前、データベースアクセスを含むクラス・メソッドの単体レベルのテストはやってるのか?
やってるとしたら、どうやってんだ?

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

247NAME IS NULL2017/06/16(金) 10:58:10.69ID:???
plpgsqlは実行しないとtypoなんかがわからないので、c0必須

248NAME IS NULL2017/06/16(金) 14:51:07.42ID:???
>>247
これな
存在しないシンボル名使ってたら、CREATEでエラーにしてくれって話だ

249NAME IS NULL2017/06/16(金) 15:21:01.24ID:???
raise notice方法の良くないところは、リリース時にそれを削除する必要があること
トリガーをダンプしてバージョン管理とかしてると、ただそれだけでリビジョンが進む
そして、それを忘れやすい

250NAME IS NULL2017/06/16(金) 18:08:22.77ID:???
データベース内で完結するテスト方法は苦行なんで、
普通にプログラムからクエリを実行してテストしたほうがいいよ

251NAME IS NULL2017/06/16(金) 21:41:16.11ID:???
>>245
Wikipedia なんて底が浅すぎ w
コードを見てテストケースを作るなんて書いてないだろ?
C0, C1 は結果の話
根本的に理解してないのがバレバレだぞ w

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

252NAME IS NULL2017/06/17(土) 00:34:00.10ID:fomvc+Ad
>>250

253NAME IS NULL2017/06/17(土) 00:36:50.28ID:???
>>252
あ、「クエリを発行して」の言いまちがいね

254NAME IS NULL2017/06/17(土) 19:19:51.37ID:v6f8+KaI
>>253
発行も実行も普通は同じ意味で使われる。

255NAME IS NULL2017/06/17(土) 19:22:53.96ID:v6f8+KaI
データベースに詳しくないのが、何かの言語と結合してテストするようなのとを言ってるけど、それおかしいから。

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

256NAME IS NULL2017/06/17(土) 19:34:20.46ID:v6f8+KaI
もともとトリガのテストがしたいという話だが、トリガとトリガが呼び出す関数をいきなり一緒にテストしようとしているのが間違い。

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

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

257NAME IS NULL2017/06/17(土) 20:14:16.34ID:???
トリガープロシージャって普通の関数として単体で実行できるんだっけ?
やったことないけど、OLDとかNEWとかどう与えるんだろう。

258NAME IS NULL2017/06/17(土) 22:29:56.38ID:fomvc+Ad
>>257
Oracleのトリガーと混同してたわ。トリガ関数に普通の関数を呼び出すようにしてないとできないな。

259NAME IS NULL2017/06/18(日) 14:38:45.44ID:c1GtVOfY
>>254
いや全然意味違うけどw
始めて本当に日本語勉強した方がいい人見つけたw

260NAME IS NULL2017/06/18(日) 17:22:52.65ID:???
はじめて の漢字

261NAME IS NULL2017/06/19(月) 11:04:19.39ID:???
>>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を追加したほうが良い。

262NAME IS NULL2017/06/19(月) 11:05:05.04ID:???
s/getPrevUserCount/getUserCount/

2632612017/06/19(月) 11:24:37.78ID:???
なんかもっといろいろ間違ってた。
最初のアンカーは、256じゃなくて>>257

> C0カバレッジ

> C0カバレッジ100%

264NAME IS NULL2017/06/19(月) 13:27:42.02ID:???
>>256
どういう意味で結合テストっていってるのかしらんけど、単体テストでもデータのIN/OUTで確認するだろ

265NAME IS NULL2017/06/19(月) 14:01:09.16ID:???
「発行」するのは人またはプログラム、「実行」するのはRDBMS、という原理主義者なのか?

266NAME IS NULL2017/06/19(月) 14:30:45.06ID:???
>>265
そういうことじゃなくて、俺謎理論だと思うよ

267NAME IS NULL2017/06/19(月) 15:50:42.76ID:???
>>255
DB内で完結するテスト例:http://pgtap.org/
苦行
あえて選ぶなら止めないが

268NAME IS NULL2017/06/19(月) 18:12:21.36ID:46JrC3Lz
>>267
どこが苦行なのか?

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

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

270NAME IS NULL2017/06/19(月) 18:32:56.29ID:46JrC3Lz
>>269
コードって別の言語だし、ユーザー、スキーマは結合テストレベルでは本番環境に無理に合わせない。

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

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

271NAME IS NULL2017/06/19(月) 18:35:42.61ID:???
>>270
ちょっと言ってる意味がわからない。

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

272NAME IS NULL2017/06/19(月) 18:50:38.92ID:???
>>270
数千人月以上のメガプロジェクトの五次請けさん、お疲れっす

273NAME IS NULL2017/06/19(月) 19:35:49.86ID:???
中抜きを許すな

274NAME IS NULL2017/06/19(月) 19:39:55.80ID:???
pl/pgsqlの、お勧めの入門書ってありますか?
ネットである程度調べられるけど、できれば体系的に学びたいのので

275NAME IS NULL2017/06/19(月) 20:27:58.47ID:???
中折れを許すな

276NAME IS NULL2017/06/19(月) 22:28:40.44ID:gwyUxO6k
>>272
いろいろあなたがずさんなのはいいけど、回答するような立場ではないことは自覚した方がいい。

277NAME IS NULL2017/06/20(火) 10:41:27.92ID:???
>>276
>>270の方が回答するレベルでも立場でもないわなぁ

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

278NAME IS NULL2017/06/20(火) 11:42:46.63ID:???
コード書けないし、>>261レベルのコードでも何やってるかわかんなくてぐだぐだいってるんだろ

279NAME IS NULL2017/06/20(火) 12:36:01.52ID:Ce61+VwB
データベースが苦手なのはよくわかった

280NAME IS NULL2017/06/20(火) 13:03:55.39ID:???
>>279
最近のレスでは、君が一番ピントずれてるよ

281NAME IS NULL2017/06/20(火) 13:06:51.06ID:???
結局、どうやってテストするかって>>261以外誰も示せてないな

282NAME IS NULL2017/06/20(火) 13:12:08.50ID:???
>>279
で、君のところではどうやってテストしてるの?

283NAME IS NULL2017/06/20(火) 13:20:48.90ID:???
あれかな、Excelの定型処理を自動化しようとしてマクロ書いたら怒られた的な話?

284NAME IS NULL2017/06/20(火) 13:34:57.76ID:???
つか、SIerが仕切る大規模開発で、トリガーが許されるケースなんかあるのか?
トリガーはおろか、ストアドすら許されたことがないんだが。

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

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

286NAME IS NULL2017/06/20(火) 14:45:59.43ID:Ce61+VwB
>>282
データとSQLを用意してトリガーを動かして実行前と実行後を比較する。

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

287NAME IS NULL2017/06/20(火) 14:50:35.11ID:???
>>285
最も大きい理由は、大抵データベース設計チームが独立していて、そこが物理設計まで行い、
パフォーマンスの責任まで負うから。

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

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

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

289NAME IS NULL2017/06/20(火) 14:59:19.37ID:???
>>286
それ、>>237と同じじゃんw
>>237を否定してたように見えたが、そうじゃないなら何と戦ってるの?

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

291NAME IS NULL2017/06/20(火) 15:08:58.31ID:Ce61+VwB
>>288
なんでこれが手動みたいに見えるわけ?

292NAME IS NULL2017/06/20(火) 15:12:35.56ID:Ce61+VwB
>>290
あなたみたいにこういうのがテストだと思っているから話がおかしくなる。

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

293NAME IS NULL2017/06/20(火) 15:14:22.82ID:Ce61+VwB
PostgreSQLは使われ方から細かいテストをする習慣のない人間が使っていることが多いから理解できないのもわかるよ。

294NAME IS NULL2017/06/20(火) 15:27:48.04ID:???
>>291
手動じゃないなら、具体的にどうやってるの?

295NAME IS NULL2017/06/20(火) 15:32:39.61ID:???
手動じゃないならなんらかの方法で結果を自動チェックしてるわけで、>>261と何が違うんだってことになる

296NAME IS NULL2017/06/20(火) 15:38:25.67ID:???
自分以外全部馬鹿病

297NAME IS NULL2017/06/20(火) 15:45:59.07ID:Ce61+VwB
>>295
それだと結合テストの部類だろ。少なくともPostgresqlなんだからPostgresqlで完結しろよ。

298NAME IS NULL2017/06/20(火) 16:49:13.37ID:???
もしかして手動でSQL実行してトリガが自動で動くから自動って言ってるの?w
まさかそんなわけないか

299NAME IS NULL2017/06/20(火) 20:04:13.49ID:BP5gL4BV
>>298
自動テストの「自動」を誤解している。

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

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

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

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

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

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

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

300NAME IS NULL2017/06/20(火) 20:04:42.35ID:BP5gL4BV
IDが変わってしまった

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

302NAME IS NULL2017/06/21(水) 01:15:28.36ID:hwqbFp3v
>>301
だからいままでまともにレスしてないんだけど?

303NAME IS NULL2017/06/21(水) 01:16:31.24ID:hwqbFp3v
>>301
あんたも知らないなら俺にかまうなよ。2chレスが気になって仕方ない病か?

304NAME IS NULL2017/06/21(水) 10:55:03.30ID:???
見えない敵をマウントご苦労様です

305NAME IS NULL2017/06/21(水) 11:01:28.79ID:???
>>299
> よくいるのが有名自動テストツールを使用するのが自動テストで、それで確認できるテストだけがテストだと思ってる人間。
そんな奴はまれだろ

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

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

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

306NAME IS NULL2017/06/21(水) 11:34:18.96ID:???
トリガーを発火させるためにコードを書いたら発狂する人がいるということはわかった w

307NAME IS NULL2017/06/21(水) 13:44:23.19ID:???
スクリプトってSQLとは別の言語じゃないんですかね

308NAME IS NULL2017/06/21(水) 14:02:33.79ID:hwqbFp3v
>>307
SQLスクリプト

309NAME IS NULL2017/06/21(水) 14:06:27.90ID:???
>>308
あおりじゃなくて素直に聞きたいんですが、SQLスクリプトで>>261のようなテストはどう書くんですか?

310NAME IS NULL2017/06/21(水) 14:12:32.69ID:hwqbFp3v
>>309
SELECT、INSERT、SELECTでいいでしょう。

311NAME IS NULL2017/06/21(水) 14:14:39.67ID:???
>>310
それは、テストがOKだったかどうかは目視で行うってことですか?

312NAME IS NULL2017/06/21(水) 14:25:56.75ID:???
>>299
> 画面をポチポチやるのはたしかに手動だが、それ以外は昔からスクリプトでテストする。

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

313NAME IS NULL2017/06/21(水) 17:54:26.46ID:???
まさか、
----
select user_count from ...;
insert into users values (...);
select user_count from ...;
----
を実行しますってことじゃないよな?

314NAME IS NULL2017/06/21(水) 18:52:16.88ID:???
ORM採用したら、テストのしようがなく困惑

315NAME IS NULL2017/06/21(水) 21:29:34.23ID:hwqbFp3v
>>312
そういうのを使うのがテストかどうかは何をもってよしとするかだろ。

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

316NAME IS NULL2017/06/21(水) 21:33:31.67ID:hwqbFp3v
いい加減な外国人が作ったもの、やってることが正しいわけではない。青臭いのばかりわいてくるなw

317NAME IS NULL2017/06/21(水) 21:39:17.25ID:hwqbFp3v
テストのやり方を知らないから、テスト嫌いなアメリカ人がテストのために作ったものを使うのがテストだと思ってるんだろうな。

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

318NAME IS NULL2017/06/21(水) 21:48:05.04ID:hwqbFp3v
>>313
それカウントはおかしいだろw

319NAME IS NULL2017/06/21(水) 21:57:19.61ID:???
テストケースに根性が入ってない!
とか言いそう

320NAME IS NULL2017/06/22(木) 03:44:57.49ID:???
>>318
カウントじゃなきゃいいだろってことの裏返しでいいんだろか

321NAME IS NULL2017/06/22(木) 10:15:17.34ID:???
>>318
> それカウントはおかしいだろw
どこがだよ?

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

322NAME IS NULL2017/06/22(木) 10:23:56.70ID:???
まぁ、PostgreSQLもMySQLもOracleもSQL Serverも外国人が作ったんですけどね。

323NAME IS NULL2017/06/22(木) 13:45:13.86ID:???
マニュアルでテストしていたのをコードで書くと、テストではなくなってしまうという不思議

324NAME IS NULL2017/06/22(木) 13:51:25.26ID:???
>>317
> テストは泥臭いのも大事。
スマートにできる所はスマートにやればいいだけのこと

325NAME IS NULL2017/06/22(木) 14:45:11.30ID:???
>>315
> そういうのを使うのがテストかどうかは何をもってよしとするかだろ。
いや、どう考えてもテストでしょ。
テストじゃなければ、何なんだ?

326NAME IS NULL2017/06/22(木) 14:48:19.91ID:???
ヘッドレスブラウザを使った、コードによるE2Eテストはテストではない

327NAME IS NULL2017/06/22(木) 18:30:21.14ID:???
こいつCOBOLerだろ

328NAME IS NULL2017/06/22(木) 18:57:40.34ID:???
IDENTIFICATION DIVISION.

なつかしいなw

329NAME IS NULL2017/06/22(木) 19:55:39.73ID:5JZUMx3g
まさかこんなスレにまでコボラーが紛れ込んでいたとは
油断も隙もねえなゴキブリ野郎だなコボラーってやつは

330NAME IS NULL2017/06/22(木) 23:55:50.22ID:Ck9VN4b3
若気のいたりだろうけど謙虚さがなさすぎだな。結局、教えてくれが本音なのに批判だけして正当化してるだけだろw

331NAME IS NULL2017/06/23(金) 12:56:09.07ID:???
>>330
お前のテストのやり方なんて、誰も知りたくないだろ

332NAME IS NULL2017/06/23(金) 15:51:47.59ID:???
>>330
ID:hwqbFp3vに対するコメント?
若気というよりじじい臭がすごいんだが

333NAME IS NULL2017/06/23(金) 18:04:55.76ID:pI6enatd
>>331
いろいろ考えがあって正解はない。ただデータベースならデータ重視のテストをすべきで、特にデータ型はみてもらいたい。

334NAME IS NULL2017/06/23(金) 18:08:08.91ID:???
>>333
だから、どうやってテストしてるのか、はよ書け

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

336NAME IS NULL2017/06/23(金) 18:11:51.71ID:pI6enatd
>>334
なぜデータベースの最初のテストを別のプログラミング言語でテストしてはいけない理由がいまだにわからないのか?

337NAME IS NULL2017/06/23(金) 18:15:50.04ID:???

338NAME IS NULL2017/06/23(金) 18:16:25.28ID:???
>>336
そんなのいいから、お前のテスト方法はよ書け

339NAME IS NULL2017/06/23(金) 19:17:58.13ID:MrOPR6Mg
そろそろ小出しにするのやめてまるっとさらけ出しちゃえばいいのに
一斉に叩かれそうだけど賛同者が現われる可能性もないわけじゃないじゃんw

340NAME IS NULL2017/06/24(土) 15:55:07.75ID:???
ぽすとぐれすきゅーえる
ぽすとぐれすえすきゅーえる

341NAME IS NULL2017/06/24(土) 15:55:52.38ID:???
ぽすとぐれすきゅーえる
ぽすとぐれえすきゅーえる

342NAME IS NULL2017/06/24(土) 17:46:56.56ID:???
ぽすとぐれぇすきゅーえる

343NAME IS NULL2017/06/24(土) 18:31:33.28ID:SDKyUFwq
たぶんアメリカ人もポストグレスキューエルと言ってないよな。言いにくいだけ。

344NAME IS NULL2017/06/26(月) 14:18:41.09ID:???
>>339
どうせ>>313みたいなクエリ実行して、目視で確認だろ

345NAME IS NULL2017/06/26(月) 16:29:03.54ID:I1kQyLDg
>>344
大事なところは目視に決まってんだろw

346NAME IS NULL2017/06/26(月) 17:23:24.51ID:???
>>345
エビデンスがない

347NAME IS NULL2017/06/26(月) 18:59:45.38ID:M3gY6rN7
>>346
エビデンスを目視で確認だろw
なんなのかさっぱりわからん。

348NAME IS NULL2017/06/27(火) 11:47:57.60ID:???
>>347
エビデンスというのが>>313の出力結果だとしたら、それがテストOKなのかどうかが第三者にはわからない

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

349NAME IS NULL2017/06/27(火) 13:40:41.42ID:LiLTLORO
別人が断片的に言ってることを、批判したいために、自分で話を補完w

350NAME IS NULL2017/06/27(火) 14:14:36.90ID:???
age照る奴は全員NG

351NAME IS NULL2017/06/27(火) 14:40:19.90ID:LiLTLORO
>>350
いまどき上げるななんて意味もわからず、下げているんだろw

352NAME IS NULL2017/06/27(火) 14:57:22.72ID:???
このスレの最近の流れでは、ageてる奴はアホしかいない

353NAME IS NULL2017/06/27(火) 15:17:48.19ID:???
>>335
C0カバレッジ100%を目指せって話をしてるのに、なんで「テストは適当でいい」とかいう話にするのかわけわからん

354NAME IS NULL2017/06/27(火) 15:21:13.83ID:LiLTLORO
>>353
そのテスト基準をなぜDBにあてこもうとするのか?

355NAME IS NULL2017/06/27(火) 15:23:52.51ID:LiLTLORO
データ観点ではなくてロジックの網羅テストがなぜここで出てくるのか。

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

357NAME IS NULL2017/06/27(火) 15:34:58.84ID:LiLTLORO
>>356
C0ガバレッジ100%はテストの一部にすぎないから、これが適当なテストと指摘してるんだよ。

358NAME IS NULL2017/06/27(火) 15:39:44.54ID:???
>>357
お前どんだけ話をループさせれば気が済むんだよ

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

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

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

359NAME IS NULL2017/06/27(火) 16:01:25.46ID:LiLTLORO
>>358
それがデータベースの試験にならないとなぜわからない?

360NAME IS NULL2017/06/27(火) 16:04:31.30ID:LiLTLORO
データ型が間違ってることに気づくのは最初のテストくらい。

361NAME IS NULL2017/06/27(火) 19:37:14.54ID:X5GsG9b9
>>360
最初のテストてどういう意味やで?同じテストばかり2回も3回もするんか?

362NAME IS NULL2017/06/28(水) 12:10:20.72ID:???
そりゃテスト結果によって修正入れたらまた同じテストするべ

363NAME IS NULL2017/06/29(木) 17:43:55.97ID:???
>>359
なるでしょ

364NAME IS NULL2017/06/29(木) 18:59:22.05ID:???
>>359
わからせておやり!

365NAME IS NULL2017/07/05(水) 15:31:05.87ID:???
「データ型が間違ってる」というバグを作ったことないし見たことないんだが、具体的にどういうやつなんだ?

366NAME IS NULL2017/07/05(水) 19:54:48.84ID:???
>>365
日付にテキスト型

367NAME IS NULL2017/07/06(木) 14:15:32.31ID:???
>>366
どういう意味?
create tableが間違ってたってこと?

368NAME IS NULL2017/07/06(木) 18:24:01.88ID:???
>>366
なんかよくわからんけど、それがプログラム言語でテストすると検出できないバグという訳か。

369NAME IS NULL2017/07/07(金) 21:06:21.99ID:???
うざいやつは大抵 仕事出来ない か現場では嫌われてる。

370NAME IS NULL2017/07/07(金) 21:36:26.67ID:ctnQeX+M
どうした急に?w

371NAME IS NULL2017/08/05(土) 12:55:37.44ID:???
win10にこいつインストールすると
spotifyも一緒に入れられたりする?
いつのまにか入ってたんだけど。

372NAME IS NULL2017/08/05(土) 13:08:43.77ID:???
こいつとはなんだ

373NAME IS NULL2017/08/06(日) 11:16:15.41ID:???
こいつとはpostgresqlのこと。

こいつのテーブル見たりするのに
オススメのソフトある?

374NAME IS NULL2017/08/06(日) 13:01:39.72ID:???
>>373
pgAdmin3が定番じゃね?
日本語訳がいろいろ怪しいのと、テーブルに直接2バイト文字を入力するのがちょっと面倒なのがアレだけど

375NAME IS NULL2017/08/06(日) 16:46:01.67ID:???
pgAdmin4を使って、糞重たくてやってられなかったんだが、3は軽いのですか?

3763742017/08/06(日) 18:25:58.23ID:???
>>375
逆に4は使ったことないけど、3で不自由感じたことないよ。不具合といえば、日本語関係と、テーブルの最後100行をシートビューで表示することができないくらい(最後の100行を選択しても最初の100行になる)

377NAME IS NULL2017/08/06(日) 18:40:15.36ID:???
>>376
> テーブルの最後100行をシートビューで表示することができないくらい(最後の100行を選択しても最初の100行になる)
そんなことやったことなかったけど、今やってみたらちゃんと最後の100行が表示されたよ
V1.22.2

3783762017/08/06(日) 18:44:12.63ID:???
>>377
今試したら直ってた(V1.20.0)
知らないうちにアップデートで直ってたのかも

379NAME IS NULL2017/08/06(日) 18:45:16.17ID:???
PgAdmin3は落ちまくるという問題がある

PgAdmin4はクソ重いので、代替案としてこれはどう?
https://www.workflowproducts.com/postage.html

380NAME IS NULL2017/08/06(日) 21:08:01.69ID:???
MySQL/MariaDBに切り替えて、MySQL Workbenchを使おう。

381NAME IS NULL2017/08/11(金) 06:50:09.46ID:???
pgadminって日本語弱いんでしたっけ?
ポスタゲはよくわからないです。

382NAME IS NULL2017/08/11(金) 08:57:20.70ID:???
1.4はひどかったけど、1.6でマシになった
パフォーマンスも全然違ってびっくりしたわ

383NAME IS NULL2017/08/11(金) 10:09:58.38ID:b98NF32s
>>381
3は日本語化が中途半端

384NAME IS NULL2017/08/12(土) 01:02:37.65ID:???
オブジェクトやタプルなんかに日本語使わなければ大丈夫なんでしょ。
あんまり使ってないのがバレバレだけどw

385NAME IS NULL2017/09/06(水) 22:43:13.52ID:???
9.6.5のリリースノートにあるinformation_schemaの作り直しって
postgres, template0, template1についても必要?

386NAME IS NULL2017/09/10(日) 00:32:28.16ID:???
どなたかご存知の方がいたら教えてください。(スレ違いであれば教えてください。)

OracleからPostgreSQLへのマイグレーションをしています。
既存のWebシステムで、JDBCを利用してデータ登録などをしており、そのあたりもマイグレーションしています。

サーバ:Linux
PostgreSQL:9.2
開発環境:Windows10 or Windows8.1
Java:JDK7

Webシステムからtext型のカラムに改行コードを含むデータを登録しようとしています。
Insert時に、「ERROR: 符号化方式"UTF8"で無効なバイトシーケンスです: 0x00」が
出力され登録できません。

PostgreSQLの文字コードは、UTF-8でデータベースを作成しています。
また、Webシステム側の文字コードもUTF-8で作成しています。
JDBCで登録する際には、もともとOracleのnamedparameterを使用していたため、
springのnamedparameterjdbctemplateを使用するように変更しています。

standard_conforming_stringsをoffにしたり、接続URLにclient_encoding=UNICODEを
追加したりしましたが、解決しません。
エスケープするため、E''も試しましたが、namedparameterjdbctemplateの関係か
うまくいませんでした。

同様の事象を経験された方で、解決された方がいましたら、解決方法を教えていただけますでしょうか。
よろしくお願いします。

387NAME IS NULL2017/09/10(日) 01:26:01.70ID:???
>>386
ERROR: invalid byte sequence for encoding “UTF8”: 0x00
で検索するといいよ
0x00(NULL文字)はダメだよってこと

388NAME IS NULL2017/09/10(日) 21:23:21.58ID:???
Webシステムで改行ってなに?
コードでいうと何にしているのかな?

389NAME IS NULL2017/09/10(日) 23:43:17.83ID:???
<BR>

390NAME IS NULL2017/09/12(火) 07:59:33.48ID:RvTqi/j1
>>386
PostgreSQLにUTF-8で無効なバイト列0x00を追加しようとした。
Oracleに不正な文字列が格納されているか、もしくはOracleからPostgreSQLにデータ移行するために使用したツールなどに不具合がある。

391NAME IS NULL2017/09/13(水) 00:16:55.86ID:???
<BR>ならエラーにならんだろ

392NAME IS NULL2017/09/14(木) 20:25:30.83ID:???
あんたら親切だな!

393NAME IS NULL2017/09/14(木) 22:10:06.01ID:???
ヌル文字君は解決したんか?

394NAME IS NULL2017/09/14(木) 23:48:05.57ID:???
ubuntuにpostgres入れたんですが
ロールを作るロールが無い状態です
最初はどうやってpostgresのシェルに入ればいいんですか?

395NAME IS NULL2017/09/14(木) 23:55:04.85ID:???

396NAME IS NULL2017/09/15(金) 00:30:25.54ID:???
>>395
psqlコマンド使えるようになりました。
ありがとうございました

397NAME IS NULL2017/09/16(土) 20:47:02.72ID:???
create role ってよくわからない

398NAME IS NULL2017/10/06(金) 22:32:45.48ID:liJfTkWb
10!

399NAME IS NULL2017/10/08(日) 19:34:06.23ID:???
こんなクソなのを製品に使うアホって
なんなの?

400NAME IS NULL2017/10/08(日) 20:22:05.26ID:???
>>399
うんこバエさんきたー

401NAME IS NULL2017/10/09(月) 17:19:47.37ID:IaR+bs7d
>>397
ポスグレはそこが独特でユーザーとロールの概念が分かれていない。

402NAME IS NULL2017/10/15(日) 11:33:31.89ID:???
>>401
どもね 勉強中

403NAME IS NULL2017/10/18(水) 13:48:09.73ID:???
10速すぎ

404NAME IS NULL2017/11/02(木) 19:26:52.67ID:???
明日 その辺の話が聞けるかな。
楽しみぃ。
会場で会いましょう@あーりん推し

405NAME IS NULL2017/11/25(土) 08:09:39.32ID:???
複合型とか配列とかJSONデータ型とか、そういう標準じゃないっぽいデータ型は
色んな言語・環境用のドライバインタフェースではどれくらいサポートされているものなんでしょう?

406NAME IS NULL2017/11/25(土) 08:55:32.88ID:???
>>405
してないです

407NAME IS NULL2017/11/25(土) 09:31:52.49ID:???
>>406
ありがとうございます。
ではデータベース上では便利そうでも実際の利用を考えると使いにくいことが多そうですね。

408NAME IS NULL2017/11/25(土) 13:43:10.19ID:???
psqlのシェルで
db=# が
db-# になってるのはどういう意味ですか?

409NAME IS NULL2017/11/25(土) 13:54:54.60ID:8LU8WHb9
なんにでも意味を求めるな、あるがままに受け入れるんだ

410NAME IS NULL2017/11/26(日) 19:03:51.65ID:rCRyhJ2E
>>408
適当に答えると、英語表示になっているんじゃないのか?

日本語キーボードの「=」は英語キーボードの「-」。

411NAME IS NULL2017/11/26(日) 20:59:43.65ID:???
>>410
サンクス、解決しました

クエリの途中で改行したせいみたいです。;セミコロンでクエリを終わらすと=に戻りました。

412NAME IS NULL2017/11/28(火) 00:37:43.64ID:???
ここで良いのか分かりませんが質問させてください。(スレ違いであればご指摘いただけますと幸いです。)

PostgreSQL案件がチラ見してくるので最近触り始めましたが、
oracleでいうパスワードポリシーのようなパスワードの強度を強制する機能は標準では無い認識ですが、
機能を実装する場合は現状では拡張モジュールのpasswordcheckを使う事になるのでしょうか。

413NAME IS NULL2017/11/28(火) 01:52:00.45ID:GwTQQ85m
>>412
どういう要件なのかわからないが、PostgreSQLのようなOSSの世界では、必要であれば追加するという考え方をする。

機能を使うのではなく、だれかが作ったものを使う、または自分が作る。

必要だったら拡張モジュールを追加し、不要だったら追加しない。

基本的にLinuxと同じ考え方。

414NAME IS NULL2017/11/28(火) 03:54:19.02ID:???
Kerberos認証にしちゃえば

415NAME IS NULL2017/11/28(火) 09:23:21.54ID:???
>>413
有り難う御座います。
oracleから切り替えることを想定した場合に、ひとまず機能の網羅性を確認しておりました。
現状提供されているもので足りなそうな機能については新規開発も視野にいれてナレッジに致します。
工数が見合えば自分で作ってみたいですね!

>>414
有り難う御座います。
セキュリティ要件としてはkerberosで満たせるかどうかも踏まえて材料にしていこうかと思います。

416NAME IS NULL2017/11/28(火) 12:21:14.96ID:ElK6LRIO
>>413
それってoss特有なん?
必要なのに追加しないって考え方なんかあるのか?
テキトーに言ってんだろお前w

417NAME IS NULL2017/11/28(火) 12:38:36.42ID:???
>>416
うーんこの感じ
ホンモノかね

418NAME IS NULL2017/11/28(火) 13:28:19.88ID:GwTQQ85m
>>415
ここで聞くより、PostgreSQLのコミュニティで聞いた方がいいよ。ここは他人の書き込みに文句ばかりつけるやつが多いから。

419NAME IS NULL2017/11/28(火) 19:56:44.84ID:IrGXLwwF
>>418
お前が間違ったこと言うから質問者のために正してやってんだよw

420NAME IS NULL2017/11/29(水) 13:51:05.16ID:R+zY4y9g
日本PostgreSQLユーザ会
https://www.postgresql.jp/

421NAME IS NULL2017/12/13(水) 23:40:47.51ID:???
バージョンアップしてアプリが動かなくなることってある?
例えば9.5.xのxの部分だけあげようと思ってるんだけど
何か気を付けることとかあるかな?
試しにテストサーバたててやってみたら何も問題なく動いてるんだけど
慎重にいきたいので何かデメリットがあるなら教えてほしい

422NAME IS NULL2017/12/14(木) 01:25:56.12ID:???
慎重に行きたいならまず公式のドキュメントを読め。
それぞれのバージョンのリリースノートにちゃんと書いてあるから。

423NAME IS NULL2017/12/18(月) 00:39:01.46ID:???
慎重にいくのなら、そのままにしとけば?
更新する意義があんの?

424NAME IS NULL2017/12/29(金) 11:07:08.13ID:dtNZwIie
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

PBKPMWLMUY

425NAME IS NULL2017/12/29(金) 17:37:38.70ID:???

426NAME IS NULL2018/02/14(水) 13:24:01.28ID:???
☆ 日本の、改憲をしましょう。現在、衆議員と参議院の両院で、
改憲議員が3分の2を超えております。『憲法改正国民投票法』、
でググってみてください。国会の発議はすでに可能です。
平和は勝ち取るものです。お願い致します。☆☆

427NAME IS NULL2018/02/17(土) 11:33:18.60ID:cmxxvUwJ
pgadmin4のサーバー版ってどうやってインストールするの?
ubuntuでapt-get install pgadmin4したら何かインストールされたけど後何したらいいかわからん

428NAME IS NULL2018/02/17(土) 11:36:47.25ID:???
$ psql

429NAME IS NULL2018/02/18(日) 22:41:05.64ID:???
公式ドキュメントのUPDATEの項の例に「アクメ社」ってのが出てきて、何となくナニワ金融道を思い出した

430NAME IS NULL2018/02/19(月) 12:20:20.89ID:???
ワーナーのアニメのウサギ、バッグスバニーが出てくるアニメで
コヨーテ御用達の通販会社かな

431NAME IS NULL2018/03/03(土) 16:04:58.76ID:???
publicスキーマにユーザ定義関数を置いている場合、
10.3にはおいそれとはアップグレードできんな……。
こんなことになるとは思ってもみなかった。

432NAME IS NULL2018/03/11(日) 10:02:43.62ID:???
初めてVMware入れて
初めてsentOS入れて
初めてそこにpgadminでデータベース作った
作ったのはいいけどファイル名が数字の羅列なの変に感じるんだけどそんなもん?
SQLiteやmySQLだとデータベース名を例えばrennsyuuにしたらファイル名もrennsyuuの文字入ったけど
postgreだと入らない。
なんかバックアップとか難しそうだけど慣れるしかないの?

433NAME IS NULL2018/03/11(日) 11:02:54.67ID:???
>>432
学校に行って勉強しろよ。英語と算数と計算機科学。

434NAME IS NULL2018/03/11(日) 11:35:55.43ID:???
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+-------+-----------------------
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
日本語db | postgres | UTF8 | C | C |
(4 rows)

435NAME IS NULL2018/03/11(日) 11:58:19.81ID:???
>>432
そんなセンスのないこと言ってるようじゃそもそもデータベースの設計すら出来ませんよ

436NAME IS NULL2018/03/25(日) 18:39:35.34ID:uUt3WCZ6
「.db」形式のファイルはどのようにPostgresへリストアするのでしょうか?

437NAME IS NULL2018/03/25(日) 21:14:03.58ID:bZNA9I9J
自己解決

pg_restore -U "ユーザー名" -C -d "DB名" AAA.db

438NAME IS NULL2018/03/26(月) 08:52:42.85ID:???
.dbつってフォーマットを正解できるのはエスパーくらい

439NAME IS NULL2018/03/31(土) 15:20:12.38ID:8C/tQKpJ
なぜか観てしまう!!サバイバル系youtuberまとめ
http://tokyohitori.hatenablog.com/entry/2016/10/01/102830
あのPewDiePieがついに、初心YouTuber向けに「視聴回数」「チャンネル登録者数」を増やすコツを公開!
http://naototube.com/2017/08/14/for-new-youtubers/
27歳で年収8億円 女性ユーチューバー「リリー・シン」の生き方
https://headlines.yahoo.co.jp/article?a=20170802-00017174-forbes-bus_all
1年で何十億円も稼ぐ高収入ユーチューバー世界ランキングトップ10
https://gigazine.net/news/20151016-highest-paid-youtuber-2015/
おもちゃのレビューで年間12億円! 今、話題のYouTuberは6歳の男の子
https://www.businessinsider.jp/post-108355
彼女はいかにして750万人のファンがいるYouTubeスターとなったのか?
https://www.businessinsider.jp/post-242
1億円稼ぐ9歳のYouTuberがすごすぎる……アメリカで話題のEvanTubeHD
https://weekly.ascii.jp/elem/000/000/305/305548/
専業YouTuberがYouTubeでの稼ぎ方具体的に教えます。ネタ切れしない方法は〇〇するだけ。
https://www.youtube.com/watch?v=Co9a9fHfReo
YouTubeで稼げるジャンルは〇〇動画です。YouTube講座
https://www.youtube.com/watch?v=_Nps8xb5czQ

440NAME IS NULL2018/05/16(水) 14:44:27.84ID:???
text型について教えてくたさい。
制限なしの可変長、つまり、長さを気にせず入れられて、短い場合はそのサイズのみディスク容量を使う認識であってますか?
その前提で、普通データベースに入れるテキストって、どれくらいのサイズまでって一般的な指針なんてありますか?
とあるログ(20万文字程度?)を有するデータを月10000個ほど登録します。その際、text型で中身を登録するか、テキストファイルと保存し、そのファイル名を登録するのは、どちらがいいでしょうか?

441NAME IS NULL2018/05/16(水) 22:37:47.47ID:???
>>440
> 制限なしの可変長、つまり、長さを気にせず入れられて、短い場合はそのサイズのみディスク容量を使う認識であってますか?

概ねそう。制限無いといってもあるけどね。
まあギガ単位の話なのでそうそうないだろう。

> その前提で、普通データベースに入れるテキストって、どれくらいのサイズまでって一般的な指針なんてありますか?

DBによって違うだろう。
当たり前だけどpgの場合も長ければ長いほどオーバーヘッド高くなってパフォーマンス落ちるよ。可変長はTOASTされて細切れレコードで格納されるので。

> text型で中身を登録するか、テキストファイルと保存し、そのファイル名を登録するか

個人的には好きな方でやれば?レベル。
中身入れちゃった方が楽だよね。
でもその分DBが太るからバックアップとか、障害時とか運用よく考えて決めたら。

442NAME IS NULL2018/05/23(水) 21:52:48.15ID:yTjxXYth
DBに入れる→なんかあったときDBAの責任
ファイルに出す→なんかあったときOSインフラの責任

Linuxだろうけど、i-node で耐えうるファイル数やサイズの検証値って意外と誰も持ってなかったりするから
全部自分でやらんといかん面倒やね

443NAME IS NULL2018/05/24(木) 23:34:49.44ID:???
責任転嫁の話しか?
そんなの、システムを組んだヤツだわ
DBAやインフラの責任にすなやって思う

444NAME IS NULL2018/05/25(金) 10:08:18.80ID:RL/OlVcJ
そういや、どのぐらいの同時接続まで耐えられるかとか知りたいな
もし、何千接続、何万接続に耐えられるような時代になったら、バックエンドの構成もだいぶ変わるだろうし

445NAME IS NULL2018/05/25(金) 14:24:08.58ID:???
データなかったでしたっけ?

446NAME IS NULL2018/05/26(土) 08:07:21.84ID:???
昔、unixに比べてnfs弱くて使えないって言われてた

447NAME IS NULL2018/05/26(土) 08:20:21.96ID:???
nfs?
このスレと何の関係があるか知らんが、あんなもの元から使えない
こくに今の時代使いどころ間違えると終わる
お家で使うくらいに留めるべきもの

448NAME IS NULL2018/05/27(日) 01:08:04.85ID:Z87ucrVE
>>444
今はクライアントが直接DBつつかないだろ
Webサーバー、アプリサーバー経由でつなぐんだから、どっちかというと接続数がクリティカルになるのはそっち

449NAME IS NULL2018/05/28(月) 20:45:22.81ID:???
接続について教えてください。
私の作ったアプリが常時接続していると指摘されました。
ver9.5で、多分pgAdminのサーバー状態の活動のウィンドウだと思うのですが、クエリーがDISCARD ALLとなっています。
アプリはc#の2005でnpgsqlを使用しており、都度connectionはusingで破棄してるつもりです。
これだと接続はきれないのでしょうか?
DISCARD ALLとはどういう状態でしょうか?

450NAME IS NULL2018/05/29(火) 14:11:45.78ID:???
>>44


スポール

451NAME IS NULL2018/06/02(土) 17:07:30.77ID:???
日本だけだよPostgreSQLが使われてるのって

452NAME IS NULL2018/06/02(土) 17:26:51.69ID:???
へーそうなんだ
Coverity って言うその業界ではそこそこ有名なツールで使われてたけど日本製なのかな w

453NAME IS NULL2018/06/04(月) 10:03:47.52ID:???
マルチマスタ標準実装早くして欲しいなぁ。

454NAME IS NULL2018/06/05(火) 08:21:50.71ID:???
>>452
他は?

455NAME IS NULL2018/06/05(火) 08:51:21.58ID:???
>>454
あれ?
「日本だけ」じゃなかったの?
てか、こいつらは日本人なのにいちいち英語でやってるとでも? w
https://www.postgresql.org/community/

456NAME IS NULL2018/06/05(火) 11:10:31.37ID:???
日本医師会が医師から集めた会費から開発費を捻出して開発し、フリーソフトとして公開されている日医標準レセプトというソフトは
サーバー機能をUbuntuで動かしデーターベースとしてpostgesqlを採用している
そのユーザー数がおよそ15,000医療機関(医科の病院と診療所)ある

457NAME IS NULL2018/06/05(火) 11:21:41.01ID:???
将来的には希望した医療機関は、日本医師会が用意したクラウド環境に順次移行することで院内サーバーが不要になる
https://www.orcamo.co.jp/products/orca/cloud.html

458NAME IS NULL2018/06/05(火) 16:22:51.65ID:???
初歩的な質問ですが、教えてください。
postgresqlの事で調べてると、SQL文が出てきます。
例えばセッションの確認とかだと
select 〜 from pg_stat_activity とか。
こういうのは、どこで実行するのですか?
普段、pgAdminしか使わないので。
SQL Shell をデフォルトでログインして実行しても、プロンプトが=#から-#になって、helpすら表示されなくなります。

459NAME IS NULL2018/06/05(火) 19:00:00.03ID:???
>>458
SQL分は文末にセミコロン「;」が必要だよ。

=# select * from pg_stat_activity;

とするか、

=# select *
-# from pg_stat_activity
-# ;

な感じで。

460NAME IS NULL2018/06/05(火) 19:36:16.93ID:???
>>459
おお!ありがとうございます!!
これで色々試せそうです!!!

461NAME IS NULL2018/06/05(火) 20:09:47.53ID:???
pgadmin で遊ぶといろいろ勉強できるね。
psqlだけだと殺風景みたいな。

462NAME IS NULL2018/06/06(水) 18:41:50.88ID:Gajfs/TG
遊びから学んでいいのは小学生までやぞ

463NAME IS NULL2018/06/07(木) 18:07:16.68ID:???
オラクルを今まで使ってたんですが、カーソルを複数返すときの推奨方法はなんでしょうか?
アウトパラメータで、カーソルを戻す
リターンカーソルで、リターンネクストで複数戻す
今はこれくらいしか、思いつきません

464NAME IS NULL2018/06/09(土) 02:30:00.65ID:hcbikbxQ
Oracle使いがオラクルとカタカナで書くとは思えぬ。

465NAME IS NULL2018/06/09(土) 22:05:52.67ID:???
オラクルじゃなくてオラコォーな

466NAME IS NULL2018/06/09(土) 22:55:41.15ID:???
発音的には オアコォ ね

467NAME IS NULL2018/06/09(土) 23:02:06.51ID:???
そういや最近OracleのCMって見ないね
レニークラビッツの曲に合わせてオラコォー連呼してたのとか懐かしい

468NAME IS NULL2018/06/09(土) 23:04:11.71ID:???
ロゴが迫ってくる奴だっけ

469NAME IS NULL2018/06/10(日) 09:28:39.96ID:???
な CMあったのか
週刊プロレスのCM見てないのと同じレベル

470NAME IS NULL2018/06/10(日) 09:33:39.67ID:???
シスコシステムズのCMもあったよね

471NAME IS NULL2018/06/10(日) 11:34:43.13ID:???

472NAME IS NULL2018/06/10(日) 17:33:49.42ID:???
NULLの代わりにNaN使うことできないの?

473NAME IS NULL2018/06/10(日) 20:58:02.19ID:H1Ou+f2f
>>471
ずいぶん古いのを持ってきたな。

474NAME IS NULL2018/06/27(水) 13:21:45.22ID:???
pgadmin4って使い勝手良さそうなのかな?pgadmin3の使い勝手が良いので10に移行出来ないw

475NAME IS NULL2018/06/27(水) 20:09:05.74ID:Exjj86zV
>>474
4はあまり使われていないと思う。

PostgreSQLをGUIで操作しているひとが少ないせいでよくならない。

476NAME IS NULL2018/06/28(木) 04:24:23.72ID:???
学びはじめの頃に3をちょっと使ってみた。
最近4を使ってみたが、なんかバグっぽい感じ?
どちらにしても今となっては必要性を感じないな

477NAME IS NULL2018/07/06(金) 20:01:15.88ID:???
>>467
金儲けに走って評判悪化

478NAME IS NULL2018/07/06(金) 23:46:25.27ID:???
>>477
評判がよかったときがあるのか?

479NAME IS NULL2018/07/07(土) 01:16:25.99ID:???
オラコーは売れる数減ってきてるのに売上高維持しようとしてるから、毎年値上げしててその額が半端じゃないらしいな。

480NAME IS NULL2018/07/07(土) 09:08:27.58ID:???
postgresとmariaにがんばっていただきましょう

481NAME IS NULL2018/07/08(日) 00:23:14.36ID:rFyThfKq
>>479
お金を取る方が健全。マイクロソフトなんてビジネスとしては崩壊しかかっている。

482NAME IS NULL2018/07/08(日) 00:46:06.61ID:???
>>481
詳しく

483NAME IS NULL2018/07/08(日) 00:47:24.96ID:???
>>481
"マイクロソフトのビジネスは崩壊しかかっている"

無知すぎワロタ

484NAME IS NULL2018/07/08(日) 02:31:24.04ID:???
売り切りソフトからAzureに軸足を移したことを知らんのね

485NAME IS NULL2018/07/08(日) 03:01:26.48ID:???
アズレってなーに

486NAME IS NULL2018/07/08(日) 06:33:46.28ID:???
>>481
SQL-Serverもそれなりの対価頂いておりますが…

487NAME IS NULL2018/07/08(日) 06:58:47.58ID:???
https://youtu.be/COxAA8145vM
Microsoft AzureのAzureはカタカナでアズールと表記するのが現在では一般的となっている

488NAME IS NULL2018/07/08(日) 07:04:37.61ID:???
Microsoft、Azure売上高倍増で予測を上回る増収増益
Microsoftの1〜3月期決算は、Azureを含むクラウド事業が好調で売上高は16%増、純利益は35%増だった。
[佐藤由紀子,ITmedia] 2018年4月27日
http://www.itmedia.co.jp/news/spv/1804/27/news072.html
 米Microsoftは4月26日(現地時間)、2018年第3四半期(2018年1〜3月期)の決算を発表した。「Azure」や「Office 365」などの商用クラウド事業が好調で、2桁台の増収増益だった。

 売上高は前年同期比16%増の268億2000万ドル、純利益は35%増の74億2000万ドル(1株当たり0.95ドル)だった。売上高、1株当たりの純利益ともにアナリスト予測(売上高は258億ドル、純利益は0.85ドル)を上回った。

 Intelligent Cloud部門が今期も好調で、Azure Computeの売上高が93%増だった。部門全体の売上高は17%増の79億ドルだった。

Intelligent Cloud部門
https://i.imgur.com/Wnlwc1L.jpg

489NAME IS NULL2018/07/08(日) 07:07:53.77ID:???
 OfficeやLinkedIn、Dynamicsを扱うProductivity and Business Processes部門の売上高は17%増の90億1000万ドルだった。企業向けOffice 365の売上高が42%増と好調。
LinkedInの売上高も37%増と好調だった。企業向けOffice 365のMAUは1億3500万人、コンシューマー向けのMAUは3060万人。

Productivity and Business Processes部門
https://i.imgur.com/FxHA02l.jpg

 Windows、ハードウェア、Xbox、検索のMore Personal Computing部門の売上高は、Windows、ゲーム、Surface、検索が好調で13%増の99億2000万ドルだった。検索は16%増、ゲームは18%増。ハードウェアではSurfaceの売上高が32%増だった。

More Personal Computing部門
https://i.imgur.com/EHknOcd.jpg

490NAME IS NULL2018/07/08(日) 09:33:53.80ID:???
>>481
ねえまだ?

491NAME IS NULL2018/07/08(日) 23:39:34.33ID:K/+3T+EH
>>490
蓄えた資産がなかったら倒産してたぞ。

492NAME IS NULL2018/07/08(日) 23:58:31.05ID:???
>>491
ソース

493NAME IS NULL2018/07/22(日) 03:45:20.98ID:???
>>451
嘘つきだな
こういうヤツに限ってMySQL使ってるとか?
MySQLとかオラクルが豹変したら死ぬぞ?w

494NAME IS NULL2018/07/22(日) 03:49:23.74ID:???
>>479
オラクルがJavaの次に狙ってるのはMySQLに何らかライセンス徴収ルール作る事
OSSだから、そんな事有り得ないとMySQLユーザーは言うがJavaも有り得ないと言われてた
でMariaDBに逃げたヤツが一番賢い、と言われる様になると思う

495NAME IS NULL2018/07/22(日) 05:13:57.78
PostgreSQLに来た奴は賢くないの

496NAME IS NULL2018/07/22(日) 07:25:42.77ID:???
MySQLに商用ライセンスが存在するのは元からやん。
Javaの話もなにか勘違いしてないかい?

497NAME IS NULL2018/07/22(日) 11:36:45.83ID:???
でも、MariaDBに逃げとくに越したこたないだろ。
MySQLの先行きが読めないことは間違いないし、そろそろそれぞれで違いが出てきてるみたいだし。

498NAME IS NULL2018/07/22(日) 11:55:36.19ID:???
で、なんでこのスレに書き込んだの?

499NAME IS NULL2018/07/22(日) 13:29:21.88ID:???
>>493
PostgreSQLって何がいいん?w

500NAME IS NULL2018/07/22(日) 13:29:45.88ID:???
>>493
MariaDBだろJK

501NAME IS NULL2018/07/22(日) 14:43:55.22ID:???
なんでPostgreSQLのスレにMySQLやMariaの信者が居るんだ?

502NAME IS NULL2018/07/22(日) 18:34:13.33ID:???
なんでとはいったい?

503NAME IS NULL2018/07/22(日) 18:38:30.86ID:???
PostgreSQL信者しか書き込んだらいけないらしい

504NAME IS NULL2018/07/22(日) 18:39:58.50ID:???
自分が使っている、気に入っているものがやっぱり一番だと思いたいのが人間だし
それを否定されると自分が否定されていると思っちゃう人もいるわけだし
そのあたりの空気を読めることが望まれているのでしょう

505NAME IS NULL2018/07/22(日) 18:54:05.75ID:???
PostgreSQLに全く関係のない話題を書き込まれてもなぁ・・

506NAME IS NULL2018/07/22(日) 19:09:06.70
AMDのスレによくIntel派の人がRyzen腐しにくる

507NAME IS NULL2018/07/22(日) 20:40:34.32ID:???
メインのスレに書き込める程知識が無い
もしくはスレ住人に相手にされてないor嫌われてる

関係ないスレに書き込む

スレ違いなのでそのスレの住人に怒られる
これを相手にされていると勘違いする ←今ここ

関係ない話題でスレ常駐し始める

徹底的にスルーされるので飽きて居なくなる
もしくはスレ住人に擬態する

508NAME IS NULL2018/07/22(日) 21:01:49.13ID:???
DB系のスレは最近、だいたい過疎ぎみだからな。
書き込みがあるだけマシなんでは。w

509NAME IS NULL2018/07/23(月) 17:49:47.34ID:???
早くMySQLにライセンス徴収開始されんかなw
Javaと同じ運命にして欲しいわw

510NAME IS NULL2018/07/23(月) 18:00:28.15ID:???
>>509
この場合のライセンス徴収はGPL版にも商用版と同じライセンス適用の話ね

511NAME IS NULL2018/07/23(月) 18:01:12.14ID:???
>>503
そうですよw
ご退場下さいw

512NAME IS NULL2018/07/23(月) 21:09:28.38ID:???
>GPL版にも商用版と同じライセンス適用

意味不明すぎるw

513NAME IS NULL2018/07/23(月) 22:03:35.25ID:???
>>510はGPLなら常にタダだと思ってるバカ w

514NAME IS NULL2018/07/23(月) 23:41:15.75ID:???
>>513
"常に"なんてどこに買い込みしてる?
アホか

515NAME IS NULL2018/07/23(月) 23:41:30.90ID:???
>>514
書き込みね

516NAME IS NULL2018/07/23(月) 23:43:06.33ID:???
>>504
そういう不完全な人の話は聞く耳持たんなw

517NAME IS NULL2018/07/24(火) 05:35:41.63ID:???
GPLでも徴収できることを知ってたら>>509みたいなアホレスはしないだろ
>>514は傷口広げて自爆するバカ w

518NAME IS NULL2018/07/24(火) 06:23:30.86ID:???
早くオラクルが動く事を祈るw

519NAME IS NULL2018/07/26(木) 16:23:44.06ID:???
https://m.srad.jp/story/13/09/11/0431225
オラクル自身MySQLのバグ対応なんてどーでも良いと思ってる

520NAME IS NULL2018/07/27(金) 18:01:07.56
失望しました! PostgreSQLに乗り替えます

521NAME IS NULL2018/07/28(土) 13:15:20.88ID:tm98Iqt0
>>519
それはわざとだよ。MySQLを徐々に衰退させたいため。

522NAME IS NULL2018/07/28(土) 13:16:49.48ID:tm98Iqt0
>>520
そのポスグレさんは知っているひとが少なくて苦戦する。

しかもシェアが低いのでとにかく情報がなく、ソースコードまで読まなければならない。

523NAME IS NULL2018/07/28(土) 13:33:26.03ID:???
まあOracle, MySQL, SQL-Serverの御三家に比べりゃ少ないけどそれ以下の有象無象の中ではトップだから情報が少ないとか言ってるのは単なる情弱

524NAME IS NULL2018/07/28(土) 17:42:23.60ID:???
Oracleは早くMySQLユーザーをOracleに移行させたい
よってMySQLのサポートなんておざなりになるのは当然
MariaDB、PostgreSQLが元MySQLユーザーの受け皿になる

525NAME IS NULL2018/07/29(日) 01:37:24.34ID:???
Mysqlの人はMariaに行くんだろうな。

526NAME IS NULL2018/07/29(日) 02:28:28.20ID:???
型チェックとか厳しく無いものから厳しいものへは移行せんだろうな

527NAME IS NULL2018/07/31(火) 01:24:00.18ID:???
WordPressなんかMySQL使用前提だがオラクルがMySQLのライセンス徴収厳密化したらユーザー発狂するだろうな

528NAME IS NULL2018/08/11(土) 18:27:16.56ID:???
>>MySQL系は大規模データベースを想定して作られていないせいで、管理は楽だが、物理ファイルと論理ストレージが一緒のため、データ量が多くなってくるとデータベースを止めずに何か変更することが難しくなる。

やっぱりPostgreSQLだな

529NAME IS NULL2018/08/11(土) 19:14:41.43ID:???
VACUUMをなくして。どうぞ。

530NAME IS NULL2018/08/11(土) 20:19:25.04ID:???
未だにvacuumやっているの?

531NAME IS NULL2018/08/11(土) 21:27:50.36ID:???
やらなくてもダメではないけど、しなくてもいいわけでもないらしいが?
どないやねん。

532NAME IS NULL2018/08/11(土) 23:38:08.56ID:???

533NAME IS NULL2018/08/12(日) 09:56:05.70ID:???
勝手にやってくれます

534NAME IS NULL2018/08/12(日) 23:16:01.74ID:???
>>532
Autoをやってる。というかな?
勝手にやってくれているんだから、それでいいやって思うわ。

535NAME IS NULL2018/08/12(日) 23:42:58.99ID:???
>>530がvacuumやってるのか?
って言うからvacuum自体は必要だよって言っただけ
設定が必要かどうかは状況による

536NAME IS NULL2018/08/12(日) 23:48:21.97ID:cfFh3cqu
どのRDBMSでも自動ではやらないよな。そんなのされたら一時的に使えなくなる。

537NAME IS NULL2018/08/13(月) 07:35:09.19ID:???
他のDBもvacumeみたいなのやってるの?

538NAME IS NULL2018/08/13(月) 08:45:14.73ID:???
vacuumなんてするのは
うんこ収集車とポスグレぐらいだな

539NAME IS NULL2018/08/13(月) 09:09:10.02ID:???
>>537
他のDBMSは領域再利用するから基本不要
ただファイルシステムとかと同様に断片化してくるから再構成をすることもある
http://cosol.jp/tech/detail/d3_maintenance_table.shtml

540NAME IS NULL2018/08/13(月) 12:45:01.48ID:???
>>539
ども
その時にやるか後でやるかのトレードオフだね。

541NAME IS NULL2018/08/14(火) 21:15:03.73ID:oiTTuwPu
質問いいすか?

542NAME IS NULL2018/08/15(水) 02:41:57.99ID:???
MySQLスレで質問したら、自分で試せ、で終わるらしい
こっちはOK

543NAME IS NULL2018/09/17(月) 02:33:58.97ID:x6EZpwmB
PostgreSQL最高!!!

544NAME IS NULL2018/09/17(月) 19:11:48.49ID:???
PostgreSQLを業務利用してからOracleをやることになったんだけど、
それで分かったこと。

PostgreSQLはSQLも設計仕様も、とても綺麗。
Oracleはダメ。信じられないくらいのポンコツ。

545NAME IS NULL2018/09/17(月) 19:39:42.56ID:???
主観はどうでもいい
根拠は?

546NAME IS NULL2018/09/17(月) 19:42:23.82ID:qUdR5wYD
主観の根拠聞きたいんか?

547NAME IS NULL2018/09/18(火) 11:39:30.81ID:???
Oracleで綺麗じゃないとか言ってるのか。MySQLなんか、とんでもなく汚いぞ。

548NAME IS NULL2018/09/18(火) 11:53:21.22ID:???
僕は逆に10年以上前にOracleからPostgreSQLに変えたけど、特に困難なく移行できた。
仕様も変なクセがないし他のスタッフからも不満はまったくない。
それにまず社長が喜んだ(笑)

549NAME IS NULL2018/09/18(火) 12:32:59.59ID:???
汚さで言えば
MySQL(MariaDB)>Oracle>PostgreSQL
キッチリ手順明確なのがPostgreSQL
どうにかやれば動いてしまうのがMySQL

550NAME IS NULL2018/09/18(火) 14:42:36.23ID:???
MySQLはべつに汚くないぞ。
ところどころがちょっといいかげんなだけ。

551NAME IS NULL2018/09/18(火) 15:15:57.49ID:???
僕みたいな年寄りには、MySQLは、
・単なるサブセット(だから多少早くても当たり前)、
・マルチバイトが使い物にならない
っていう認識がこびりついてて使う気にならない

552NAME IS NULL2018/09/18(火) 15:17:05.14ID:???
あ〜、今は違うんだろうけど

553NAME IS NULL2018/09/18(火) 20:21:10.84ID:???
そりゃ二十年近く昔だろ。w
そのころは、ふつうにお安く使えるのはMySQLくらいしかなかったがな。

554NAME IS NULL2018/09/19(水) 10:01:57.06ID:???
選択肢増えた今はMySQLでなければ、と言うシーンが無い

555NAME IS NULL2018/09/19(水) 19:48:09.82ID:???
PostgreSQLのスレだから言うわけじゃないけど、
もうPostgreSQLしかねーだろ!
他はカス!

556NAME IS NULL2018/09/19(水) 22:35:09.37ID:???
>>554
そして、PostgreSQLでなければというシーンもない。
ま、ふつうの人にはどっちも同じ。

557NAME IS NULL2018/09/20(木) 23:01:35.16ID:???
>>555 だよね!!

MariaDB、MySQL、FireBirdは触ったことはないが・・・。

OracleはSQLPlusで、操作したことはあるけど面倒。
SQLServerも面倒で触れたこともない。

558NAME IS NULL2018/09/21(金) 17:37:17.26ID:???
Oracleは、簡単なことをするにもサブクエリー使わなきゃならないのよ。
なので3階層くらいのサブクエリーは普通になってしまう。
で、可読性が落ちてしまい、自分でも理解不能になる。
人によってはビューやストアドプロシージャで解決しようとして、これらを書きまくりメンテ不能に陥る。

PostgreSQLなら素直で簡潔なSQL書けるのに、と思うよ。

559NAME IS NULL2018/09/21(金) 19:53:52.72ID:???
>>558
Oracle PL/SQLのメンテナンスはしんどい
人それぞれでロジックの組み方違う
ライセンス含めOracleはもう厳しい

560NAME IS NULL2018/09/21(金) 21:49:15.41ID:???
>>558
具体例プリーズ

561NAME IS NULL2018/09/22(土) 00:12:04.26ID:???
ここってpostgres派生のgreenplumについて聞いても大丈夫?
ライセンス価格わからなくて困ってる

562NAME IS NULL2018/09/22(土) 07:45:07.11ID:???
>>560
具体例はいちいち覚えていない・・・
そんなの覚えても役立つことなどないから覚えようという気がしないので。
ごめんね。

でもPostgreSQLでSQL書ける奴が業務でOracleに乗り換えれば、その不満はすぐに感じると思うぞ。

563NAME IS NULL2018/09/22(土) 08:22:58.98ID:???
>>562
なるほど知ったか指摘されたら答えられないってことね
了解

564NAME IS NULL2018/09/22(土) 13:29:00.90ID:/G0Wh7Kz
>>558
それは手続きの隠蔽にすぎず、SQLの可読性が下がる。

一度、ソートしないと結果が得られないのに、一度のSELECTでできるかのように思わせる方が問題だ。

このあたりの独自格調のせいで、IT技術者であっても誤解が広まって、SQLはこう書くとこう処理されると言い始める。

565NAME IS NULL2018/09/22(土) 13:40:17.48ID:???
なるほど、格調高いレスだな

566NAME IS NULL2018/09/22(土) 17:28:36.98ID:???
>>561
BSDライセンスじゃ無いの?

567NAME IS NULL2018/09/22(土) 19:22:35.33ID:Q/qdUs3S
なんで>>558>>564は通じあっとるんやw
バカ同士の会話おそるべしw

568NAME IS NULL2018/09/22(土) 22:09:43.40ID:???
>>566
商用利用前提でコミュニティ版でパフォーマンス検証したいけど、そもそも高すぎたら却下されるから、知ってる人がいたら大まかでいいから価格感が知りたかったのですね

569NAME IS NULL2018/09/22(土) 22:34:08.21ID:???
>>566
ちなみに商用だとコアライセンスです

570NAME IS NULL2018/09/23(日) 06:43:51.08ID:???
>>569
ここで聞く話か?

571NAME IS NULL2018/09/23(日) 23:20:52.25ID:???
>>570
確かにそうですね、すみませんでした

新着レスの表示
レスを投稿する