タグ付けされた質問 「postgresql」

PostgreSQLのすべてのバージョン。そのコンテキストが重要な場合は、postgresql-11などのバージョン固有のタグを追加します。

2
条件付き外部キーの関係
現在、2つのエンティティ間に外部キーがあり、その関係をテーブルの1つのentityTypeを条件とするようにします。これがテーブルの階層です。これは、子から親へのFK参照を介して行われます Store / \ Employees \ TransactionalStores / | \ Kiosks | BrickMortars Onlines 現在、従業員から店舗へのFK関係があります ALTER TABLE Employees ADD CONSTRAINT Employee_Store FOREIGN KEY (TransStoreId) REFERENCES TransactionalStores(StoreId) 条件を追加したい: WHERE TransactionalStores.storeType != 'ONLINE_TYPE' これは可能ですか、またはTransactionalStoresを2つの新しいsubType(PhysicalStoresおよびVirtualStoresなど)にサブクラス化する必要がありますか

1
エラー:ファイル ''を削除できませんでした(エラー2:そのようなファイルまたはディレクトリはありません)
pgAdmin IIIを使用してデータベースを復元するたびに、次のpgAdmin IIIエラーが表示されます。 エラー:ファイル ''を削除できませんでした(エラー2:そのようなファイルまたはディレクトリはありません) pgadminログを参照してください。 私の構成: x86_64-unknown-linux-gnu上のPostgreSQL 9.4.4、gcc(Ubuntu 4.8.2-19ubuntu1)4.8.2、64ビットでコンパイル Linux 3.19.0-26-generic#28〜14.04.1-Ubuntu SMP Wed Aug 12 14:09:17 UTC 2015 x86_64 x86_64 x86_64 GNU / Linux

1
Postgres:マテリアライズドビューが使用するディスク容量を確認しますか?
Postgresでインデックスとテーブルのサイズを確認する方法を知っています(バージョン9.4を使用しています)。 SELECT relname AS objectname, relkind AS objecttype, reltuples AS "#entries", pg_size_pretty(relpages::bigint*8*1024) AS size FROM pg_class WHERE relpages >= 8 ORDER BY relpages DESC; しかし、これには具体化されたビューは表示されません。使用しているディスク容量を確認するにはどうすればよいですか?

2
複数の日付範囲を使用してデータをカウントする
おそらくこれは以前に尋ねられたことがありますが、私にはわかりません。phone_clicksテーブルがあります(sql fiddle http://sqlfiddle.com/#!15/855e0/1) CREATE TABLE phone_clicks ( id integer NOT NULL, date date NOT NULL, industry_id integer NOT NULL, clicks integer DEFAULT 0 NOT NULL ); insert into phone_clicks(id, date, industry_id, clicks) values (1, '2015-03-16', 1, 15), (2, '2015-03-16', 2, 7), (3, '2015-03-16', 3, 0), (4, '2015-03-17', 1, 12), (5, …
14 postgresql 

1
すべての列のデフォルト値を使用してテーブルに複数の行を挿入する方法はありますか?
RBARの方法で、すべての列にデフォルト値を持つ複数の行をテーブルに挿入できます。 create table course(course_id serial primary key); do $$ begin for i in 1..100000 loop insert into course default values; end loop; end;$$; 単一のSQLステートメントで同じことを行う方法はありますか?

2
PostgreSQL TRIGGERのスケーリング
Postgresがメカニズムのスケールをトリガーする方法 PostgreSQLを大規模にインストールしており、ログテーブルとTRIGGERを使用してイベントベースのシステムを実装しようとしています。 基本的に、UPDATE / INSERT / DELETE操作の通知を受け取る各テーブルにTRIGGERを作成します。このトリガーが起動されると、ログテーブルに新しい行を追加する(イベントをエンコードする)関数を実行し、その後、外部サービスからポーリングします。 Postgres TRIGGERを使用する前に、それらがどのようにスケーリングするかを知りたいと思います。単一のPostgresインストールでいくつのトリガーを作成できますか?クエリのパフォーマンスに影響しますか?これを試す前に誰かがしましたか?

1
「エラー:重複キー値が一意制約に違反する」を回避するためにテーブル構造を修正する
この方法で作成されたテーブルがあります: -- -- Table: #__content -- CREATE TABLE "jos_content" ( "id" serial NOT NULL, "asset_id" bigint DEFAULT 0 NOT NULL, ... "xreference" varchar(50) DEFAULT '' NOT NULL, PRIMARY KEY ("id") ); その後、IDを指定していくつかの行が挿入されます。 INSERT INTO "jos_content" VALUES (1,36,'About',...) 後で、IDなしでいくつかのレコードが挿入され、エラーで失敗します: Error: duplicate key value violates unique constraint。 どうやらidはシーケンスとして定義されました: 挿入に失敗するたびに、存在しない値に増分し、クエリが成功するまで、シーケンス内のポインターが増加します。 SELECT nextval('jos_content_id_seq'::regclass) テーブル定義の何が問題になっていますか?これを修正するスマートな方法は何ですか?

1
「returning」句は挿入されていないソース列を返すことができますか?
これが私の実世界の問題の最小限の例です: create table t(id serial primary key, rnd double precision); もちろん、挿入した列をreturning句で返すことができます: with w as (insert into t(rnd) values(random()) returning *) insert into t(rnd) select random() from w returning *; /* | ID | RND | |----|----------------| | 9 | 0.203221440315 | */ リテラルを返すこともできます: with w as (insert into t(rnd) values(random()) …

1
postgresでのCOPY FROM STDINの使用
私はPostgresを使い始めたばかりで、その機能を理解するためにサンプルdbを作成しようとしています。周りを見て、pgfoundry.orgでいくつかのスクリプトを見つけました。以前はOracleとMS-SQLの両方を使用していたため、コマンドは理解できますが、実行中のすべてのスクリプトは「COPY FROM」命令に到達するとエラーを返します。より正確には、指定されたテーブルに挿入される最初の要素でエラーがスローされます。 クエリとpgScriptの両方としてスクリプトを実行しようとしましたが、どちらの方法でもCOPY FROMの後の最初の行でエラーが発生します。 pgAdminIIIを使用していて、StackBuilderを使用してPostgreSQL 9.2.4.1をDBドライバーとしてインストールしました。このコマンドの実行を妨げている基本的な構成が欠落している場合がありますか、それが機能するかを理解していませんか? 編集: エラーは次のとおりです。 ERROR: syntax error at or near "7" LINE 5600: 7 4 13 37 2012-03-10 16:41:43.797787 2012-03-10 16:41:43.797... ^ ********** Error ********** ERROR: syntax error at or near "7" SQL status: 42601 Char: 140891` テキストは次のとおりです。 COPY action_abilitations (id, group_action_id, partecipation_role_id, group_id, created_at, updated_at) …

1
PostgreSQL:リレーションの許可が拒否されました
PostgreSQLで権限を設定することについて少し混乱しています。 私にはこれらの役割があります: List of roles Role name | Attributes | Member of -----------+------------------------------------------------+----------- admin | Superuser, Create role, Create DB, Replication | {} meltemi | Create role, Create DB | {rails} rails | Create DB, Cannot login | {} myapp | | {rails} およびデータベース: List of databases Name | Owner …

1
PostgreSQLでプールサイズとデータベース接続のスイートスポットを決定する方法
データベースサーバーへのピーク時にトラフィックを処理できません。ハードウェアの改善を検討しています(その点についてはこの質問をご覧ください)が、プーリング構成とサーバーの調整にも取り組みたいと考えています。 私たちが取り組んでいるアプリケーションは、スマートフォン向けのターンベースのマルチプレイヤーゲームです。バックエンドは、ユニコーンとPostgreSQL 9.1をデータベースとするRailsで構成されています。現在、登録ユーザーは60万人で、ゲームの状態はデータベースに保存されているため、数秒ごとに数千の書き込みが行われます。PgBadgerを使用してPostgreSQLのログファイルを分析しましたが、重要な時間帯に大量の FATAL: remaining connection slots are reserved for non-replication superuser connections この問題に対処するための単純な解決策は、postgresql.confのmax_connections(現在は100) を増やすことです。私はhttp://wiki.postgresql.org/wiki/Number_Of_Database_Connectionsを読みましたが、これはこれが正しいことではないかもしれないことを示しています。前述の記事では、max_connectionsとpool sizeの間のスイートスポットを見つけることに言及しています。 このスイートスポットを見つけるために何ができますか?max_connectionsとプールサイズの異なる値のI / Oパフォーマンスを測定するための優れたツールはありますか? 現在の設定では4台のゲームサーバーがあり、各サーバーにはユニコーンワーカーが16人、プールサイズが5です。 以下は、使用しているデフォルト以外のpostgres-settingsです。 version | PostgreSQL 9.1.5 on x86_64-unknown-linux-gnu,compiled by gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit checkpoint_completion_target | 0.9 checkpoint_segments | 60 checkpoint_timeout | 6min client_encoding | UTF8 effective_cache_size | 2GB lc_collate | …
14 postgresql 

6
SQL Query Formatter [終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、データベース管理者のStack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 (Linuxベースの)SQLクエリフォーマットプログラム/プラグイン/拡張機能はありますか? 私はPostgreSQLとMySQLを使用していますが、他のDBも歓迎します。 VMを使用してテストできますが、Linux(Ubuntu)ベースのソリューションを希望します。 オンライン版を見たことがありますが、インストール可能なものはありません。 EclipseベースのIDEもプラスです 例: select f1, f2, fname, lName from tblName where f1 = true and fname is not null order by lName asc のようなものに SELECT f1, f2, fname, lName FROM tblName WHERE f1 = true AND fname IS NOT NULL ORDER BY …
14 postgresql 


1
PostgreSQLのフェールオーバーとレプリケーション
PostgreSQL 9.1を評価していますが、フェイルオーバーとレプリケーションの詳細に関連する質問はほとんどありません。 テストシナリオはほとんどありません。マスターサーバーと少数のスレーブを備えた最初のサーバー。マスターがクラッシュした場合、スレーブの1人がマスターになります。マスターが通常の状態に戻った後、クラスター内の他のサーバーと同期し(ダウン中に行われたすべての変更を適用)、マスターの役割を要求するか、スレーブになります。 PostgreSQLで見られる問題と現在のシナリオは次のとおりです。 1)マスターサーバーの停止を検出するための組み込みツールが表示されません。pgpoolがそれを処理し、トリガーファイルを作成できることを読みました。また、人々はこれにLinuxのハートビートまたは類似のツールを使用していることも読みました。さて、フェールオーバーを検出して、クラスター内に新しいマスターを割り当てることができます。他のスレーブは、新しいマスターが存在することを理解し、今すぐバックアップする必要がありますか? 2)フェールバック手順がわかりません。マスターとスレーブのホスト構成は異なります。マスターフェイルバックがクラッシュした後、2つのマスターを使用できますか?サーバーはどのように同期しますか?「データフォルダーをサーバーに転送して再起動する」などの手動のソリューションのみを見ました。それでは、ここでの解決策やベストプラクティス、または少なくとも主要な原則は何ですか? 3)クライアント側でサーバーの停止を処理するにはどうすればよいですか?接続を作成するときに、サーバーIPを明示的に指定します。マスター-スレーブ構造を認識し、マスターのみにリクエストを送信し、接続が失われた場合にバックアップサーバーに切り替えるなど、何らかの種類のConnectionManagerを開発する必要がありますか?私は、pgpoolがアプリケーションのエントリポイントとなり、正しい方法で接続を管理できることを読みました。ここではpgpoolのみが解決策ですか?フェールオーバーとフェールバックを適切に処理しますか? 4)手動でデータをコピーし、PostgreSQLインスタンスやその他の手作業で行うべきものを再構成することを避けるためのソリューション(商用)もありますか?だから、全員が同期しているときのクラスター構成のようなもので、誰がマスターであり、すべてがオペレーターの注意なしに自動的に切り替わるのかは明らかですか? これらのスレッドと記事によると PostgreSQLでのストリーミングレプリケーションとフェールオーバー PostgreSQL 9.1でのフェイルオーバーの自動化 http://denishjpatel.blogspot.com/2010/11/possibility-of-graceful-switchover.html これらの疑問を解決するための単一の完全自動ソリューションはありません。私は正しいですか? ありがとう!

2
PostgreSQLでのストリーミングレプリケーションとフェールオーバー
PostgreSQLレプリケーションの概念実証を行っています。フォーラムでの議論の後、パフォーマンスが他のソリューションと比較して優れているため、ストリーミングレプリケーションを使用することにしました。PostgreSQLは、ストリーミングレプリケーションの自動フェールオーバーを提供していません。トリガーファイルを使用してスレーブをマスターに切り替えることはできますが、管理はできません。そこで、自動フェイルオーバーと高可用性を備えたソリューションが欲しいのです。 さまざまなソリューションが利用可能です。 Repmgr Linuxハートビート Pgpool-II(自動フェイルオーバーのみ) 使用した場合のその他のツール。 私の質問は、どのソリューションを使用する必要があるのですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.