23/07/16 01:31:54.97 n5R9lLii.net
見れば見るほど何がやりたいのかわからない
981:968
23/07/16 02:03:17.84 .net
すみません。
どこが悪いのでしょうか。
RETURN QUERY SELECT については、
使用時はプログラムで INSERTINCIDENT() に引数(incident_name, full_text, registered_by) を与えて呼び出し、
プログラムで与えた引数の値と、INSERT された値が一致するかどうかを比較する必要があるので、意図して SELECT しています。
982:NAME IS NULL
23/07/16 02:13:14.95 n5R9lLii.net
ネタじゃなければ、確認することをくっつけて実行するのは素人だと思ってください。
そもそもincident_nameとfull_textが引数になってないでしょうに。
983:NAME IS NULL
23/07/16 02:15:13.71 n5R9lLii.net
'件名',
'本文本文本文',
公表しているコードだとリテラル値を使っているだけなので、いきなり脳内情報を書き込まれてもわかりません。
984:968
23/07/16 02:36:08.88 6TXuZh7c.net
>公表しているコードだとリテラル値を使っているだけなので、いきなり脳内情報を書き込まれてもわかりません。
すみません。引数をつけて書き直しました。
URLリンク(ideone.com)
>ネタじゃなければ、確認することをくっつけて実行するのは素人だと思ってください。
この件が、ソースコードのどの部分にあたるのか理解出来ていません。
おかしな理解のまま進みたくないので、教えて頂けないでしょうか。
985:NAME IS NULL
23/07/18 11:43:11.80 nPycmVG4.net
そのファンクションが必要な理由がわからない
986:NAME IS NULL
23/07/18 16:17:09.32 nPycmVG4.net
グルグル回ってるな。
INSERTしたレコードの列値がすべてわかっているのに、そのレコードをSELECTするのはPostgreSQLを信用していないということなのか?
987:NAME IS NULL
23/07/18 21:22:24.46 .net
idがストアドの中で採番されるからそれを取りたいんだろ。タイムスタンプなんかも。
988:NAME IS NULL
23/07/18 22:28:47.10 DR+/wZzQ.net
SELECT文のFROM句にINSERTしてSELECTするファンクションを置きたい理由がわからない。
手続きをファンクションとして隠蔽したいんだろう。
idの最大値の求め方も同時実行の考慮なしだし、INSERTが想定通りだったか、自分で確認するらしいし、もはや目的がわからない。
989:NAME IS NULL
23/07/19 00:12:11.06 .net
>>988
>idの最大値の求め方も同時実行の考慮なしだし
SERIALIZABLEかもしれないよ
990:NAME IS NULL
23/07/19 00:17:38.56 .net
INSERTが想定通りだったかSELECTで確認する
さらにそのSELECTが想定通りだったか・・・・詰み
991:968
23/07/22 22:26:35.01 .net
INSERT 時に採番される ID とタイムスタンプを取得したいので、ストアドプロシージャではなくストアドファンクションにしました。
ファンクションではトランザクションが使えないので、 serializable にする事で妥協しました。
全てのクエリが、ファンクションを呼び出すプログラム側 ( Npgsql ) の NpgsqlTransaction を使用するので、
プログラム側で IsolationLevel に Serializable を設定しています。
・ファンクションでトランザクションを使う方法
・ストアドプロシージャで戻り値を戻す方法
のいずれかが分かれば serializable 以外に出来るのですが、どうするべきなのかがよく分かりませんでした。
992:NAME IS NULL
23/07/22 22:45:38.83 rGyCVXUK.net
ネタ確定だな
993:968
23/07/23 01:24:32.26 .net
>>992
ネタじゃなく、知識がない状態で突貫でやらざるを得ない状態になっているのです・・・。
994:NAME IS NULL
23/07/23 03:11:39.33 lgEmBl7h.net
ストアドプロシージャにはOUTパラメータというものがあるんだよ
995:NAME IS NULL
23/07/23 17:56:41.43 .net
Windowsの15.3をインストールしたけどpgadminが動かないね
海外の掲示板では15.2に戻せって言ってるっぽい
原因がPython側にあって修正する時間がないって回答きてるっぽいからしばらくバージョンアップ無理かな
やっぱネイティブじゃないとこんな事になっちゃうね
996:NAME IS NULL
23/07/23 20:22:58.37 lgEmBl7h.net
どんな製品でも最新バージョンは様子見しておくもんなんだよ
997:NAME IS NULL
23/07/24 08:55:43.11 .net
PostgreSQLは最新の15.3をインストール
添付のpgAdmin7.4はインストールしない
別途古いpgAdmin7.3をインストール
これでいけた
998:NAME IS NULL
23/08/13 03:59:11.08 .net
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だけで繋がらない状態です
999:NAME IS NULL
23/08/13 05:20:47.90 .net
>>998
これは?
URLリンク(www.pgadmin.org)
1000:NAME IS NULL
23/08/13 20:38:16.82 .net
>>999
ありがとうございます。まさにここでした。
そしてログレベルを上げても接続エラーの詳細なログは出なくて
結局バックエンドのpythonにログを追加してデバッグして
最終的に接続できない理由はlocalhostと書いてあるからで127.0.0.1と書いたら繋がりました。