X



トップページDB@2ch掲示板
1002コメント295KB
PostgreSQL Part.11©2ch.net
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001NAME IS NULL 転載ダメ©2ch.net
垢版 |
2016/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/
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型の配列で受け取りたいのですがうまくいかなくて…
そもそも出来るのでしょうか?
0926NAME IS NULL
垢版 |
2022/08/08(月) 15:07:47.54ID:???
>>924
PRO*CのPostgresql版みたいな奴です。
0927NAME IS NULL
垢版 |
2022/08/08(月) 15:12:00.49ID:???
そもそもストアドで配列で値返せるのか?
ファンクションになるんじゃ無いの?
0929NAME IS NULL
垢版 |
2022/08/08(月) 16:12:13.46ID:???
intの配列だとうまくいくんですよね…
レス数が900を超えています。1000を超えると表示できなくなるよ。

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