問題タブ [postgresql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - どのデータベースがレプリケーションを最もよくサポートしているか
MySQLレプリケーションで何ができるかについてはかなり良い感じがします。他のどのデータベースがレプリケーションをサポートしているか、そしてそれらがMySQLや他のデータベースとどのように比較されているのか疑問に思っていますか?
私が持っているいくつかの質問は次のとおりです。
- レプリケーションは組み込まれていますか、それともアドオン/プラグインですか?
- レプリケーションはどのように機能しますか(高レベル)?MySQLは、ステートメントベースのレプリケーション(および5.1では行ベースのレプリケーション)を提供します。他のデータベースとの比較に興味があります。何が有線で出荷されますか?変更はどのようにレプリカに適用されますか?
- マスターとスレーブ間の整合性をチェックするのは簡単ですか?
- 失敗したレプリカをマスターと同期させるのは簡単ですか?
- パフォーマンス?MySQLレプリケーションについて私が嫌うことの1つは、シングルスレッドであり、マスターが多くの更新を並行して実行できるため、レプリカが追いつくのに問題が生じることが多いことですが、レプリカはそれらをシリアルに実行する必要があります。他のデータベースにこのような落とし穴はありますか?
- その他の興味深い機能...
sql - 階層データの複製
次のような古典的な方法で構築された自己参照階層テーブルがあるとします。
私が今必要としているのは、テスト レコードの ID を取得し、添付されたすべてのレコード (指定されたレコードを含む) を複製する関数 (できればプレーン SQL) です。もちろん、複製されたレコードには新しい ID が必要です。望ましい結果は、たとえば次のようになります。
ポインタはありますか?PostgreSQL 8.3 を使用しています。
sql - PostgreSQL - データベースの名前を変更する
データベースの名前を変更する必要がありますが、名前を変更すると
PGAdmin : ALTER DATABASE "databaseName" RENAME TO "databaseNameOld"
、それはできないと言われました。
どうすればいいですか?
( WindowsXP ではバージョン 8.3 )
アップデート
最初のエラー メッセージ: 接続できませんでした。そこで、別のデータベースを選択してクエリを実行しました。
ユーザーが接続されたことを示す 2 番目のエラー メッセージが表示されます。
PGAdmin
画面にたくさんいるのにPID
、アクティブでないことがわかります...それらを殺す方法がわかりません。
python - PythonPostgreSQLモジュール。どちらがベストですか?
pygresql、pypgsql、psycoなどのPython用のpostgresqlモジュールをいくつか見てきました。それらのほとんどはPythonDBAPI 2.0に準拠しており、一部は現在積極的に開発されていません。どのモジュールをお勧めしますか?なんで?
linux - Linux 用の PostgreSQL Visual Database Designer をお勧めできますか?
私が Windows を使用しているときは、優れた MicroOLAP Database Designer for PostgreSQL を使用していますが、これはオープン ソースまたはマルチプラットフォームではありません。
Linuxで使用できる、このソフトウェアの代替品を知っていますか、または推奨できますか?
編集: 明確にするために、ワインを使用して PostgreSQL の MicroOlap をエミュレートしたくありません。うまく機能しません。ネイティブまたは Java ベースのものを好むでしょう。
sql - PostgreSQL シーケンスを使用して SQL の一意の値を更新する方法は?
SQLでは、テーブルを更新して、列を行ごとに異なる値に設定するにはどうすればよいですか?
PostgreSQL データベースのいくつかの行を更新し、1 つの列をシーケンスからの数値に設定します。その列には一意の制約があります。私はただ使用できることを望んでいました:
しかし、nextvalは一度しか呼び出されないように見えるため、更新ではすべての行に同じ番号が使用され、「重複キーが一意制約に違反しています」というエラーが発生します。代わりに何をすべきですか?
sql - 2つの可能性のセットで一意の行を選択する
問題自体は単純ですが、1つのクエリでそれを実行する解決策を見つけることができません。これが、より簡単な説明を可能にするための問題の「抽象化」です。
元の説明をそのままにしますが、サンプルデータのセットと期待する結果は次のとおりです。
さて、ここにいくつかのサンプルデータがあります、私は空白行でペアを区切りました
そして、私が期待する結果は、クエリを1回実行した後、1つのクエリでこの結果セットを選択できる必要があります。
元の説明:
私はテーブルを持っていますTABLE
。2つの列があり、それらが一緒になってテーブルの主キーを形成する場所とID
呼びNAME
ます。ここで、どこかを選択しID=1
、最初に「John」という値を持つ行を見つけることができるかどうかを確認しNAME
ます。「John」が存在しない場合NAME
は、「Bruce」である行を探す必要がありますが、「John」のみを返します。 「ブルース」と「ジョン」の両方が存在する場合、またはもちろん「ジョン」のみが存在する場合。
また、上記の基準に一致するが、もちろんID / Nameの組み合わせが異なるクエリごとに複数の行を返すことができるはずであり、上記の説明は実際の問題を単純化したものにすぎないことにも注意してください。
私は自分のコードと考え方に完全に目がくらむ可能性がありますが、これを理解することはできません。
php - LIMIT が適用される前に結果カウントを取得する最良の方法
DB からのデータをページングする場合、ページ ジャンプ コントロールをレンダリングするために必要なページ数を知る必要があります。
現在、クエリを 2 回実行することでこれを行っています。1 回目は でラップしcount()
て合計結果を決定し、2 回目は現在のページに必要な結果だけを取得するために制限を適用しています。
これは非効率に思えます。LIMIT
が適用される前に返された結果の数を判断するより良い方法はありますか?
PHPとPostgresを使用しています。
database - PostgreSQL 構成を最適化する方法は? (利用可能なツールはありますか?)
postgresql には、パフォーマンスのニーズに合わせて構成するための豊富な最適化が用意されています。メモリ使用量の設定はまだ簡単ですが、クエリ オプティマイザーに使用される CPU や IO のコスト要因などの他のオプションを使用すると、私にとってはかなり謎です。ハードウェアのベンチマーク (CPU 速度、メモリ パフォーマンス、ハードディスク速度) を示し、データベースを分析し、この特定の環境に最適な構成を考え出すプログラムが利用できるかどうか疑問に思います。
編集:
これを明確にさせてください。インデックスと基本的なメモリ設定を使用してデータベースを調整する方法を知っています。また、パフォーマンスを向上させるためにどの設定を微調整する必要があるかを見つけることもできましたが、時間がないので、これを見つけるツールが必要です。
oracle - Oracle PL/SQL を Postgresql PL/pgSQL に変換するためのツール
Oracle の PL/SQL ストアド プロシージャ言語を Postgresql の PL/pgSQL ストアド プロシージャ言語に変換するツール (できれば無料) はありますか?