X



トップページDB@2ch掲示板
1002コメント295KB
PostgreSQL Part.11©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0472NAME IS NULL垢版2018/06/10(日) 17:33:49.42ID:???
NULLの代わりにNaN使うことできないの?
0473NAME IS NULL垢版2018/06/10(日) 20:58:02.19ID:H1Ou+f2f
>>471
ずいぶん古いのを持ってきたな。
0474NAME IS NULL垢版2018/06/27(水) 13:21:45.22ID:???
pgadmin4って使い勝手良さそうなのかな?pgadmin3の使い勝手が良いので10に移行出来ないw
0475NAME IS NULL垢版2018/06/27(水) 20:09:05.74ID:Exjj86zV
>>474
4はあまり使われていないと思う。

PostgreSQLをGUIで操作しているひとが少ないせいでよくならない。
0476NAME IS NULL垢版2018/06/28(木) 04:24:23.72ID:???
学びはじめの頃に3をちょっと使ってみた。
最近4を使ってみたが、なんかバグっぽい感じ?
どちらにしても今となっては必要性を感じないな
0479NAME IS NULL垢版2018/07/07(土) 01:16:25.99ID:???
オラコーは売れる数減ってきてるのに売上高維持しようとしてるから、毎年値上げしててその額が半端じゃないらしいな。
0480NAME IS NULL垢版2018/07/07(土) 09:08:27.58ID:???
postgresとmariaにがんばっていただきましょう
0481NAME IS NULL垢版2018/07/08(日) 00:23:14.36ID:rFyThfKq
>>479
お金を取る方が健全。マイクロソフトなんてビジネスとしては崩壊しかかっている。
0483NAME IS NULL垢版2018/07/08(日) 00:47:24.96ID:???
>>481
"マイクロソフトのビジネスは崩壊しかかっている"

無知すぎワロタ
0484NAME IS NULL垢版2018/07/08(日) 02:31:24.04ID:???
売り切りソフトからAzureに軸足を移したことを知らんのね
0486NAME IS NULL垢版2018/07/08(日) 06:33:46.28ID:???
>>481
SQL-Serverもそれなりの対価頂いておりますが…
0488NAME IS NULL垢版2018/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
0489NAME IS NULL垢版2018/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
0491NAME IS NULL垢版2018/07/08(日) 23:39:34.33ID:K/+3T+EH
>>490
蓄えた資産がなかったら倒産してたぞ。
0493NAME IS NULL垢版2018/07/22(日) 03:45:20.98ID:???
>>451
嘘つきだな
こういうヤツに限ってMySQL使ってるとか?
MySQLとかオラクルが豹変したら死ぬぞ?w
0494NAME IS NULL垢版2018/07/22(日) 03:49:23.74ID:???
>>479
オラクルがJavaの次に狙ってるのはMySQLに何らかライセンス徴収ルール作る事
OSSだから、そんな事有り得ないとMySQLユーザーは言うがJavaも有り得ないと言われてた
でMariaDBに逃げたヤツが一番賢い、と言われる様になると思う
0495NAME IS NULL垢版2018/07/22(日) 05:13:57.78
PostgreSQLに来た奴は賢くないの
0496NAME IS NULL垢版2018/07/22(日) 07:25:42.77ID:???
MySQLに商用ライセンスが存在するのは元からやん。
Javaの話もなにか勘違いしてないかい?
0497NAME IS NULL垢版2018/07/22(日) 11:36:45.83ID:???
でも、MariaDBに逃げとくに越したこたないだろ。
MySQLの先行きが読めないことは間違いないし、そろそろそれぞれで違いが出てきてるみたいだし。
0498NAME IS NULL垢版2018/07/22(日) 11:55:36.19ID:???
で、なんでこのスレに書き込んだの?
0501NAME IS NULL垢版2018/07/22(日) 14:43:55.22ID:???
なんでPostgreSQLのスレにMySQLやMariaの信者が居るんだ?
0503NAME IS NULL垢版2018/07/22(日) 18:38:30.86ID:???
PostgreSQL信者しか書き込んだらいけないらしい
0504NAME IS NULL垢版2018/07/22(日) 18:39:58.50ID:???
自分が使っている、気に入っているものがやっぱり一番だと思いたいのが人間だし
それを否定されると自分が否定されていると思っちゃう人もいるわけだし
そのあたりの空気を読めることが望まれているのでしょう
0505NAME IS NULL垢版2018/07/22(日) 18:54:05.75ID:???
PostgreSQLに全く関係のない話題を書き込まれてもなぁ・・
0506NAME IS NULL垢版2018/07/22(日) 19:09:06.70
AMDのスレによくIntel派の人がRyzen腐しにくる
0507NAME IS NULL垢版2018/07/22(日) 20:40:34.32ID:???
メインのスレに書き込める程知識が無い
もしくはスレ住人に相手にされてないor嫌われてる

関係ないスレに書き込む

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

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

徹底的にスルーされるので飽きて居なくなる
もしくはスレ住人に擬態する
0508NAME IS NULL垢版2018/07/22(日) 21:01:49.13ID:???
DB系のスレは最近、だいたい過疎ぎみだからな。
書き込みがあるだけマシなんでは。w
0509NAME IS NULL垢版2018/07/23(月) 17:49:47.34ID:???
早くMySQLにライセンス徴収開始されんかなw
Javaと同じ運命にして欲しいわw
0510NAME IS NULL垢版2018/07/23(月) 18:00:28.15ID:???
>>509
この場合のライセンス徴収はGPL版にも商用版と同じライセンス適用の話ね
0512NAME IS NULL垢版2018/07/23(月) 21:09:28.38ID:???
>GPL版にも商用版と同じライセンス適用

意味不明すぎるw
0514NAME IS NULL垢版2018/07/23(月) 23:41:15.75ID:???
>>513
"常に"なんてどこに買い込みしてる?
アホか
0516NAME IS NULL垢版2018/07/23(月) 23:43:06.33ID:???
>>504
そういう不完全な人の話は聞く耳持たんなw
0517NAME IS NULL垢版2018/07/24(火) 05:35:41.63ID:???
GPLでも徴収できることを知ってたら>>509みたいなアホレスはしないだろ
>>514は傷口広げて自爆するバカ w
0518NAME IS NULL垢版2018/07/24(火) 06:23:30.86ID:???
早くオラクルが動く事を祈るw
0520NAME IS NULL垢版2018/07/27(金) 18:01:07.56
失望しました! PostgreSQLに乗り替えます
0521NAME IS NULL垢版2018/07/28(土) 13:15:20.88ID:tm98Iqt0
>>519
それはわざとだよ。MySQLを徐々に衰退させたいため。
0522NAME IS NULL垢版2018/07/28(土) 13:16:49.48ID:tm98Iqt0
>>520
そのポスグレさんは知っているひとが少なくて苦戦する。

しかもシェアが低いのでとにかく情報がなく、ソースコードまで読まなければならない。
0523NAME IS NULL垢版2018/07/28(土) 13:33:26.03ID:???
まあOracle, MySQL, SQL-Serverの御三家に比べりゃ少ないけどそれ以下の有象無象の中ではトップだから情報が少ないとか言ってるのは単なる情弱
0524NAME IS NULL垢版2018/07/28(土) 17:42:23.60ID:???
Oracleは早くMySQLユーザーをOracleに移行させたい
よってMySQLのサポートなんておざなりになるのは当然
MariaDB、PostgreSQLが元MySQLユーザーの受け皿になる
0525NAME IS NULL垢版2018/07/29(日) 01:37:24.34ID:???
Mysqlの人はMariaに行くんだろうな。
0526NAME IS NULL垢版2018/07/29(日) 02:28:28.20ID:???
型チェックとか厳しく無いものから厳しいものへは移行せんだろうな
0527NAME IS NULL垢版2018/07/31(火) 01:24:00.18ID:???
WordPressなんかMySQL使用前提だがオラクルがMySQLのライセンス徴収厳密化したらユーザー発狂するだろうな
0528NAME IS NULL垢版2018/08/11(土) 18:27:16.56ID:???
>>MySQL系は大規模データベースを想定して作られていないせいで、管理は楽だが、物理ファイルと論理ストレージが一緒のため、データ量が多くなってくるとデータベースを止めずに何か変更することが難しくなる。

やっぱりPostgreSQLだな
0529NAME IS NULL垢版2018/08/11(土) 19:14:41.43ID:???
VACUUMをなくして。どうぞ。
0530NAME IS NULL垢版2018/08/11(土) 20:19:25.04ID:???
未だにvacuumやっているの?
0531NAME IS NULL垢版2018/08/11(土) 21:27:50.36ID:???
やらなくてもダメではないけど、しなくてもいいわけでもないらしいが?
どないやねん。
0534NAME IS NULL垢版2018/08/12(日) 23:16:01.74ID:???
>>532
Autoをやってる。というかな?
勝手にやってくれているんだから、それでいいやって思うわ。
0535NAME IS NULL垢版2018/08/12(日) 23:42:58.99ID:???
>>530がvacuumやってるのか?
って言うからvacuum自体は必要だよって言っただけ
設定が必要かどうかは状況による
0536NAME IS NULL垢版2018/08/12(日) 23:48:21.97ID:cfFh3cqu
どのRDBMSでも自動ではやらないよな。そんなのされたら一時的に使えなくなる。
0537NAME IS NULL垢版2018/08/13(月) 07:35:09.19ID:???
他のDBもvacumeみたいなのやってるの?
0538NAME IS NULL垢版2018/08/13(月) 08:45:14.73ID:???
vacuumなんてするのは
うんこ収集車とポスグレぐらいだな
0540NAME IS NULL垢版2018/08/13(月) 12:45:01.48ID:???
>>539
ども
その時にやるか後でやるかのトレードオフだね。
0541NAME IS NULL垢版2018/08/14(火) 21:15:03.73ID:oiTTuwPu
質問いいすか?
0542NAME IS NULL垢版2018/08/15(水) 02:41:57.99ID:???
MySQLスレで質問したら、自分で試せ、で終わるらしい
こっちはOK
0543NAME IS NULL垢版2018/09/17(月) 02:33:58.97ID:x6EZpwmB
PostgreSQL最高!!!
0544NAME IS NULL垢版2018/09/17(月) 19:11:48.49ID:???
PostgreSQLを業務利用してからOracleをやることになったんだけど、
それで分かったこと。

PostgreSQLはSQLも設計仕様も、とても綺麗。
Oracleはダメ。信じられないくらいのポンコツ。
0545NAME IS NULL垢版2018/09/17(月) 19:39:42.56ID:???
主観はどうでもいい
根拠は?
0546NAME IS NULL垢版2018/09/17(月) 19:42:23.82ID:qUdR5wYD
主観の根拠聞きたいんか?
0547NAME IS NULL垢版2018/09/18(火) 11:39:30.81ID:???
Oracleで綺麗じゃないとか言ってるのか。MySQLなんか、とんでもなく汚いぞ。
0548NAME IS NULL垢版2018/09/18(火) 11:53:21.22ID:???
僕は逆に10年以上前にOracleからPostgreSQLに変えたけど、特に困難なく移行できた。
仕様も変なクセがないし他のスタッフからも不満はまったくない。
それにまず社長が喜んだ(笑)
0549NAME IS NULL垢版2018/09/18(火) 12:32:59.59ID:???
汚さで言えば
MySQL(MariaDB)>Oracle>PostgreSQL
キッチリ手順明確なのがPostgreSQL
どうにかやれば動いてしまうのがMySQL
0550NAME IS NULL垢版2018/09/18(火) 14:42:36.23ID:???
MySQLはべつに汚くないぞ。
ところどころがちょっといいかげんなだけ。
0551NAME IS NULL垢版2018/09/18(火) 15:15:57.49ID:???
僕みたいな年寄りには、MySQLは、
・単なるサブセット(だから多少早くても当たり前)、
・マルチバイトが使い物にならない
っていう認識がこびりついてて使う気にならない
0552NAME IS NULL垢版2018/09/18(火) 15:17:05.14ID:???
あ〜、今は違うんだろうけど
0553NAME IS NULL垢版2018/09/18(火) 20:21:10.84ID:???
そりゃ二十年近く昔だろ。w
そのころは、ふつうにお安く使えるのはMySQLくらいしかなかったがな。
0554NAME IS NULL垢版2018/09/19(水) 10:01:57.06ID:???
選択肢増えた今はMySQLでなければ、と言うシーンが無い
0555NAME IS NULL垢版2018/09/19(水) 19:48:09.82ID:???
PostgreSQLのスレだから言うわけじゃないけど、
もうPostgreSQLしかねーだろ!
他はカス!
0556NAME IS NULL垢版2018/09/19(水) 22:35:09.37ID:???
>>554
そして、PostgreSQLでなければというシーンもない。
ま、ふつうの人にはどっちも同じ。
0557NAME IS NULL垢版2018/09/20(木) 23:01:35.16ID:???
>>555 だよね!!

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

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

PostgreSQLなら素直で簡潔なSQL書けるのに、と思うよ。
0559NAME IS NULL垢版2018/09/21(金) 19:53:52.72ID:???
>>558
Oracle PL/SQLのメンテナンスはしんどい
人それぞれでロジックの組み方違う
ライセンス含めOracleはもう厳しい
0561NAME IS NULL垢版2018/09/22(土) 00:12:04.26ID:???
ここってpostgres派生のgreenplumについて聞いても大丈夫?
ライセンス価格わからなくて困ってる
0562NAME IS NULL垢版2018/09/22(土) 07:45:07.11ID:???
>>560
具体例はいちいち覚えていない・・・
そんなの覚えても役立つことなどないから覚えようという気がしないので。
ごめんね。

でもPostgreSQLでSQL書ける奴が業務でOracleに乗り換えれば、その不満はすぐに感じると思うぞ。
0563NAME IS NULL垢版2018/09/22(土) 08:22:58.98ID:???
>>562
なるほど知ったか指摘されたら答えられないってことね
了解
0564NAME IS NULL垢版2018/09/22(土) 13:29:00.90ID:/G0Wh7Kz
>>558
それは手続きの隠蔽にすぎず、SQLの可読性が下がる。

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

このあたりの独自格調のせいで、IT技術者であっても誤解が広まって、SQLはこう書くとこう処理されると言い始める。
0565NAME IS NULL垢版2018/09/22(土) 13:40:17.48ID:???
なるほど、格調高いレスだな
0567NAME IS NULL垢版2018/09/22(土) 19:22:35.33ID:Q/qdUs3S
なんで>>558>>564は通じあっとるんやw
バカ同士の会話おそるべしw
0568NAME IS NULL垢版2018/09/22(土) 22:09:43.40ID:???
>>566
商用利用前提でコミュニティ版でパフォーマンス検証したいけど、そもそも高すぎたら却下されるから、知ってる人がいたら大まかでいいから価格感が知りたかったのですね
0573NAME IS NULL垢版2018/09/29(土) 18:05:12.36ID:???
『PostgreSQL全機能バイブル』
鈴木 啓修 著

は良本だな。俺のバイブルになってる。
0574NAME IS NULL垢版2018/09/30(日) 22:21:19.59ID:???
7のやつは評判よかったね。
10のはさすがにもう出ないか。
0575NAME IS NULL垢版2018/10/01(月) 20:16:09.31ID:???
10から入門する自分としてはそれほしい…(´・ω・`)
0576NAME IS NULL垢版2018/10/01(月) 21:21:02.90ID:???
PostgreSQL完全機能リファレンス
なら 8.1 対応ですよ。
10 だってこの本(8.1用)で大丈夫だよ。
0578NAME IS NULL垢版2018/10/02(火) 12:42:17.66ID:???
宣言的パーティショニングとか10でついた機能とかの説明もほしいの…(´・ω・`)

パーティショニングした列指向テーブル読んでもパラレルクエリにならんのを解決できるか調べたい
0579NAME IS NULL垢版2018/10/04(木) 02:51:51.68ID:???
SRA OSSやHPが毎年新機能評価報告出してくれるのはありがたい。
0580NAME IS NULL垢版2018/10/04(木) 12:46:20.19ID:Prg8isVQ
psycopg2の本ってあるの
なかったら誰か書いて、買うから…
0581NAME IS NULL垢版2018/10/04(木) 18:16:15.01ID:???
sqlはそこそこ書けるプログラマです
インフラ担当が居ない案件に派遣されてしまいました
開発から運用まで行うとしたらどんなことを勉強したらいいでしょうか
0582NAME IS NULL垢版2018/10/04(木) 19:31:32.77ID:???
バックアップとリストアができりゃOK。
0583NAME IS NULL垢版2018/10/04(木) 20:02:24.40ID:???
それだけじゃなんも答えられんやろ。
一口にインフラといっても、OSのインストールやらネットワークの設定やら、そもそも物理設置やら、いろいろ。
0584NAME IS NULL垢版2018/10/04(木) 20:38:39.12ID:zNNbXIbO
インフラ技術者がいないのであれば、そこが重要だと思ってないし、自分の自由にできる可能性が高くてうらやましい。
0585NAME IS NULL垢版2018/10/06(土) 12:36:54.75ID:???
勉強できるってのはいいね。
聞けない人がいないなら、会社持ちで外にリサーチに行けばいいし。
0586NAME IS NULL垢版2018/10/06(土) 21:31:32.49ID:???
DB専任の技術者なんて、なんの役に立つの?
0587NAME IS NULL垢版2018/10/06(土) 23:10:17.97ID:???
まったく
しかも「そこそこ書ける」程度の
0588NAME IS NULL垢版2018/10/07(日) 16:36:34.88ID:???
sqlはそこそこ書けるプログラマって言ってんだろ。
DB専任なんてどこに書いてあるんだよ。
0590NAME IS NULL垢版2018/10/07(日) 22:32:08.90ID:???
開発から運用まで、何をしたらいいのか皆目見当もつかない(sqlはそこそこ書ける)プログラマ
でした
0591NAME IS NULL垢版2018/10/07(日) 23:50:33.04ID:???
楽しんでやればいい。
そんなサイトがいっぱいある。
0592NAME IS NULL垢版2018/10/08(月) 20:08:30.46ID:???
>>581
1.システム化したい業務の聞き取り
2.システム化したい業務の仕様書作成
3.実作業
0594NAME IS NULL垢版2018/10/14(日) 19:50:54.62ID:???
この画像リンクなんなんマジで
0597NAME IS NULL垢版2018/10/16(火) 09:52:18.32ID:???
消されててわかりません
0601NAME IS NULL垢版2018/10/25(木) 14:18:17.40ID:???
AmazonによるPostgreSQLへのなかなか貴重な貢献だ
0602NAME IS NULL垢版2018/10/25(木) 23:58:15.58ID:???
>>601
俺の第一印象も「Oracleすげー」より、「これでポスグレが一皮むけるな」だった
0604NAME IS NULL垢版2018/10/26(金) 12:54:44.74ID:???
記者が、自分で勝手にストーリーをつくってしまって、あわない理屈を排除するのは、どこの国でもおんなじか。。。

たしかに、セーブポイントの仕様が違うなら違って当然で、その仕様の通りにしてないアプリが完全に悪いわな。
0605NAME IS NULL垢版2018/10/26(金) 12:56:40.39ID:???
無能なプログラマーが、トランザクションの中で無用なsavepointを連続して発行していたのが原因の模様。
アマゾンのシステム開発してる人の中にも、こういうレベルの人がいるんだな。
0606NAME IS NULL垢版2018/10/26(金) 13:30:19.36ID:???
PostgreSQLの仕様分かって無いヤツがプログラム作った結果か
有り得る話だな
0607NAME IS NULL垢版2018/10/27(土) 16:27:00.62ID:???
トラブルはあったにせよ、Amazonほどの規模のとこでもPostgreSQLが使われるんだって思うと感慨深いなぁ
0608NAME IS NULL垢版2018/10/27(土) 17:00:16.92ID:???
AmazonにはAurora PostgresとAurora MySQLがある中で、Aurora Postgresを選んだというのもいいね。
徹底的に比較した上でPostgresを選んだんだろうから。
0609NAME IS NULL垢版2018/10/27(土) 17:26:37.35ID:???
Oracleから移行ってことなら比較以前にMySQLは選択しにくいよね
0610NAME IS NULL垢版2018/10/27(土) 17:47:03.47ID:???
MySQLのほうが性能は高いかもだけど、機能は少ないからね。
0611NAME IS NULL垢版2018/10/27(土) 18:52:30.87ID:???
単純に「MySQLのほうが(PostgreSQLよりも)『性能』が高い」っていうのはどうかな?
0612NAME IS NULL垢版2018/10/27(土) 18:52:50.77ID:???
だからMySQLならMariaDBだろ。。
0616NAME IS NULL垢版2018/10/27(土) 20:40:45.03ID:???
MySQLはその内Javaの様にランタイムライセンス課されて終わるよ
Oracleの狙いはそこ
今現在、そこそこシェア取ってるから
0617NAME IS NULL垢版2018/10/27(土) 20:46:56.60ID:???
元から有料の商用ライセンスがあるのに何言ってんの
0619NAME IS NULL垢版2018/10/27(土) 21:36:22.33ID:???
アマゾンがpostgresって事実が凄いね
0621NAME IS NULL垢版2018/10/28(日) 07:41:37.02ID:???
>>617
無償版をJava同様、6ケ月毎の更新にするって話
で、OpenJDKの様に無償版をOpenMySQLにして6ケ月毎にバージョンアップする
6ケ月毎にバージョンアップって現場ではやってられないので、MySQL→MariaDB移行にする中小企業が増える
MySQLが廃れる方向って話
0625NAME IS NULL垢版2018/10/28(日) 14:59:58.96ID:???
MySQL使いが悔しくて荒らしてるw
0626NAME IS NULL垢版2018/10/28(日) 16:04:38.38ID:???
>>625
勘違い

MySQLと比べてるのが滑稽なだけ
せめて比べるとしたらMariaDBだろっていうツッコミが>>612なのに
なぜかそれに過剰反応してる信者(>>613)が一人いるだけ
0627NAME IS NULL垢版2018/10/28(日) 16:40:20.82ID:???
MariaDBと比較と言っても実質MySQLの無償版と同じだからね
0628NAME IS NULL垢版2018/10/28(日) 17:07:09.82ID:???
そろそろ意外と違うらしいよ?
0629NAME IS NULL垢版2018/10/28(日) 17:35:03.21ID:???
別に何と比べようが各人の自由だろ
滑稽とか言う方が滑稽だよ
0630NAME IS NULL垢版2018/10/28(日) 18:56:42.22ID:???
アマゾンがオラクルからDB移行した件で、Amazon AuroraのPostgresと同じくAuroraのMySQLの話題の流れで、アホが突然MariaDBガーとか言い出したからバカにされたんだろw
0631NAME IS NULL垢版2018/10/28(日) 19:52:48.40ID:???
と思いたいってことかな
0633NAME IS NULL垢版2018/10/28(日) 21:49:02.74ID:???
>>632
ちょっと何が言いたいのかわかんないっすね
0635NAME IS NULL垢版2018/10/29(月) 19:02:36.62ID:???
AWSのAuroraがMariaDBをサポートしてたら、こんなに(?)バカにされなくてすんだのにね
可哀想だね(´;ω;`)
0638NAME IS NULL垢版2018/12/06(木) 22:35:34.47ID:???
ポスグレ入れてたサーバのjavaを削除した後にポスグレのサービスが起動しなくなったのですがポスグレはjavaに依存しないですよね?
0639NAME IS NULL垢版2019/01/04(金) 11:57:23.15ID:???
ダンプサイズって上限あるのか知りたい。。50GBとか100GBとかいけるもの?
0640NAME IS NULL垢版2019/01/05(土) 09:01:40.58ID:???
>639
自己解決しました。いけるんですね。
0641NAME IS NULL垢版2019/01/11(金) 16:52:13.04ID:???
DBMS of the year 2018 受賞おめでとうございます
0642NAME IS NULL垢版2019/01/19(土) 11:04:26.28ID:???
初めまして
9.3.5から9.3.22にアップデートしたいのですが
ググってもメジャーアップデートの方法しかヒットせず困っております。
マイナーアップデートの方法が丁寧に説明されている書籍やHPや
教えていただけるイケメンはいらっしゃらないでしょうか?
0643NAME IS NULL垢版2019/01/19(土) 11:10:19.27ID:???
>>642
OSはlinux レッドハットの6になります。
0644NAME IS NULL垢版2019/01/19(土) 11:55:12.08ID:???
公式の文書が一番のイケメンだからよく読め
0645NAME IS NULL垢版2019/01/19(土) 13:13:52.22ID:???
9.3系はEOLになってしまいましたよ。
0647NAME IS NULL垢版2019/01/19(土) 18:32:29.81ID:???
>>642
DB停止して上書きインストールするだけやで。
9.3.22のrhel6用のrpm用意して
yum localinstall rpm列挙
でよいかと。
0648NAME IS NULL垢版2019/01/19(土) 19:02:34.99ID:???
>>647
ありがとうございます!
そのあたり調べてみます。
>>645
完全に外部から閉鎖している社内システムなんでマイナーアップデートすら必要ないんですが
外部監査で指摘されてスーパースーパーハッカーがキャッツアイみたいに侵入したら
だめだよね?って真顔でいわれてSEチームが全員じゃぁおれら辞めるわって言いだして
折衷案ですることになった非常にくだらない件でしてEOLは関係ないんです
0649NAME IS NULL垢版2019/01/19(土) 19:36:38.20ID:???
>>648
あほすぎ。w
たいへんやな。
そこまでいかれたら、DBなんかなんでもおんなじやのに。
0650NAME IS NULL垢版2019/01/20(日) 03:10:39.36ID:???
俺ならじゃあお前らやめろと言うな
0651NAME IS NULL垢版2019/01/20(日) 03:21:07.11ID:???
>>648
言いたいことは分かるが草生える
そう言う話になってる時点で保守契約とかもしてなさそうなのでその時点でどうなの?って気はする
0652NAME IS NULL垢版2019/01/20(日) 06:53:17.04ID:???
俺んとことなんて、内部監査で同じこと言われる。
しかも言う側はエンジニアではない素人だ。

何も知らないカスどもと思うけど誰も何も言えない。
折衷案まで漕ぎつけるだけ、まだいい。ウラヤマシ。
0653NAME IS NULL垢版2019/01/20(日) 11:49:48.77ID:???
>>651
保守なんか関係あるか?

オレはこんふうに想像。w
1 上層部が適当に外部監査を依頼。
2 とくに問題なし。
3 監査側としてはなにか指摘しないといけない。
4 どうでもいいことをムリヤリ指摘。
5 上層部が真に受ける。
0654NAME IS NULL垢版2019/01/20(日) 15:24:36.13ID:???
>>653
完全に内部専用のサーバを外部業者入れて監査する厳しさがあるなら、内部専用でも本番環境なら保守契約くらいやっていそうなものだ
書いてる内容的にそうでも無さそうだから、体制の矛盾を感じて不思議に思っただけ

自分的には、会社のポリシーでEOL製品の継続利用はNGってなってるだけじゃねーのと
0655NAME IS NULL垢版2019/01/29(火) 08:13:39.00ID:???
マイナーアップデートしたらキャッツアイに勝てるの?
0656NAME IS NULL垢版2019/02/23(土) 10:50:46.95ID:???
pgAdminでテーブルを作ろうとしているのですが、データ型で[ ]がついてるものとそうでないものの違いは何ですか?
データ型の横に別に長さを指定もできるようなので混乱しています。
0658NAME IS NULL垢版2019/02/23(土) 14:51:36.48ID:???
配列を1レコードに格納できるんですね。
0659NAME IS NULL垢版2019/03/01(金) 18:18:12.68ID:???
クラスタリングするならpg pool 2が良いのでしょうか?
0660NAME IS NULL垢版2019/03/01(金) 21:23:34.33ID:Z1dNjNNK
クラスタリングするな
0664NAME IS NULL垢版2019/03/02(土) 11:07:55.25ID:???
ポスグレって初回アクセス遅くないですか?
0665NAME IS NULL垢版2019/03/03(日) 20:26:54.63ID:8NWgRq1j
ポスグレって初回アクセス遅くないです
0666NAME IS NULL垢版2019/03/05(火) 12:47:02.99ID:???
最初のセレクトは遅いかも
0668NAME IS NULL垢版2019/03/05(火) 16:27:25.83ID:???
アホにかまうな、
アホに反応するな、
が最適解
0669NAME IS NULL垢版2019/03/05(火) 20:48:03.98ID:???
>>666
だよね!


>>667
SQLServerと比較すると初回アクセスのみ結構遅い
0670NAME IS NULL垢版2019/03/05(火) 23:46:00.67ID:???
キャッシュないもんそら遅いわな。
0671NAME IS NULL垢版2019/03/06(水) 20:03:46.28ID:???
DB単体のスピードを追求する場面ってあるの?
大抵は回線とかクライアント側の端末がボトルネックになってる気が
0672NAME IS NULL垢版2019/03/06(水) 20:35:04.60ID:???
>>671
> DB単体のスピードを追求する場面ってあるの?
はっ?

> 大抵は回線とかクライアント側の端末がボトルネックになってる気が
でかいシステムだと何台のクライアントからアクセスあると思ってるんだよw
0673NAME IS NULL垢版2019/03/06(水) 22:24:48.20ID:???
読み取りを分散させるとこまで出来ました
更新を分散させつつ整合性を保つ魔法はまだわかりません
0674NAME IS NULL垢版2019/03/07(木) 07:23:06.56ID:6UNHudHL
>>671
たいていDB上にデータとビジネスロジックを置くので、DB以外に速度を求められる場所がない
0675NAME IS NULL垢版2019/03/07(木) 19:37:38.11ID:???
>>669
初回アクセス速度を速くしたけりゃ、共有バッファを調整して、DB起動時に一度そのSQLを実行してテーブルをメモリに乗せときゃいいんじゃね?
0676NAME IS NULL垢版2019/03/10(日) 12:13:13.36ID:???
というSQLを起動時にやってるという話を聞いた事がある。
0677NAME IS NULL垢版2019/03/10(日) 21:24:50.77ID:???
キャッシュウォーミングとかで検索!
0679NAME IS NULL垢版2019/03/25(月) 22:40:04.95ID:???
psqlのロールとシェルのユーザって同じ名前じゃなきゃログインできないの?
0680NAME IS NULL垢版2019/03/26(火) 00:02:11.79ID:???
設定次第。pg_hba.confでidentになってるとそうなる。
0681NAME IS NULL垢版2019/03/26(火) 00:10:08.12ID:???
hbaってふんふんってわかった気になるけど、SSLでやろうと思ったりすると
結構迷うよね。
0682NAME IS NULL垢版2019/03/26(火) 23:45:18.73ID:???
>>680
mda5に直したらいけましたサンクス

新規のロールってグラントしてもらわないとログインすらできないの?
0683NAME IS NULL垢版2019/03/27(水) 03:09:43.83ID:???
肥大化したテーブルから古いデータをバックアップテーブルに退避して、その後削除するようなクエリを書きたいのですが、そもそもこのような対応は一般的なのでしょうか?
他に一般的な手法があれば教えてください。
0686NAME IS NULL垢版2019/03/28(木) 12:35:37.42ID:???
delete from tbl;
でいいのでわ
0687NAME IS NULL垢版2019/03/29(金) 02:16:08.60ID:???
毎日決まった時間に指定のクエリを実行したいのですが、pgAdmin4でそのようなことは出来ますか?
0690NAME IS NULL垢版2019/04/02(火) 16:27:39.43ID:???
OSS-DB試験受けた人いる?
0694NAME IS NULL垢版2019/04/10(水) 01:18:01.42ID:???
履歴書に書くネタが増えただけ
0695NAME IS NULL垢版2019/06/13(木) 03:09:12.05ID:???
住信SBIネット銀行、オンプレオラクルをAurora??PostgreSQLに移行。性能や可用性もPoC上、問題ないと判断。83%コスト削減。銀行の勘定系のクラウド化の時代なんだな。もはや、放送のシステムやマスターもクラウド化できる時代や
0696NAME IS NULL垢版2019/06/13(木) 16:25:04.23
銀行はオンプレミスでないと流石に個人情報漏れが怖いわ
クラウドってIntel のCPU積んでるだろうから、毎月追加更新される脆弱性報告見てると不安が増すばかり
自社はしっかりシステム作ってても、同じサーバで稼働してる別会社のシステムが杜撰だったとして
セキュリティ突破されようものなら、煽りを食って連座して突破されてしまうわけだし

逆に言うと、銀行系のシステムを狙ってわざとセキュリティの甘いシステムを、
銀行が使用してるクラウドサーバと同じサーバで稼働させてクラックしてそこをつたって銀行の情報抜き取るとか
そういう新型の犯罪が成立しそうだし

銀行や政府は漫然とクラウドを利用するべきではない
0697NAME IS NULL垢版2019/06/13(木) 19:30:07.35ID:???
>>696
> 逆に言うと、銀行系のシステムを狙ってわざとセキュリティの甘いシステムを、
> 銀行が使用してるクラウドサーバと同じサーバで稼働させてクラックしてそこをつたって銀行の情報抜き取るとか
自分が稼働させたサーバーを自分でクラックするのかw
アホすぎる…
0698NAME IS NULL垢版2019/06/13(木) 20:42:10.78ID:???
>>697
今の仮想環境を知らんのか。
アホすぎる。
0699NAME IS NULL垢版2019/06/13(木) 22:38:50.78ID:???
>>698
へー、今の仮想環境だと自分で設置したサーバーをわざわざクラックする必要あるんだw
ちょっと詳しく説明してくれるかな
0700NAME IS NULL垢版2019/06/13(木) 23:03:36.56ID:???
うーん、ちょっと噛み合ってなくてワロタ
0702NAME IS NULL垢版2019/06/14(金) 23:15:50.80ID:???
授業料を払うつもりがあるんなら、説明したることを考えたってもええで?
タダというんはムシがよすぎるやろ。w
0703NAME IS NULL垢版2019/06/14(金) 23:36:01.19ID:???0
クラウドサービスを理解してなさそうw
0704NAME IS NULL垢版2019/06/15(土) 10:14:26.34ID:???
うーん、ちょっと噛み合ってなくてワロタ
0706NAME IS NULL垢版2019/06/16(日) 13:15:51.14ID:???
admintool4の使い勝手が良い
Windows10にもdebian9にもpostgreSQLを入れている。
0707NAME IS NULL垢版2019/06/19(水) 02:22:05.94ID:???
admintool4ってググってもこのスレしか出てこないけどpgAdmin4のこと?
0709NAME IS NULL垢版2019/06/19(水) 21:31:08.45ID:???0
市民権を獲た用語で会話しようよ……
0710NAME IS NULL垢版2019/06/20(木) 19:09:36.26ID:???
>>709
そんな難しい用語ださなくていいから、もっと単純にいこうぜ
0711NAME IS NULL垢版2019/06/20(木) 19:33:32.53ID:???
同じメモリー8GB
内部ストレージ500GB(HDD)Windows10
内部ストレージ240GB(SSD)debianGNULinux strech9

Windows10のpgAdmin4が初期起動スピードでLinuxに1分以上の差をつけられて
負けたわ糞
0713NAME IS NULL垢版2019/06/21(金) 01:01:10.86ID:???0
>>710
『市民権を獲た○○』はいくらなんでも市民権を獲たイディオムだろう……
0714NAME IS NULL垢版2019/06/21(金) 04:59:30.51ID:???
>>713
初回起動だけは我慢するしかない
2回目以降は同等に早い
0715NAME IS NULL垢版2019/07/03(水) 14:27:59.47ID:???
postgreSQLを勉強するついでに資格取りたいんだけど、OSS-DBしかない感じ?
参考書が古い・・・
0716NAME IS NULL垢版2019/07/03(水) 19:41:30.29ID:???
意味ない。取るならDBスペシャリスト一択。
0717NAME IS NULL垢版2019/07/04(木) 12:59:21.92ID:LHv+sZG8
複数の外部キーを複合主キーとして使うテーブルを作りたいんですが、以下のケースの場合はどうすればよいでしょうか?
---------------------------
クラス番号(主キー) | クラス名 |
       1     |  A組  |
---------------------------

---------------------------------------------
クラス番号(外部キー) | 出席番号(非ユニーク) | 氏名 |
      1       |      10        | Cさん|
---------------------------------------------
※クラス番号と出席番号の組み合わせで複合主キー

上記テーブルがある状態で、以下のテーブルを作りたいのですが、
出席番号が非ユニークな為、外部キーに出来ません。
サロゲートキーを使わずに、クラス番号と出席番号の組み合わせで複合主キーにしたいのですが、どうすればよいでしょうか。
------------------------------------------------
クラス番号(外部キー) | 出席番号(非ユニーク) |  情報 |
------------------------------------------------
0718NAME IS NULL垢版2019/07/04(木) 15:07:07.21ID:???
こうかな?

CREATE TABLE class (
id int NOT NULL PRIMARY KEY,
name text NOT NULL
);
INSERT INTO class(id,name) VALUES (1,'A組');
INSERT INTO class(id,name) VALUES (2,'B組');

CREATE TABLE person (
id int NOT NULL REFERENCES class(id),
number int NOT NULL,
name text NOT NULL,
PRIMARY KEY (id, number)
);
INSERT INTO person(id,number,name) VALUES (1,10,'Cさん');
INSERT INTO person(id,number,name) VALUES (2,10,'Dくん');
INSERT INTO person(id,number,name) VALUES (2,11,'Eくん');

CREATE TABLE info (
id int NOT NULL,
number int NOT NULL,
info text NOT NULL,
FOREIGN KEY (id, number) REFERENCES person (id, number)
);

INSERT INTO info(id,number,info) VALUES (1,10,'Cさんの情報1');
INSERT INTO info(id,number,info) VALUES (1,10,'Cさんの情報2');
INSERT INTO info(id,number,info) VALUES (2,10,'Dくんの情報1');
INSERT INTO info(id,number,info) VALUES (2,11,'Eくんの情報1');
/* INSERT INTO info(id,number,info) VALUES (1,11,'外部キー制約でエラー'); */
0719NAME IS NULL垢版2019/07/04(木) 15:36:31.92ID:???
>>718
神様ありがとうございます!
以下の1行をプラスして、完全に想定通りに動きました!
>>PRIMARY KEY (id, number)

CREATE TABLE info (
id int NOT NULL,
number int NOT NULL,
info text NOT NULL,
FOREIGN KEY (id, number) REFERENCES person (id, number),
PRIMARY KEY (id, number)
);
0720NAME IS NULL垢版2019/07/04(木) 15:58:03.84ID:???
すみません。動いたと思ったら微妙に違っていました。
以下の制約を付けて、正常に動きました!
ALTER TABLE info ADD CONSTRAINT info_fkey FOREIGN KEY(id, number) REFERENCES person (id, number)
0721NAME IS NULL垢版2019/07/08(月) 21:33:25.93ID:???
createuser -P -E ロール名
でパスワードを設定しても
そのパスワードを要求される場面がない。
CREATE ROLE ロール名 WITH PASSWORD '****';
でもそう。
なんのためのパスワードなんだろう?
localhostだけで使うなら無用なのかな。
0722NAME IS NULL垢版2019/07/09(火) 00:12:06.67ID:???
pg_hba.confでtrustになってるとか?
0723NAME IS NULL垢版2019/07/09(火) 10:46:32.59ID:???
pg_hba.confの設定はいじっておらず、
md5かpeerのいずれかです。
trustは一つもありません。
0724NAME IS NULL垢版2019/07/09(火) 12:09:18.95ID:???
peerで認証されてるんだろう
LinuxのアカウントとPgのロール名が同じで
0725NAME IS NULL垢版2019/07/09(火) 20:15:55.28ID:???
>>724
そうかもしれません。異常な挙動でなくて安心しました。
助言くださってありがとうございました。
0726721垢版2019/07/13(土) 14:18:04.22ID:???
pg_hba.confという設定ファイルの中の
local all all peer

local all all md5
に変更することでパスワードを指定して作成したロールから
localhostのPostgreSQLサーバに接続するときにパスワードを
要求されるようになりました。
0727NAME IS NULL垢版2019/07/16(火) 22:19:30.50ID:???
datdbaseをCREATEする権限をグラントするコマンドを教えてちょうだい
0731NAME IS NULL垢版2019/07/19(金) 00:31:07.94ID:???
windowsなのですがまずdvdrental.tarをインポートするやり方からわからないです
教えてください
0732NAME IS NULL垢版2019/07/19(金) 17:48:50.62ID:???
>>731
ttps://dev.classmethod.jp/etc/postgresql-create-sample-database/
0733NAME IS NULL垢版2019/07/19(金) 19:45:52.70ID:???
そのまま丸写しではできなかったですがあちこちにに書いてあることを総合したらなんとかできました
どうも
0735NAME IS NULL垢版2019/09/21(土) 15:47:50.40ID:???
pgadmin4でクエリエディタの内容をコピペする方法ないの?どうするのこれ?
0736NAME IS NULL垢版2019/09/21(土) 15:57:33.31ID:???
自己レス
ctrl+cかそうかわかった
0737NAME IS NULL垢版2019/10/12(土) 16:35:01.65ID:X6qnpHgK
職業訓練でポスグレやってるんですが、自宅でインストールして使おうとしたらコレが出たんですがどうすれば使えるようになりますか?
https://i.imgur.com/xDqFtox.jpg
0739NAME IS NULL垢版2019/10/12(土) 21:16:57.32ID:X6qnpHgK
>>738
管理者としてインストールしました
何回か再インストールしてもダメなんです
0740NAME IS NULL垢版2019/10/12(土) 21:19:47.52ID:???
単にサーバー起動してないとか
0741NAME IS NULL垢版2019/10/12(土) 21:39:06.71ID:???
>>739
Windowsでの話?

環境何も書いてないのはエスパー求むってことか?
0742NAME IS NULL垢版2019/10/12(土) 21:41:14.77ID:???
あっ、psqlコンソールだな、スマン
0743NAME IS NULL垢版2019/10/12(土) 21:59:56.75ID:X6qnpHgK
>>741
Windowsです
サーバーソフトはtomcatを使ってます
0744NAME IS NULL垢版2019/10/12(土) 22:23:00.80ID:???
一応聞くけどポスグレのインストールはデフォルトでエンター連打でインストールしたって理解でいいか?
0745NAME IS NULL垢版2019/10/12(土) 22:31:20.55ID:???
>サーバーソフトはtomcatを使ってます

唐突に謎すぎるw
もしかしてデータベースサーバーというものを知らない?
0746NAME IS NULL垢版2019/10/13(日) 07:05:44.59ID:???
tomcatはjavaサーバーで今の問題には
特に関係ないからいいとして、
1.postgresqlをloalhostにインストールしているか?
2.postgresqlをport5432でインストールしているか?
3.windows上のサービスとして起動しているか?

この辺教えて
0747NAME IS NULL垢版2019/10/13(日) 07:21:08.32ID:???
それ以前にこれまでしてきたことと、その結果を時系列で書いてもらわんと
誰も何も分からないと思う。
0748NAME IS NULL垢版2019/10/13(日) 19:42:33.09ID:???
>>746
それを答えられるヤツは、あんな質問をしないやろ。w
0750NAME IS NULL垢版2019/10/13(日) 23:34:58.96ID:???
職業訓練でそんな授業あるんか
ええな
俺も行きたいわ
0751NAME IS NULL垢版2019/10/14(月) 10:33:21.47ID:???
>>750
15年ぐらい前だけど職業訓練の一環でうちの会社に訓練生が現場実習として2週間ぐらい来たことあったのでそう言う奴かも
0753NAME IS NULL垢版2019/11/01(金) 10:42:33.99ID:???
初心者的な事聞いていいっすか?

テーブルに時間として格納された整数値を現時刻と加算したいんだけどどうするの?

定数としては+ n hourで出来たけど、項目だとできなくて
0754NAME IS NULL垢版2019/11/01(金) 14:29:13.51ID:???
>>753
手元に環境ないから試してないけど
select CURRENT_TIME + make_interval(hours := xxx)
ではどうかな
0755NAME IS NULL垢版2019/11/28(木) 15:54:59.03ID:s00g5Y0p
>>753
時刻を数値で扱っている時点で初心者ではない。
0756NAME IS NULL垢版2019/11/28(木) 17:45:40.87ID:???
UNIX TIMEだろ?
それくらい誰でもするやろ。
0758NAME IS NULL垢版2020/01/31(金) 08:26:38.27ID:???

オウム教が象被ってたから、日本ユーザ会が元々postgres95で使ってた亀を使ったという話。
0760NAME IS NULL垢版2020/03/27(金) 14:20:54.70ID:vMnC9fl+
ageます
byポスグレ初心者
0761NAME IS NULL垢版2020/04/09(木) 18:57:31.51ID:yfcWG/vx
CREATE USERとCREATE TABLEとINSERTとUPDATEとSELECTぐらいしか使わない俺が来ましたよ!
ポスグレ触りだして10年以上たってるのに・・・
0762NAME IS NULL垢版2020/04/09(木) 23:13:35.45ID:???
DELETE使わないって全データ論理削除っすか?
と釣り針にかかってみる。
0765NAME IS NULL垢版2020/04/10(金) 20:22:52.38ID:???
dropdb -h all -p all -d all -U all
0768NAME IS NULL垢版2020/04/30(木) 23:41:57.94ID:???
書き込みが無いのは「何も困ることが無い程良いDB」という認識で良いか?
0769NAME IS NULL垢版2020/05/01(金) 08:43:39.38ID:???
Oracleを仕方なく仕事で使い始めたが、PostgreSQLと比べてOracleのダメさが
使えば使うほど感じるようになり、このスレには何も書けない状態。
0771NAME IS NULL垢版2020/05/01(金) 09:07:29.45ID:???
Oracleはドライバーの更新が遅すぎて世の中の流れに全くついていけてないからなあ
0772NAME IS NULL垢版2020/05/01(金) 09:38:01.70ID:???
高い金出せば楽できるDBMSならわかるけどOracleは金も手間もかかるからな
ライセンスのマージンが美味しいと思ってるアホなSI以外は使う理由がない
0773NAME IS NULL垢版2020/05/01(金) 09:39:53.93ID:???
なのになんで大規模なとこOracle使うんでしょうね
0774NAME IS NULL垢版2020/05/01(金) 09:50:50.45ID:???
>>773
いつの時代の話だよw
大規模ほどOracleなんて使わない
0775NAME IS NULL垢版2020/05/01(金) 12:20:34.18ID:???
>>772
>>Oracleは金も手間もかかるからな

MySQLやPostgreSQLへOracleから移行する例が少ないね
何でだろう
0776NAME IS NULL垢版2020/05/01(金) 13:47:36.07ID:???
>>775
「自分が知らない/調べられない== 少ない」と思い込みたいのかな?

ググればいくらでも出てくるし
シェアの変遷を見ればどこに移行してるかなんて明らか
0777NAME IS NULL垢版2020/05/01(金) 15:22:46.87ID:???
>>776
PostgreSQLへ移行してるって話かね
世界的にはMySQLだけど
0780NAME IS NULL垢版2020/05/01(金) 20:42:40.68ID:???
結局RACだろ。RACがいらないならOracle使う意味はない。
0781NAME IS NULL垢版2020/05/22(金) 20:35:02.20ID:wpCETL3Y
ちょいと教えて欲しい。
psqlで
テーブル存在しない状態で
DROP TABLE IF EXISTS aaa;
をやると
NOTICE: table "aaa" does not exist, skipping
と表示されるけど、これを抑制するオプションとか無いかな?(´・ω・`)
0783NAME IS NULL垢版2020/05/22(金) 22:11:07.19ID:wpCETL3Y
>>782
ありがとう愛してる(´・ω・`)
0784NAME IS NULL垢版2020/06/03(水) 22:04:55.17ID:???
interval 型の列を分や秒の値にした結果をselect文で得るにはどうすればよいですか。
列1: name text型
列2: term interval型
select name, term, ??? from table1
得たい結果
期間1, 00:32:00, 32
期間2, 02:05:00, 125
0785NAME IS NULL垢版2020/06/03(水) 22:33:07.02ID:???
EXTRACT(EPOCH FROM INTERVAL term)で秒になる
0786NAME IS NULL垢版2020/06/04(木) 01:20:56.02ID:???
ありがとうございます!
明日試してみます!
0787NAME IS NULL垢版2020/08/27(木) 10:19:05.33ID:BWndbaWN
同一サーバ(PC)で、
データベース - スキーマ - テーブル
となっています。
別のデータベースのテーブルを直接参照する事は
できますか?
0789NAME IS NULL垢版2020/08/27(木) 16:41:53.26ID:BWndbaWN
ありがとうございます。
頑張ってしらべてみます!
0790NAME IS NULL垢版2020/09/07(月) 16:06:23.68ID:???
PostgreSQLの初心者です。
バージョン11をLinuxディストロに入れました。
サーバーの起動方法がいくつかあることを知りました。
どれが正しいやり方なのか、あるいは異なる意味を持つ起動方法なのか
わかりません。
PostgreSQLをインストールしたときには
pg_ctlcluster 11 main start
という起動方法を指示されました。

PostgreSQL11のドキュメントにしたがってデータベースクラスタなるものを作成したときには、
pg_ctl -D /usr/local/pgsql/data -l <ログファイル> start
という起動方法を指示されました。

Linuxでサービスを管理をする方法として
systemctl start postgresql
service postgresql start
といったものもあります。

これらはそれぞれ違う用途による起動方法でしょうか?
それとも好きな起動方法を選択できるんでしょうか?
pg_ctlclusterがpostgresユーザー権限で操作できることは知っています。
0791NAME IS NULL垢版2020/09/07(月) 17:27:41.79ID:???
>>790
むしろ、Linuxの初心者でもあるな?
OSも書かんと。CentOS8?
0792790垢版2020/09/07(月) 18:20:21.39ID:???
>>791
返事くださってありがとうございます。Debian10です。
どの起動方法も可能ですが、
異なる起動方法によって何か挙動が異なるのか迷って
経験のある方に助言をいただきたくて。
0794NAME IS NULL垢版2020/09/07(月) 20:00:31.66ID:VUeEFudZ
>>792
やみくもにネットの情報を頼りにするより、ちゃんとまとまった古本でも買った方がいい。

何がなんだか自分でもわからなくなるぞ。PostgreSQLの世界はこれが普通というのがないんだから。
0795790垢版2020/09/07(月) 20:41:28.81ID:???
>>793-794
大変ありがたい助言。参考にさせていただきます。
0796NAME IS NULL垢版2020/09/07(月) 20:58:30.91ID:???
>>792
Linuxがsystemd系ならsystemctlコマンドを使うべきだと思う。
挙動が違うかどうかは設定による。

そのへんが気になるなら、他人に聞くのではなく、自分で自分のマシンを確認するべき。
man systemd.serviceとかから?

https://qiita.com/JhonnyBravo/items/a28074c20fa9adf02be3
0797790垢版2020/09/09(水) 16:37:03.51ID:???
>>796 ありがとうございます。

その後、さらにいろいろ調べつつ試した結果、
PostgreSQLには同じ操作をするのにいくつかの異なる方法(ラッパー)が用意されていて
複雑であることが分かりました。

Linuxディストリビューションのパッケージを利用した場合、
そのディストロの流儀に第一に従うべきかもしれません。

とすると、root権限でもってsystemctlかserviceコマンドでPostgreSQLサーバを起動することになりそうですが、
PostgreSQL11のドキュメントには次のように書かれてありました。
https://www.postgresql.jp/document/11/html/server-start.html
{何を実行するにしても、サーバはPostgreSQLユーザアカウントで起動させなければなりません。
rootであってはいけませんし、他のユーザでもいけません。}
このドキュメントに従う場合、systemctlやserviceは使えなさそうです。

しかしpostgresになってpg_ctlclusterで起動したとき、
Warning: the cluster will not be running as a systemd service. Consider using systemctl
という警告メッセージが表示されるのでsystemctlを使うべきことを示唆しているように思えます。

ちなみに、pg_ctlclusterを使って起動した場合、
systemctl status postgresqlでは停止中と表示されてしまいます。

今のところ分かったのはこんなところです。
何かお気づきの点があったら助言いただけるとありがたいです。
0798790垢版2020/09/09(水) 17:20:50.29ID:???
pg_ctlclusterを使って起動した場合systemctlには反映されず、
systemctlを使って起動した場合pg_ctlclusterに反映されます。
0799NAME IS NULL垢版2020/09/09(水) 18:30:21.78ID:???
>>797
ためしにrootでsystemctl startしてから、起動されたプロセスのユーザーをpsでちゃんと確認してみろ。
rootで実行したからって、プロセスがrootとは限らん。
サービスの多くは専用ユーザーを割り当てるのがあたりまえ。ドキュメントにあるのはその念押しみたいなもん。

詳しくは、マシンにたぶんあるサービスのユニットファイル(サービス名.service?)を探して読め。
なかったら、init.dの起動スクリプトかな?
どうやって起動するかが書いてあるから。ユーザーとかオプションとか。
0800790垢版2020/09/09(水) 18:48:03.12ID:???
>>799
おっしゃるとおりでした。ps axuで調べたらUSERがpostgresでした。
0801NAME IS NULL垢版2020/09/09(水) 19:01:08.97ID:VZtlwKPH
ポスグレはOSと密接だからrootユーザーが基本。

SQL Serverは管理者権限のあるローカルユーザー

Oracle DatabaseはOracle Database専用ユーザーを作って使用する
0803NAME IS NULL垢版2020/09/09(水) 22:26:31.64ID:YAfXARE7
自分の知っている世界だけでものをいうやつは必ずいる。

必ずこうと言っているわけではないので、その人の主観ではおかしいことになるのは理解できる。
0804NAME IS NULL垢版2020/09/09(水) 22:29:22.49ID:YAfXARE7
ポスグレに関してはrootユーザー以外なら、ポスグレ専用ユーザーを作って使う。ポスグレがOSSだと知っていれば、いろんな権限がないと不都合なので、自身があれば自由にしてくれ。
0805NAME IS NULL垢版2020/09/10(木) 09:41:30.72ID:???
基本postgresで起動してます。
0806NAME IS NULL垢版2020/09/10(木) 10:54:47.51ID:???
まあ、ユーザーをそんなに意識することはないけどな。
サービスが起動されるときに自動的に使用されるもんだし、ログインして使うもんではないし。
0807NAME IS NULL垢版2020/09/10(木) 13:55:02.68ID:OD4PsCxP
>>806
はあ?
0808NAME IS NULL垢版2020/09/10(木) 13:56:08.44ID:OD4PsCxP
どのOSユーザーで動いているのか意識しないなんてありえないだろ
0809NAME IS NULL垢版2020/09/10(木) 15:16:28.78ID:???
いちいち意識なんかしねえわ。
最初にきっちり設定しとけよ。
0810NAME IS NULL垢版2020/09/10(木) 16:10:55.82ID:wACcj8kK
はあ?
0811NAME IS NULL垢版2020/09/10(木) 17:39:36.71ID:wACcj8kK
>>809 みたいなのがいるから、rootユーザーを使うことになったりする。
0813NAME IS NULL垢版2020/09/10(木) 21:58:14.13ID:OD4PsCxP
OSSなのに他人にお膳立てしてもらうが当たり前というのはおかしすぎる。
0814NAME IS NULL垢版2020/09/11(金) 18:24:10.01ID:???
てかrootでは動かさないでしょ。
0815NAME IS NULL垢版2020/09/11(金) 21:07:36.13ID:gHndXZTs
それはそれなりの知識があるひと
0816NAME IS NULL垢版2020/09/13(日) 15:02:23.76ID:???
Webプログラム上にrootという名前とパスワードを書き込んでおくのは常識
0817NAME IS NULL垢版2020/09/14(月) 00:56:50.02ID:ix9Okpm5
なぜマルチユーザーにしないといけないのかわかってないやつは、結局、何もかもできる便利な管理者ユーザーでやってしまう。
0819NAME IS NULL垢版2020/09/29(火) 01:09:03.01ID:???
学習していて、継続的アーカイブとポイントインタイムリカバリがよく分からないのですが・・・・
https://www.postgresql.jp/document/12/html/continuous-archiving.html
https://youtu.be/MCgWUyKQ6YM?t=2744
リストア時に消してしまうWAL(動画でいうWAL1~3)は、なぜ消してしまって復元できるのですか?
ドキュメントの方には、
>少なくともバックアップの開始時点まで遡る、連続した一連のアーカイブ済みWALファイルが必要です。
と買いてあるにもかかわらず、WAL1~3が抜けてしまって戻せる理由のが不思議でたまりません
0820NAME IS NULL垢版2020/09/29(火) 02:07:57.19ID:wMnFSP7q
>>819
それ資料と説明の仕方が悪いと思う。
WAL1〜3はアーカイブ(バックアップ)されているから大丈夫という意味だけど、メトロの女講師の説明がおかしくてわかりにくくなっている。

この講師の説明だとわかっている人間でないとわからないと思う。
0821NAME IS NULL垢版2020/09/29(火) 16:56:32.04ID:???
勝手にぽすぐれって読んでたんですが、みなさんぽすとぐれすって読んでるんですか?
0822NAME IS NULL垢版2020/09/29(火) 17:22:07.67ID:???
「ぽすとぐれすきゅーえる」
0824NAME IS NULL垢版2020/09/30(水) 00:42:01.27ID:w9Daxpvz
>>820
アーカイブされたWALはどこかにあるのが前提なんですね
ありがとうございます
0825NAME IS NULL垢版2020/10/01(木) 02:02:26.43ID:WR+ww7MA
>>821
ポスグレと呼ぶのは日本の通称

ポストグレスは英語圏の通称

ポストグレエスキューエルは、最近では無難な言い方。

ポストグレスキューエルは英語圏のださいオナニー表現で、あまり言われない。

技術者同士ならポスグレ、外国人がいる場合はポストグレス、一般人がいる場合はポストグレエスキューエル。

もともとはPostgresが製品名だから、グローバルではポストグレス。
0826NAME IS NULL垢版2020/10/01(木) 02:05:54.15ID:WR+ww7MA
>>824
アーカイブファイルに同じ番号をつけて説明しているから、あの動画はわかりにくい。

あの動画のメトロの女の知識があやしい。本当に理解してないのに台本を読んでいるから、あんな体たらくになっている。
0827NAME IS NULL垢版2020/10/01(木) 08:54:10.41ID:???
>>825
ポスグレって読んでたのが自分だけかと思ったのですが、日本の通称ならまあ間違いではなかったということですね
それなら今後もポスグレでいきます
0828NAME IS NULL垢版2020/10/01(木) 10:58:47.09ID:???
ポスト+イングレスが語源なんだから、やっぱポストグレスがかっこいいでしょ!
0829NAME IS NULL垢版2020/10/01(木) 11:47:46.04ID:???
英語ではpost-gresで2音節だけど
日本語でポストグレスというと6音節と長く
さらに「ト → グ」が発音しにくいので
ポスグレという呼びやすい略称が定着
0830NAME IS NULL垢版2020/10/01(木) 14:45:35.94ID:???
フルマネージドで外部から使えるサービスで、一番安いのってどこですか?
素人管理はやっぱ危ない気がしてきたぜ
0831NAME IS NULL垢版2020/10/02(金) 02:31:25.84ID:yhrmxStj
0832NAME IS NULL垢版2020/10/07(水) 00:15:45.67ID:5apiOPUy
>>830
AWSのRDS serverlessはどう?
要件わからんけど運用の手間はほとんどかからないイメージだけど。
0834NAME IS NULL垢版2020/10/07(水) 01:08:35.95ID:???
インフラもアプリも手間がかからないように開発しないと手詰まりになる
0835NAME IS NULL垢版2020/10/08(木) 17:51:39.15ID:???
Herokuのが比較的安いんじゃないの?
0836NAME IS NULL垢版2020/12/15(火) 20:25:47.29ID:???
13.1でレプリケーションできない……
0837NAME IS NULL垢版2020/12/23(水) 13:19:29.30ID:???
ロジカルレプリケーションで質問
pgadmin上からCREATE PUBLISHは出来たのにCREATE SUBSCRIPTIONがクエリ処理中のまま帰ってこない…これは何故?
wal_levelはパブリッシュ側、サブスク側共にlogicalにしてる
他になんか設定抜けてる?
アクセス設定は
all all 0.0.0.0/0
とかにはしてあるんだけど…
0838NAME IS NULL垢版2020/12/23(水) 14:56:50.38ID:???
自己解決
というかアクセス設定をmd5からtrustにしないとダメなの?
んー、なんか納得いかないんだけど…
0839NAME IS NULL垢版2020/12/23(水) 16:05:08.25ID:???
連投で申し訳ない
パブリッシュ、サブスクそれぞれの現在の状態ってどうやれば取れるの?
とあるホストで動いてるパブリッシュの一覧とか
サブスク側のサブスク一覧とか
エラーで止まってるとか、動いてるとかそういうの
0840NAME IS NULL垢版2020/12/23(水) 23:11:00.97ID:???
pg_stat_replication
pg_stat_subscription
かな。
状態確認するのならまず統計情報ビューを確認。
一覧だけならpsqlのメタコマンドにもあるみたい。
0842NAME IS NULL垢版2021/02/02(火) 20:47:00.35ID:???
あああああ
どこ見ても関数の引数がNULLだったときの動作が書いてない
なんかNullになるっぽいことが質問サイトとかかいてあるが
確実なことがなんもわからん

ただのTO_CHAR
公式ドキュメントから
SQL標準
はてはOracleまで似た情報内科みたのに

めちゃくちゃよく起こることじゃん
なんで?どうなってんのこれ?!
0843NAME IS NULL垢版2021/02/02(火) 21:57:46.85ID:???
SQL標準じゃなかったなんだこれ
有料って
0844NAME IS NULL垢版2021/02/03(水) 07:40:50.28ID:???
>>842
元々Oracle使ってた?
Oracleのnullの扱いが特殊で、nullに甘いと言うか…
気をつけた方がいいよ
特に文字列項目はnull非許容にした方が良い
0845NAME IS NULL垢版2021/02/09(火) 16:21:00.20
PGMiner 対策セキュリティとして、信頼できないユーザから pg_execute_server_program 特権を剥奪する手順を教えてください
0846NAME IS NULL垢版2021/02/17(水) 12:01:52.89ID:Cviyj/uB
PGMinerって初耳でした。難しいことやっているんですね。
でもそもそも信頼できないユーザからは実行出来なければいいんじゃないですかね?
とはいってもそんなことは百も承知だとは思うので、もしよかったらなんでユーザ制御のみではいけないのか教えてもらえませんか?
どういうシステムか興味があるので。
0847NAME IS NULL垢版2021/02/26(金) 00:22:50.28ID:???
pg_execute_server_programって明示的に与えない限り付与されないんだから、
管理者権限の管理と監査しかないんじゃないの。
0848NAME IS NULL垢版2021/03/30(火) 20:11:49.15ID:???
>>841です
色んな状態をPgAdminのクエリから取得出来るのは分かったけどロジカルレプリケーション自体を管理するソフトみたいなのはないのね…
ロジカルレプリケーション管理ソフトのオススメあったら教えて
出来ればGUIでグラフィカルにこのマシンのこのDBをPUBLICATIONに設定
別のマシンのこのDBをドラッグ&ドロップでSUBSCRIPTIONに設定みたいなソフトあると嬉しい
無いなら管理ソフト作るつもりだけど…面倒なので既にあるならそっち使いたい…
0849NAME IS NULL垢版2021/04/17(土) 07:20:29.92ID:???
JDBCがExceptionでもエラーログ吐かないとかあたまおかしくないですか
0850NAME IS NULL垢版2021/04/19(月) 23:40:19.66ID:???
JDBCドライバがログ吐くの、それめっちゃウザいのでは…
それくらいアプリ側で捕捉して、アプリ側が思うようにログ吐こうぜ
0852NAME IS NULL垢版2021/04/23(金) 10:12:55.83ID:???
Windows10でグループポリシーのスタート/シャットダウンスクリプトで他PCにSQLコマンド送信しようとすると止まってしまうけやり方が悪いんかな
0853NAME IS NULL垢版2021/04/24(土) 13:43:32.69ID:???
>>851
NetCOBOLでプログラムソース引き継ぎリコンパイルか
大変だな
0854NAME IS NULL垢版2021/04/27(火) 23:48:06.73ID:???
Windowsでログを日本語にしている場合、基本Shift-JISだけどたまにUTF-8で書かれて文字化けするのどうすばなおるの?
例えばこれはUTF-8で書かれてしまう "自動VACUUM: 孤立した一時テーブル"postgres.pg_temp_3.fetchchunks"を削除します"
0855NAME IS NULL垢版2021/04/28(水) 15:09:49.51ID:???
shift-jisでログを吐くように設定すれば良いのは?
0856NAME IS NULL垢版2021/04/29(木) 00:13:03.06ID:???
japanese_japan.932に設定しててほとんどはそれで書き込まれるけどごく一部だけ文字化けしてる。試しにUTF-8で開いたらその文字化けしてた行だけは読めた
0857NAME IS NULL垢版2021/05/02(日) 19:46:23.65ID:wsYqUZcK
いまどきSJISにこだわる方がめずらしい
0858NAME IS NULL垢版2021/05/25(火) 22:01:00.99ID:RGVH5/nc
pgAdmin3ってPosgreのバージョンいくつまで対応してるの?
pgAdmin4はブラウザアプリになっちゃって使い悪すぎる・・・
0859NAME IS NULL垢版2021/05/26(水) 12:21:57.19ID:???
>>858
4が9.2からだから、その前までじゃね?
あと、PostgreSQLね
0860NAME IS NULL垢版2021/05/28(金) 01:23:41.94ID:???
PostgreSQL 13のCOPYコマンドでCSVファイルをテーブルへインポートするとき、
CSVファイルの一行あたりの値の数とテーブルの列数が同じときは
テーブルの列名を指定しないでもインポートできるじゃないですが

これなんですが、CSVファイルは1行にデータが500個あって、テーブルが501列ある、なんて場合、
列名を指定しないと「missing data for column 〇〇」なんて出てしまいますが、エラーを出させず、
テーブルの先頭500列にだけ値を入れたいって場合って、
やっぱりCOPYするときに列名を指定しないとダメですかね

同じようなことをしたいテーブルが沢山あるのですが、列数が200とか300とかそんなのばかりで
どうにか手間をかけずにできないか方法探してます
0861NAME IS NULL垢版2021/05/28(金) 10:12:09.01ID:???
COPYコマンドだけで対処する方法はないんじゃないか?

csvkitみたいの使ってCOPY FROM PROGRAMするか
カラム指定付きのCOPYコマンドを生成する簡単なスクリプトを書くかかな
0862NAME IS NULL垢版2021/05/28(金) 15:35:39.72ID:+xuXkEOK
csvの全ての行の最後にカンマ入れればいいんじゃない?
0863NAME IS NULL垢版2021/05/29(土) 13:46:07.10ID:???
回答どうもです

>>861
そうですか…
COPYコマンド作成スクリプト、かなぁ

>>862
たしかにそれもよさそうですね


やり方考えてみます
0864NAME IS NULL垢版2021/06/09(水) 17:17:07.70ID:AdD21f7d
Pgadmin4 で外部プログラムを呼び出したり
プラグインを追加したりってどうやったらできますでしょうか。
0865NAME IS NULL垢版2021/06/12(土) 17:46:40.22ID:???
すいません。教えてください。

Win10にPostgresqlを何度かインストールしているのですが、psqlに”そのパスワードしらね”って言われてしまいます。

此方を参考にしてみたんですが、pgpass.confが見つかりませんでした。
他に何かインストール時に気を付ける事は有りますか??
0866865垢版2021/06/12(土) 19:38:34.99ID:???
解決しました。どうもすいません。
0868NAME IS NULL垢版2021/06/20(日) 17:27:25.64ID:SzsdKFeb
PostgreSQL 10 で判らないことあるんだけど、教えてクレメンス・・・m(_ _)m

バージョン10.16(Ubuntu18.04 LTSの aptコマンドで入れられる最新?)でDBの操作は全部phppgadmin入れてブラウザからやってる.
で、phppgadminで「SQL」ってリンクがあってそれを使ってSQL実行するとエラーになる。
phppgadmin使うのが悪いのか、phppgadminで書いてるSQLが悪いのか、ほかに理由があるのか、素人なのでわからんのです。

tagIndexっていうテーブルを作って、booleanでoutputflag ってのを定義しておいて、
UPDATE public."tagIndex" SET outputflag='f
で「tagIndexっていうテーブルがない」(relation "public.tagIndex" dose not exist)って怒られる。

C#のNpgSQLつかってupdate文でそのテーブルの更新はできてる。
phppgadminで中身弄ろうとしてうまくいかない。
エラーになってるSQLが、SET句でエラーになるなら 'f' じゃなくて false と書けばいいんじゃね?とか想像つくけどテーブルが無いといわれるとお手上げっす・・・orz
0869NAME IS NULL垢版2021/06/20(日) 17:51:48.33ID:???
自己解決。
update "public"."tagIndex" SET outputflag=true;
で行けた。
public."テーブル名” と "public"."テーブル名" っていう、スキーマも "" でくくってるかどうかの違いだけ・・・?
83.とか9.2の頃はこんなことやらなくてもよかったような覚えがあるから「面倒になったなー」ってのが正直な感想でした・・・
0870NAME IS NULL垢版2021/06/21(月) 08:26:27.75ID:???
> UPDATE public."tagIndex" SET outputflag='f';
PostgreSQL 11.10でも別にエラーにならないみたいよ
ttps://extendsclass.com/postgresql/4f05be9
0871NAME IS NULL垢版2021/07/29(木) 19:18:55.63ID:???
PostgreSQLでのテーブルの列数の上限は1,600列までですが、
私のデータでは5,000列のテーブルが必要です。
先ほどCREATE TABLEをしようとしたらエラーが出ました。
列数が3列のときは正常にテーブルが作成できます。

多分、1,000列ずつに分割して、あとで結合するのだと思いますが、
その参考となるサイトをご存じないでしょうか?
検索してもまったく見つかりません。
0873NAME IS NULL垢版2021/07/29(木) 20:21:10.97ID:???
>>871
共通のPrimary Key + 他の列で分割すればいいだけ

まあ5,000列はRDBで扱うのに適さないから
リファクタリングするか目的に適した別の仕組みを使ったほうがいいぞ
0874NAME IS NULL垢版2021/07/29(木) 22:51:58.63ID:???
>>872
ありがとうございます。
そのサイトは質問前に読んでいましたが、具体的にイメージできなかったです。

一人目の回答者の勧めるソースコードの変更は、
不具合が出るリスクがある上に、会社の他の人たちにも使ってもらうので難しいです。

二人目の回答者は、複数のテーブルに保存し、Viewを使ってデータを提供する方法を勧めているようです。
ただ、Viewもテーブルと同様の列数の制限がある、と書いてあるので
「結局、できるの?できないの?どっちなの?」という感じです・・・。
ちなみに、ユーザーはGUIで操作するだけで、クエリーはそれに基づいてプログラム内で生成するので、
ややこしいクエリーになっても対応できます。

三人目の回答者は、
1. 1,600列無くてもいいように再設計する
→できるならそうしたいですが、方法が分かりません

2. 超過した列にはJSON/JSONBフィールドを使う
→JSONは分かりますが、どんな技なのか分かりません

3. スプレッドシートのようなテーブルにする
→これは、spreadsheet_tableが親でspreadsheet_cellが子みたいになっていて、
spreadsheet_cell一つにつき一つのデータが入るようになっていますか?
(行、列)を(1, 1), (1, 2), (1, 3), …と変えていくことでセルの位置を指定できるみたいですね。
ただ、検索などは非常に遅そうですね…。
0875NAME IS NULL垢版2021/07/29(木) 23:11:16.18ID:???
>>873
ありがとうございます。

> 共通のPrimary Key + 他の列で分割すればいいだけ

具体的にはどうなりますか?
私の場合を説明しますと、
データ列が始まるまでに5列ほど属性がありまして
そのうちの最初の2列がPrimary Keyです。

一枚岩だとこんな感じです:

Lot (PK), Number (PK), X, Y, Z, Data0001, Data0002, ... Data5000

これを
Lot (PK), Number (PK), X, Y, Z, Data0001, Data0002, ... Data5000
Lot (PK), Number (PK), X, Y, Z, Data1001, Data1002, ... Data2000
Lot (PK), Number (PK), X, Y, Z, Data2001, Data2002, ... Data3000
Lot (PK), Number (PK), X, Y, Z, Data3001, Data3002, ... Data4000
Lot (PK), Number (PK), X, Y, Z, Data4001, Data4002, ... Data5000
…に分ける感じですか?

ただ、これだとX, Y, Zが無駄に被るので正規化して
Lot (PK), Number (PK), X, Y, Z
だけのテーブルを作り、
Lot (PK), Number (PK), Data0001, Data0002, ... Data5000
Lot (PK), Number (PK), Data1001, Data1002, ... Data2000
Lot (PK), Number (PK), Data2001, Data2002, ... Data3000
Lot (PK), Number (PK), Data3001, Data3002, ... Data4000
Lot (PK), Number (PK), Data4001, Data4002, ... Data5000
…にする感じでしょうか?
0876NAME IS NULL垢版2021/07/30(金) 05:02:43.72ID:???
>>875
それよほど特殊な事情がない限りRDB的には列持ちじゃなく行持ちにするケースだと思う

親テーブル: Lot (PK), Number (PK), X, Y, Z
子テーブル: Lot (PK), Number (PK), Data_No (PK), Data

この形だと親テーブルのレコード1件に対し子テーブルのレコードが5000件

特殊事情があるなら
そういう同じ種類のデータの繰り返しはArray Type使う
https://www.postgresql.org/docs/13/arrays.html
0877NAME IS NULL垢版2021/07/30(金) 09:29:15.13ID:???
>>871
これは余計なお世話だけど、どの設計がよいかを単体で検証すると思うんだが、
将来的にデータ量や参照量や更新量が増えた場合の速度低下(レスポンス)や、
データ構造(列数とかデータ型)が変わったときの保守に要する時間(ダウンタイム)も考慮して
比較したほうがいいぞ。大量の実データがなくてもダミーデータを生成して。
0879NAME IS NULL垢版2021/07/30(金) 13:20:59.93ID:???
>>877
>将来的にデータ量や参照量や更新量が増えた場合

そういう用途だとは思えないけどな
0880NAME IS NULL垢版2021/07/30(金) 15:12:00.47ID:???
>>876
ありがとうございます。

>親テーブル: Lot (PK), Number (PK), X, Y, Z
>子テーブル: Lot (PK), Number (PK), Data_No (PK), Data
>
>この形だと親テーブルのレコード1件に対し子テーブルのレコードが5000件

はい、エラーが回避できるならその形式でもいいです。
ただ、行も10万件/1製品ぐらいあります。
この場合、1製品分の全データだと

親テーブルのレコードが100,000件
子テーブルのレコードが5,000件*100,000件=500,000,000件 (5億件)

…になります。
しかも、こういうデータが数十製品あります。
これは特殊な事情に該当しますでしょうか?

ちなみに、データ部分は同じ種類のデータの繰り返し(すべてfloat)ではあります。

上記を踏まえますと、Array Typeの方が近道そうでしょうか?
すみません、DBはド素人ですので…。
0881NAME IS NULL垢版2021/07/30(金) 15:25:46.09ID:???
>>877
ありがとうございます。

仰る通り、実行速度や保守性も考慮したいです。
5,000列というのは平均値で、増える傾向にありますが、今後も10,000列は超えないと予想されています。

データ自体は一度読み込んだら更新は必要ありませんが、計算結果はDBに残したいです。
新規製品のテーブル追加は大量に発生します。

大量の実データは既にあります。
0882NAME IS NULL垢版2021/07/30(金) 15:38:23.12ID:???
>>878
きっと、私の実力的に無理という話ですよね。
DBはド素人で、このデータ量でどのぐらいの速度で動作するのか不明なので、
まずは動作するものを実装したいです。
0883NAME IS NULL垢版2021/07/30(金) 15:47:22.90ID:???
>>879
そういう用途に該当するかどうか、軽く説明しておきます。

1製品のデータ量は
100,000行
10,000列
が上限とします。
しかし、そんなデータが数十製品×数十ロットあります。

参照量はユーザー数が増えると増えますが、
ユーザー数は多くて300人程度、
同時に使用するのは多くて10〜20人程度と考えます。

(計算結果をDBに残さずに、Excel形式で残す方式であれば)
更新量をゼロにできます。
0884NAME IS NULL垢版2021/07/30(金) 15:57:18.46ID:???
それだけの規模は、まったくの初心者がやるもんでもなさそうな。
失敗上等な状況ならええけど。

ほかに頼んだほうがええんちゃうかなー。。。
0885NAME IS NULL垢版2021/07/30(金) 15:59:22.09ID:???
>>880
どういう構造にするのがいいかはデータ量やデータ型以外にそのデータをどう利用するのかに強く依存してる

特殊事情ってのは行持ちだとどうしても困る、求められる要件を実現できないという事情

その判断自体が難しいようなら
性能面の検証も含めてDB設計してくれるところに依頼するか
自分で色んなやり方を試して検証してみるかになるよ
0886NAME IS NULL垢版2021/07/30(金) 16:38:12.93ID:???
読み取り専用で特定のデータ列だけ欲しいとか
特定のデータ列がある範囲にあるものが欲しいとかそういうクエリがなくて
データ列は常に全部一括で取得して計算処理する前提なら列持ち(横持ち)を軸に考えてもいいと思うよ

その場合は自分ならまずArrayを試す
(RDB前提でかつPostgres前提の場合に限るけど)
0887NAME IS NULL垢版2021/07/30(金) 16:40:06.84ID:???
時系列の生の実測データだとは思ってたけど
それ300人で使うってなんかすごいね

サマったデータだけ使えればいいような気がするんだけど
300人が違う角度で生データから統計処理とかしたい感じなのかな?
0888NAME IS NULL垢版2021/07/30(金) 16:40:26.34ID:???
>>884-885
お二人ともありがとうございます。

そうですね、まったくの初心者にしては規模が大きいですよね。

お陰様で、いくつか選択肢が見えてきたので、まずは自分で試してみます。
Array Typeが条件(同じ種類のデータの繰り返し)に合ってそうなので、まずはそれを実装してみます。
行持ちも出来るならやってみて実行速度などを比較できるといいですね。
0889NAME IS NULL垢版2021/07/30(金) 16:47:46.33ID:???
>>886
ありがとうございます。

はい、全部一括で計算処理する前提です。
すみません、列持ち(横持ち)というのは、私が>>875で書いた、

Lot (PK), Number (PK), X, Y, Z
だけのテーブルを作り、
Lot (PK), Number (PK), Data0001, Data0002, ... Data5000
Lot (PK), Number (PK), Data1001, Data1002, ... Data2000
Lot (PK), Number (PK), Data2001, Data2002, ... Data3000
Lot (PK), Number (PK), Data3001, Data3002, ... Data4000
Lot (PK), Number (PK), Data4001, Data4002, ... Data5000

…のような感じでしょうか?

Arrayが良さそうなんですね。
環境は RDB かつ Postgres ですのでOKです。
では、やはりまずはArrayから試してみます。
0890NAME IS NULL垢版2021/07/30(金) 16:52:57.74ID:???
>>887
はい、その通りです。
基本の統計情報は全部一括ですが、
測定項目同士の相関などは各人が個別に見る感じです。
0891NAME IS NULL垢版2021/07/30(金) 18:24:46.83ID:???
Lot,Number毎に扱うのであれば、
Lot (PK), Number (PK), X, Y, Z, data
ってテーブルにして、データをJSONとか扱いやすいテキストにしてdataカラムにぶちこんでおくってのも楽かもよ
0892NAME IS NULL垢版2021/07/30(金) 19:10:18.41ID:???
列の変更があったらALTER TABLEなん?
死にそう。w
0893NAME IS NULL垢版2021/08/04(水) 10:33:52.80ID:wV6VxXcY
1つのテーブルがそんなに大きいなんて、やりたいことは単純かもしれないけど、運用は上級じゃない?
300人もいるなら他に誰か適任者いないの? 悲惨な未来しか見えない。。
そもそも新人だって言うなら、クリティカルな業務ではないのだろうけど。
0894NAME IS NULL垢版2021/08/04(水) 11:59:15.12ID:???
システムのユーザーから適任者を探すなよw
0895NAME IS NULL垢版2021/08/25(水) 11:23:43.02ID:???
Azureでデータベース間通信するには
Azureサービスに対してアクセス全開放しないとできないと言われとても困ってる
Awsも同じなんだろうか
同じデータベースに違うソースのまぜるってやりたくないな
0896NAME IS NULL垢版2021/09/07(火) 02:58:44.49ID:???
PG-Stromって実際お幾ら万円なんですか?
何万円なのか、何十万円なのか、何百万円なのか、オーダーだけでも知りたい
0898NAME IS NULL垢版2021/12/14(火) 12:56:49.87ID:???
pdadmin自体は関係ないけど
server modeで使っててweb serverでlog4j使ってるなら対策必要
0899NAME IS NULL垢版2021/12/15(水) 13:08:50.65ID:???
>>897
PostgreSQL無関係
基本的にJavaのセキュリティホール
0901NAME IS NULL垢版2021/12/19(日) 20:47:52.52ID:???
ワイ、ブラウザ(chrome)使ってpgadminいじってるって事は、Apache使ってるんじゃ?とか思ったんだが、そーでもないのか。
0902NAME IS NULL垢版2021/12/19(日) 20:54:33.27ID:???
使ってる可能性はあるね
0903NAME IS NULL垢版2021/12/20(月) 19:50:36.09ID:uLvX1nGX
pgAdminそのものの内部はWebブラウザだけどな。
0905NAME IS NULL垢版2022/02/13(日) 20:18:49.90ID:dbvh1W1h
初心者です。
hinemos の環境移行をしようと、DBのdump で過去Data移行できないか試しています。

DB のdump は下記コマンドで吸い出しました。
./pg_dump -h localhost -U hinemos -p 24001 > /tmp/hinemos.sql

リストアコマンドが判りません、そうすれば入りますか?
./psql -h localhost -p 24001 -U hinemos -f /tmp/hinemos.sql

これだと、「ERROR:」がいっぱい出ます。
0906NAME IS NULL垢版2022/02/15(火) 23:32:04.39ID:???
>これだと、「ERROR:」がいっぱい出ます。
多分既にテーブルがある状態でリストアしようとしてエラーがでていると予想
もしそうなら↓のどっちかで対応できると思う
・dbを空に(一度dropして再度作成)してリストアを実行
・ダンプ時に-cをつける(バージョンによっては--if-existsもつける)
pg_dump -h localhost -U hinemos -p 24001 --if-exists -c > /tmp/hinemos.sql
0907NAME IS NULL垢版2022/03/16(水) 12:05:05.76ID:???
function内からprocedure呼び出せる?
0909NAME IS NULL垢版2022/03/16(水) 15:22:19.33ID:???
質問なのですが
インデックスがある一時テーブルにselectかけるとき
ヒント区index scanを指定しても
いくらやっても適用されず
実行計画を見てもbitmap index scanになってしまいます。
どなたかこの問題に心当たりのある方いらっしゃいませんか?
posgre側がこっちの方が早いからと判断してやってるのかかと思ったのですが、bitmapの方が遅いんですよね…
0910NAME IS NULL垢版2022/03/16(水) 17:00:32.15ID:???
>>909
まずはEXPLAIN ANALYZE <query> でestimated rowsとactual rowsの差を確認
次にANALYZE <table>を実行してからEXPLAIN ANALYZEして差が出るかどうかを確認
0911NAME IS NULL垢版2022/03/17(木) 19:17:55.47ID:???
>>910
確認してからまた対応が違うってことかな?
もうちょい噛み砕いてけろぉ、おじさんsql詳しくナインだよ
0912NAME IS NULL垢版2022/03/18(金) 22:39:42.10ID:???
>>911
SQL関係ない。
実行計画を判断する元になる情報が実態とあってるかを確認しろって909は言ってる。
一時テーブルはautovacuum 対象外だからそのセッション内でanalyzeする必要あるはず。
0913NAME IS NULL垢版2022/04/21(木) 11:19:04.35ID:EBqMDuxt
ロールの権限について学習したいので教えてください
https://www.postgresql.jp/document/13/html/sql-grant.html
データベースオブジェクト間で包含関係にあるものの権限や、デフォルトの権限についてよくわかりません
あるロールにデータベースに権限を与えた場合、中のテーブル等にも権限を与えたことにはなるのですか?
逆に、テーブルのみに権限を与えた場合、データベースのアクセス権限は自動的に与えられるのですか?
0914NAME IS NULL垢版2022/04/22(金) 01:22:01.50ID:Ie5idS4k
>>913
データベース単位の権限なんてまず使わないと思うぞ。アクセスできるかできないかくらいの制御程度しかできない。

そんな粒度では意味がないし。

テーブル単位の権限付与が面倒だから、特定の権限をまとめたロールを作って、ロールで権限を付与する。
0915sage垢版2022/05/16(月) 11:30:34.60ID:oLXz7yW/
win10 pro postgresql11について質問させてください。

postgresqlのサービスを止めることなく、w10標準のバックアップツールで\dataをフォルダごとnasにバックアップして問題ないでしょうか?
0916NAME IS NULL垢版2022/05/16(月) 23:58:56.09ID:???
例えば↓みたいになったとしたら
 バックアップツールがファイルAをコピー
 バックアップツールがファイルBをコピー
 DBがファイルAとCにデータを書き込む
 バックアップツールがファイルCをコピー
コピー先のファイルAはDBがデータを書き込む前の内容で、ファイルCはDBがデータを書き込んだ後の内容になるので困ると思う

25.2. ファイルシステムレベルのバックアップ
https://www.postgresql.jp/document/11/html/backup-file.html
0917NAME IS NULL垢版2022/05/17(火) 14:58:03.20ID:gyj+zyNH
ありがとうございます。サービスを止めてからバックアップすることにします。
0920NAME IS NULL垢版2022/05/23(月) 16:08:07.40ID:???
https://www.postgresql.jp/document/11/html/app-pgdump.html
> pg_dumpはPostgreSQLデータベースをバックアップするユーティリティです。 データベースを使用中であっても一貫性のあるバックアップを作成することができます。 pg_dumpは他のユーザによるデータベースへのアクセス(読み書き)をブロックしません。
0921NAME IS NULL垢版2022/05/28(土) 17:48:41.65ID:???
pg_basebackup使えば稼働中でもデータディレクトリまるごとバックアップできる。
ただし対象サーバーがレプリケーションのマスターとして動作できるように設定しておく必要あり。
0922NAME IS NULL垢版2022/07/23(土) 09:36:40.59ID:NLDFJYg2
15でpublicに書き込めなくうんたら
0923NAME IS NULL垢版2022/08/08(月) 14:45:02.64ID:???
教えてください。
ECPGからPostgresqlのストアドを呼び出し、結果をchar型の配列で受け取りたいのですがうまくいかなくて…
そもそも出来るのでしょうか?
0927NAME IS NULL垢版2022/08/08(月) 15:12:00.49ID:???
そもそもストアドで配列で値返せるのか?
ファンクションになるんじゃ無いの?
0929NAME IS NULL垢版2022/08/08(月) 16:12:13.46ID:???
intの配列だとうまくいくんですよね…
0932NAME IS NULL垢版2022/08/08(月) 18:46:18.87ID:???
text[]有るやろ?
何でcharなん?
0933NAME IS NULL垢版2022/08/08(月) 19:00:51.58ID:???
Cとの型変換が必要かどうかで違いがあるんじゃないの?
charじゃなく”char”ならOKとか
0934NAME IS NULL垢版2022/08/08(月) 19:11:53.86ID:???
質問者来なくなったな
textで答え出たからな
0935NAME IS NULL垢版2022/08/08(月) 21:47:30.56ID:Qb/hdlom
Postgresの文字列型はtext型とみなす仕様が根底にある。

同じ文字データ型でもキャストがうまくいかないのがはまるところ。
0936NAME IS NULL垢版2022/08/08(月) 23:28:34.06ID:???
>>931
ありがとうございます!
今まで色々やってみてまだ出来ていないです…
明日やってみます!
0937NAME IS NULL垢版2022/08/08(月) 23:31:07.14ID:???
>>932、933、934、935
ありがとうございます!
明日も色々やってみます。
0938NAME IS NULL垢版2022/08/09(火) 09:59:56.87ID:???
やっぱりECPGの実行体起動すると以下で落ちちゃいますね…
[malformed array literal: "" on line 53][-400]
0939NAME IS NULL垢版2022/08/27(土) 18:04:49.07ID:p6dR8Je4
zip版ダウンロードしたら、pgAdmin4のフォルダ名が長すぎて解凍失敗するわ。
こないだまで解凍出来たのに。

インストーラー使ってインストールしたらアンインストール中にエラーになるわ。

255文字制限解除しないと使えないのが普通だっけ?
0940NAME IS NULL垢版2022/08/27(土) 18:16:43.57ID:???
>>939
プラットフォーム名が書かれていないし、「255文字制限解除」が何か分からないので外すかもしれんが、
インストール先のファイルシステムはサポートされているもの?
仮にWindowsとした場合、FATやFAT32はサポートされていない。

それから、これは未確認だけど、もし新しいZIP64フォーマットが採用されてるなら、対応するアーカイバを使うとか。
パーミッション、あるいは空き容量が不足していて伸長が正しくできない可能性は?
0941NAME IS NULL垢版2022/09/19(月) 22:35:54.64ID:???
zip解凍できないのはpostgre以前にOSの問題だね。
0942NAME IS NULL垢版2022/09/19(月) 22:41:45.27ID:???
問題ではなく、仕様やろ。
C:¥ルートにでも展開すりゃええんちゃうの?
0943NAME IS NULL垢版2022/09/28(水) 23:41:12.68ID:???
少しお聞きしたいのですが
現在社内にある旧商品管理鯖(引退済み)のマシンを引っ張り出してきたのですが
PostgreSQLのVerが7.3.10でした。
この状態からpg_dumpallでデータを取り出すことは出来たのですが、
別のサーバにPostgreSQLのVer12をインストールして、
イカのコマンドを打ったところ、
psql -U postgres -f /backup.db > update.log
画像の様な状態になってどうしたものかと考えております。
エラーでキーが重複してることや、
multiple primary keys for table are not allowedのように
複数の主キーは許可されていませんと出てきているのですが、
これは、SQLのバージョンを一気に上げすぎているからなのでしょうか?
それとも、データベース自体が壊れている可能性があるのでしょうか?
(過去に鯖の半クラッシュが何度かあった模様)
よろしくお願いします。
https://i.imgur.com/daRuFqr.jpg
https://i.imgur.com/pCXROZr.jpg
0944NAME IS NULL垢版2022/09/29(木) 05:03:21.04ID:???
自分なら、その方法がサポートされているか(バージョン間、手順)を調べて、
サポートされているようならログを見て起こっている問題・原因を把握したうえで対策を考える。
0945NAME IS NULL垢版2022/09/30(金) 22:50:06.19ID:???
duplicate key value violates unique constraintとかあるようだけど、DBに既にテーブルがあったりしない?
0946NAME IS NULL垢版2022/12/08(木) 00:04:47.29ID:pHlq3Sz7
初心者ですみません。既存TBLにカラム追加してレングス変わると影響大きいですか?当初TBL設計時にFILLER積んだほうが良いのでしょうか?
0947NAME IS NULL垢版2022/12/08(木) 02:20:31.77ID:???
仕事で使ってるけど必要になったらカラムどんどん追加してるよ
0948NAME IS NULL垢版2022/12/09(金) 12:22:34.66ID:???
そんなのプログラムの作りによるんじゃないの
DBに依存しまくってると苦労する
0949NAME IS NULL垢版2023/01/15(日) 23:52:41.89ID:SdlFKp5i
ブチクシは悩み続けて3年
0950NAME IS NULL垢版2023/01/19(木) 07:06:46.65ID:???
ちんちん!シュッ!シュッ!シュッ!
0951NAME IS NULL垢版2023/01/19(木) 22:38:06.23ID:jlE8WkqW
>>946
メインフレームのファイルのようなものじゃなくて、データファイルの内部は頻繁にデータの位置を変えている。

そんな古風な仕組みではない。
0952NAME IS NULL垢版2023/01/20(金) 13:33:44.34ID:???
カラム情報としてポインタになってるだけだね。適当
0953NAME IS NULL垢版2023/03/11(土) 05:08:19.44ID:aB1pzwA3
外部キー制約を一時的に変更するにはどうすればいいでしょうか?
通常は、ON UPDATE RESTRICT で、一時的に ON UPDATE CASCADE にしてクエリ実行後に RESTRICT に戻すにはどうすればいいのでしょうか?
ADD CONSTRAINT と DROP CONSTRAINT の方法は分かるのですが・・・
0954NAME IS NULL垢版2023/03/11(土) 16:56:32.01ID:???
ALTER TABLEのALTER CONSTRAINTではできないのでDROP/ADDする

ALTER TABLE <table_name>
DROP CONSTRAINT <fk_name>,
ADD CONSTRAINT <fk_name> FOREGIN KEY … ON UPDATE CASCADE;
0955NAME IS NULL垢版2023/04/22(土) 19:34:36.35ID:g9MOSe1r
物理外部キーを作るくらいなら、論理外部キーとしておいた方が楽。

ガチガチにしておいても、エラーハンドリングの実装がなければ意味がない。
0956NAME IS NULL垢版2023/06/25(日) 23:14:20.40ID:???
update on conflictを使いまくってるとシーケンス値が上がりまくって、primary keyのidの値が飛びまくるんだけど
気にしたら負けかな。
もちろん綺麗に1 2 3とならない事は認識してるけど、1 1235 5493 29849 みたいに膨大な数飛びまくると…。

99%がupdateの場合なんだけど、update returningして件だったらinsertにした方がいいのかな
その場合ロックとか考えなきゃいけないのが大変なんだけど、もう避けられないのかな
0957NAME IS NULL垢版2023/06/26(月) 18:19:47.60ID:???
insert on conflict do update(いわゆるupsert)のことだよね?
conflictの条件をprimary keyにできないならPKのシーケンスが飛びまくるのはしょうがないと思う
ただ99%がupdateならupdateしてからinsertのほうが性能は良くなるような気がする

ロックを考えなきゃいけないというのはよくわからない
今も同じじゃない?
0958NAME IS NULL垢版2023/06/26(月) 20:59:21.79ID:???
言いたいのはロックじゃなくてトランザクションじゃないかな
0959NAME IS NULL垢版2023/06/26(月) 22:46:26.10ID:???
>>957-958
ありがとうございます。
on conflict do updateであれば、トランザクション貼らずともコマンドを実行するだけで確実にinsertかupdateが確定で成功するけど
update → insertだと両方updateが0件になって両方insertしようとして片方がエラー という事が起きるかなと認識していました
0960NAME IS NULL垢版2023/06/27(火) 01:12:04.51ID:???
update → insert on conflict do updateをトランザクションでくくれば今と同じなんじゃないかな

ただREAD COMMITEDならlost updateが発生してるだろうから
本当にそれが望ましいのかよく考えたほうがいいと思う
0961NAME IS NULL垢版2023/07/02(日) 05:52:54.79ID:???
insert into 〜 on conflict do updateでシーケンス値が増えるのが我慢できなくて
insert into 〜 on conflict do update相当の処理をトランザクションで書いているのですが
これって最終的にテーブルに対してACCESS exclusiveロック(selectすら妨害する最強ロック)をかける事が必須だったりしますか?

上記のクエリと同じ処理を行いたい場合、以下の処理を行う必要があると思います
・select文で該当の行が既にあるかをチェック
・select文の結果を見て、該当の行があればupdate
・select文の結果を見て、該当の行が無ければinsert

トランザクション1と2が両方同じタイミングでselect文を発行して、どっちもresultが0だった場合、どっちもinsertをしようとしてしまう。
だからどちらか片方のselect文は、他のinsertが終わるまで待ってから行って、result 1を取得する必要がある。

最初は行ロックでいいかな?と思ったのですが、最初にselectをした段階で対象の行は「存在しない」ので行ロックがかけれません。
となると、対象のテーブルに一番強い権限のACCESS exclusiveロックをかける必要がある?と思います。

ですが、それだとdo updateとは無関係のただのselect文に対してもロックがかかってしまいます。
この一連のdo update〜の処理でだけ排他ロックをかけたいのですが、そんな事出来るのでしょうか?
0962NAME IS NULL垢版2023/07/02(日) 06:05:07.53ID:???
違った。
SHARE UPDATE exclusiveモードを使えばよかったのか
失礼しました
0964962垢版2023/07/02(日) 22:36:06.35ID:???
同じ話題を引っ張り続けて申し訳ないけど、自分でinsert〜on conflict do update(upsert)相当の事をするのが面倒すぎて、趣味ですら面倒で手が止まる。
仕事じゃ絶対提案出来ないな(ダルすぎて)
自分の場合は実際には1000件単位のデータをupsertしてるんだけど、この数だと1件づつselect→(update or insert)は遅すぎる。
select文で1000件のデータのユニークキーに対して長いwhere 文を作る。
( SELECT id,key FROM tbl WHERE key in ( $1 , $2 , $3 .... , $1000) )

select文の結果を入れたい1000件単位のデータと比較して、1件づつinsertするかupdateするかを判定する
insert、updateも1件づつやるとトランザクションしても遅いから1リクエストで済むように動的にクエリ文を作る。
( INSERT INTO tbl (key) VALUES ($1),($2)... )
( UPDATE tbl SET key=c.key FROM( VALUES ( ($1,$2),($3,$4),...) AS c(id,key) WHERE tbl.id=c.id )

そしてupsertから加えた機能で、含まれてないデータをDELETEもするようにしてるからさらにクエリ文が増える。

SQL文の文字列をプログラムから動的に作るんじゃなくて、
O/Rマッパーというのを使ってもっと構造的に出来るようにするべきなんだろうか…。
ちなみにnode.jsです。
0965NAME IS NULL垢版2023/07/03(月) 00:19:11.21ID:???
その1000件とかの入力データに同じユニークキーを対象としたデータがあった場合にどうしたいの?
何か累積値や合計値を計算してて必ずカウントアップしていかないといけないとか
入力データ内の順序で後のデータを正として先のデータは捨てられてもいいとか

>>962
>SHARE UPDATE exclusiveモードを使えばよかったのか
これだとテーブルロックになるので1つのトランザクションが終了するまで次のトランザクションは待つことになる
これで十分なユースケースならそもそも同じキーに対して同時にinsertが実行される心配しなくてもいいよね?分離レベルをSerializableにすれば該当キーがロックされるだけで済むはず
0966NAME IS NULL垢版2023/07/03(月) 03:52:15.72ID:???
ごめんなさい、SQLクエリについてはSHARE UPDATE exclusiveのロックを取得する。で何の問題もありません。

自分が今悩んでいるのは、SQL文が動的になって書くのが大変という事です。
1000件あるデータ以下のような1回のinsert文で全ての値を登録するなどの事をしています。
insert into tbl (key1,key2,key3) values(1,2,3),(4,5,6),(7,8,9);

nodejsの場合、プログラムの中からSQLを実行する時は以下のような書き方をするのですが
query(`insert into tbl(key)values($1)`,[1]);

これが可変になると、以下のような書き方になってものすごく読みにくく感じます。実際はパラメーター複数あってさらに複雑ですし。
query(`insert into tbl(key)values ${insertDatas.map((v,i)=>`($${i+1})`).join(",")}`,insertDatas);
もちろんプログラムとしては全く難しくないのですが、素直に言ってダルい。$が連続しているのも読みにくさが増す理由になってる。

なので、こういう場合はO/Rマッパーというものを使えば
文字列操作ではなく見やすい書き方になったり
1回頑張って作れば他のテーブルに横展開出来るから楽なのかな?という趣旨でした。


言語化するとposgresqlのスレで言う事じゃない気もして、申し訳ない。
0967NAME IS NULL垢版2023/07/03(月) 18:43:11.96ID:???
ORMじゃなくてもbulk insert用のSQLを生成/フォーマットする機能のあるライブラリを選べばいいよ

>query(`insert into tbl(key)values ${insertDatas.map((v,i)=>`($${i+1})`).join(",")}`,insertDatas);
string interpolationに入れた場合に適切にエスケープしてくれるのかどうかちょっと怪しくない?
0968NAME IS NULL垢版2023/07/15(土) 18:40:40.77ID:nkjGsW1C
ストアドファンクションでINSERTしたレコードを取得するにはどうすればいいでしょうか?
INSERTは下記のクエリで行っています。
RETURNS VOID になっている所を、RETURNS TABLEにしてレコードを取得したいのですが、具体的なソースコードが思いつきません。
https://ideone.com/5JPpQ4
0969968垢版2023/07/15(土) 18:49:29.02ID:???
すみません。自己解決しました。
0970NAME IS NULL垢版2023/07/15(土) 19:15:02.96ID:???
>>968
解決した方法も書いておけよ。そうすることでQ&Aが成り立つし、次に困ったときに返信があることが期待できるようになるんだぞ。
0971NAME IS NULL垢版2023/07/15(土) 19:58:47.70ID:???
それが人にものを頼む態度か
0972NAME IS NULL垢版2023/07/15(土) 21:53:57.61ID:???
RETURNINGやろ
それ以外で自決してたら知らん
0973968垢版2023/07/16(日) 01:02:59.77ID:???
解決した方法は下記です。
RETURNS TABLE - RETURN QUERY です。
https://ideone.com/kgQo96

もっといい方法もあると思いますが、自分では思い付きませんでした。
0974NAME IS NULL垢版2023/07/16(日) 01:27:08.90ID:n5R9lLii
>>973
変数というものがわからないのか?
0975NAME IS NULL垢版2023/07/16(日) 01:30:14.06ID:n5R9lLii
初心者はわかっている値を再度、SELECTしたりするよな。
0976NAME IS NULL垢版2023/07/16(日) 01:31:54.97ID:n5R9lLii
見れば見るほど何がやりたいのかわからない
0977968垢版2023/07/16(日) 02:03:17.84ID:???
すみません。
どこが悪いのでしょうか。

RETURN QUERY SELECT については、
使用時はプログラムで INSERTINCIDENT() に引数(incident_name, full_text, registered_by) を与えて呼び出し、
プログラムで与えた引数の値と、INSERT された値が一致するかどうかを比較する必要があるので、意図して SELECT しています。
0978NAME IS NULL垢版2023/07/16(日) 02:13:14.95ID:n5R9lLii
ネタじゃなければ、確認することをくっつけて実行するのは素人だと思ってください。

そもそもincident_nameとfull_textが引数になってないでしょうに。
0979NAME IS NULL垢版2023/07/16(日) 02:15:13.71ID:n5R9lLii
'件名',
'本文本文本文',

公表しているコードだとリテラル値を使っているだけなので、いきなり脳内情報を書き込まれてもわかりません。
0980968垢版2023/07/16(日) 02:36:08.88ID:6TXuZh7c
>公表しているコードだとリテラル値を使っているだけなので、いきなり脳内情報を書き込まれてもわかりません。
すみません。引数をつけて書き直しました。
https://ideone.com/6Ufeev

>ネタじゃなければ、確認することをくっつけて実行するのは素人だと思ってください。
この件が、ソースコードのどの部分にあたるのか理解出来ていません。
おかしな理解のまま進みたくないので、教えて頂けないでしょうか。
0981NAME IS NULL垢版2023/07/18(火) 11:43:11.80ID:nPycmVG4
そのファンクションが必要な理由がわからない
0982NAME IS NULL垢版2023/07/18(火) 16:17:09.32ID:nPycmVG4
グルグル回ってるな。
INSERTしたレコードの列値がすべてわかっているのに、そのレコードをSELECTするのはPostgreSQLを信用していないということなのか?
0983NAME IS NULL垢版2023/07/18(火) 21:22:24.46ID:???
idがストアドの中で採番されるからそれを取りたいんだろ。タイムスタンプなんかも。
0984NAME IS NULL垢版2023/07/18(火) 22:28:47.10ID:DR+/wZzQ
SELECT文のFROM句にINSERTしてSELECTするファンクションを置きたい理由がわからない。

手続きをファンクションとして隠蔽したいんだろう。

idの最大値の求め方も同時実行の考慮なしだし、INSERTが想定通りだったか、自分で確認するらしいし、もはや目的がわからない。
0985NAME IS NULL垢版2023/07/19(水) 00:12:11.06ID:???
>>984
>idの最大値の求め方も同時実行の考慮なしだし
SERIALIZABLEかもしれないよ
0986NAME IS NULL垢版2023/07/19(水) 00:17:38.56ID:???
INSERTが想定通りだったかSELECTで確認する
さらにそのSELECTが想定通りだったか・・・・詰み
0987968垢版2023/07/22(土) 22:26:35.01ID:???
INSERT 時に採番される ID とタイムスタンプを取得したいので、ストアドプロシージャではなくストアドファンクションにしました。
ファンクションではトランザクションが使えないので、 serializable にする事で妥協しました。

全てのクエリが、ファンクションを呼び出すプログラム側 ( Npgsql ) の NpgsqlTransaction を使用するので、
プログラム側で IsolationLevel に Serializable を設定しています。

・ファンクションでトランザクションを使う方法
・ストアドプロシージャで戻り値を戻す方法
のいずれかが分かれば serializable 以外に出来るのですが、どうするべきなのかがよく分かりませんでした。
0988NAME IS NULL垢版2023/07/22(土) 22:45:38.83ID:rGyCVXUK
ネタ確定だな
0989968垢版2023/07/23(日) 01:24:32.26ID:???
>>988
ネタじゃなく、知識がない状態で突貫でやらざるを得ない状態になっているのです・・・。
0990NAME IS NULL垢版2023/07/23(日) 03:11:39.33ID:lgEmBl7h
ストアドプロシージャにはOUTパラメータというものがあるんだよ
0991NAME IS NULL垢版2023/07/23(日) 17:56:41.43ID:???
Windowsの15.3をインストールしたけどpgadminが動かないね
海外の掲示板では15.2に戻せって言ってるっぽい
原因がPython側にあって修正する時間がないって回答きてるっぽいからしばらくバージョンアップ無理かな

やっぱネイティブじゃないとこんな事になっちゃうね
0992NAME IS NULL垢版2023/07/23(日) 20:22:58.37ID:lgEmBl7h
どんな製品でも最新バージョンは様子見しておくもんなんだよ
0993NAME IS NULL垢版2023/07/24(月) 08:55:43.11ID:???
PostgreSQLは最新の15.3をインストール
添付のpgAdmin7.4はインストールしない

別途古いpgAdmin7.3をインストール

これでいけた
0994NAME IS NULL垢版2023/08/13(日) 03:59:11.08ID:???
Pgadmin4自体のデバッグログを出すにはどうしたら良いのでしょうか?
ググると「DBにxxの拡張を入れて〜」とかあるけど、そうじゃなくてpgadmin4のプログラム自体のログが見たいです。

AWSのrdsにssm経由で繋ごうとして、
psqlコマンドではpgpass.conf ファイルに設定したパスワードも読み込んで何も問題なく接続出来るんだけど、
psql -h localhost -p 57851 -U postgres -d postgres

pgadmin4ではconnection timeout expiredしか表示されなくて何も手がかりがなくて困ってます。

素のpsqlで繋がらないなら、DB側の設定やAWSのセキュリティグループを見るとかやりようはあるのでしょうが、pgadminだけで繋がらない状態です
0996NAME IS NULL垢版2023/08/13(日) 20:38:16.82ID:???
>>995
ありがとうございます。まさにここでした。

そしてログレベルを上げても接続エラーの詳細なログは出なくて
結局バックエンドのpythonにログを追加してデバッグして
最終的に接続できない理由はlocalhostと書いてあるからで127.0.0.1と書いたら繋がりました。
0999NAME IS NULL垢版2023/08/14(月) 09:09:12.37ID:???
それではまたどこかでお会いしましょう
10011001垢版Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 2658日 17時間 26分 57秒
10021002垢版Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況