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

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

3
真空凍結vs真空満杯
VACUUMPostgreSQLのこれらのタイプの違いを誰かが説明できますか? 私はドキュメントを読みましたが、それFULLはテーブルをロックしFREEZE、タプルを「フリーズ」するだけだと言っています。それは同じだと思います。私が間違っている?

1
テキスト列でtext_pattern_opsにインデックスを付けるのはなぜですか?
今日、Seven WeeksのSeven Databasesでは、オペレーターごとのインデックスを紹介しました。 text_pattern_ops値が小文字でイ​​ンデックス付けされている限り、演算子クラスインデックスを作成することにより、以前のクエリに一致するパターンの文字列にインデックスを付けることができます。 CREATE INDEX moves_title_pattern ON movies ( (lower(title) text_pattern_ops); text_pattern_opsタイトルがテキストタイプであるため、これを使用しました。あなたは、インデックスのvarchar、文字、または名前に必要な場合は、関連するオペレーションを使用しますvarchar_pattern_ops、bpchar_pattern_opsとname_pattern_ops。 この例は本当に紛らわしいと思います。なぜこれが便利なのですか? 列がテキストタイプの場合、他のタイプ(varchar、char、name)は検索値として使用される前にテキストにキャストされませんか? そのインデックスは、デフォルト演算子を使用したインデックスとどのように動作しますか? CREATE INDEX moves_title_pattern ON movies (lower(title));

3
AWS RDS PostgreSQLインスタンスからWALファイルを取得する
Amazon Web ServicesにPostgres RDSインスタンスがあります。自動バックアップが有効になっており、スナップショットを毎日取得しています。自分で管理できるRDSインスタンスのローカル「最新」バックアップを生成したいと思います。インスタンスに対してpg_dumpを実行するだけでは十分ではありません。データベースを任意の時点に復元できるようにするためです。バックアップが取得されてから、RDSとすべてのWALファイルのローカルバックアップが必要です。質問: RDSがバックアップルーチンで自動的に生成しているWALファイルとバックアップにアクセスできますか?これは理想的です。それらのローカルコピーをダウンロードしたいと思います。最初の調査の後、この質問に対する答えは「いいえ」だと感じています。RDSがWALファイルとバックアップをS3に保存しているように聞こえますが、アクセスできなくなります。確認をお願いします。 RDSインスタンスで発生したトランザクション(WALファイル)にアクセスする他の方法はありますか?EC2でPostgresデータベースを作成し、プライマリ「ライブ」RDSインスタンスからこのEC2インスタンスにトランザクションを「フィード」できるはずだと思います。EC2インスタンスが更新されると、そこからWALファイルを取得できます。なんて頭痛ですか?:/このセットアップは可能ですか?RDSインスタンスからEC2インスタンスに「フィード」して、常に最新の状態にする魔法とは何ですか? ありがとう!

2
Postgresで1時間ごとに増分バックアップを行う方法は?
単一のPostgresサーバー(Win7 64)の1時間ごとの増分バックアップを試行しています。 私は次のセットアップをしていますpostgresql.conf: max_wal_senders = 2 wal_level = archive archive_mode = on archive_command = 'copy "%p" "c:\\postgres\\foo\\%f"' (再起動) で基本バックアップを行いました pg_basebackup -U postgres -D ..\foo -F t -x フォルダーに大きなbase.tarファイルをfoo作成し、16,384 KBのファイルを追加しました。これはWALであると思われます。 私が理解していないのは、WAL fooが変わらない理由です。data/pg_xlog変更中のWAL 。pgはそれらをコピーすることになっていないのですか?どのように決定するのですか? おそらく設定する必要がありarchive_timeout=3600ますか? pg_start_backup()とpg_stop_backup()を呼び出す必要があると言っているサイト(pgのメーリングリスト、baculaのpostgresページ)を見てきましたが、それらは必須ではないと思います。本当? 二次的な質問: WALはどのくらいの頻度でdata/pg_xlog書かれますか?何が書き込みをトリガーしますか? \qpsqlでDMLを実行すると、WALが更新されるようです。または、pgAdminでテーブルを編集してからウィンドウを閉じます。私はそれがコミット時に書き込むだろうと思った。 ベストプラクティス?pg_basebackupは週に1回ですか?WALをPGと同じマシンまたはリモートマシンにアーカイブしますか?

1
データベースアーカイブソリューション
私が投稿した質問に続いて、大量のアクセス頻度の高いテーブルを別のデータベースに移動することをお勧めしますか?、PostgreSQLでのデータベースアーカイブに利用できるさまざまなテクニック/ソリューションを探しています。 私が考えることができるいくつかのソリューションは次のとおりです。 テーブルのパーティション分割 別のテーブルスペースおよび/またはスキーマ アーカイブされたレコード/テーブルを別のハードディスクに移動する 他の提案/ポインター/ソリューションは本当に歓迎され、高く評価されています。 注: CentOS5.2でPostgreSQL v9.1.3を実行しています


1
プレーンテキストのpostgres .backupファイルを復元する方法
dbテキスト全体を検索したいため、pgAdminからpostgres dbを単純な形式でエクスポートしました。その後、データベースを復元しようとしましたが、アーカイブファイルが有効なアーカイブファイルではないというエラーが表示されます。復元できる場合、dbを復元するにはどうすればよいですか?

3
PostgreSQL 9.1でのフェールオーバーの自動化
PostgreSQL 9.1で自動フェイルオーバー用に2つの同一サーバーをセットアップする方法。 OS ソースからコンパイルされたCentos 5 PostgreSQL 9.1 postgresユーザーアカウントは両方のマシンに存在し、両方のマシンに接続するためのパスワードなしのsshキーを持っています。 私の現在の設定: マスターサーバーの構成: postgresql.conf: listen_address = '*' wal_level = hot_standby max_wal_senders = 3 checkpoint_segments = 16 wal_keep_segments = 8 archive_mode = on archive_command = 'cp "%p" /opt/pgsql91/archive/"%f"' pg_hba.conf: host replication all 10.0.66.1/32 trust host replication all 10.0.66.2/32 trust スタンバイサーバー postgresql.confとpg_hba.confは、マスターサーバーで構成されているものと同じです。 recovery.conf: standby_mode = …

2
トリガー:削除された行をアーカイブテーブルに移動する
restrictionsPostgreSQLデータベースで呼び出される小さな(〜10行)テーブルがあり、値が毎日削除および挿入されます。 restrictions_deletedから削除されるすべての行がrestrictions自動的に保存されるというテーブルが必要です。以来、restrictionsシリアルIDを有し、全く重複が存在しないであろう。 PostgreSQLでこのようなトリガーを作成するにはどうすればよいですか?

4
バキューム/オートバキューム操作にはどれくらい時間がかかりますか?
私は、さまざまなロールを持つテーブルを含む大きな(数百ギグの)データベースを管理しており、その中には数百万のレコードを保持しているものもあります。いくつかのテーブルは、多数の挿入と削除のみを受け取り、他のいくつかの挿入と多数の更新のみを受け取ります。 データベースは、16ギガバイトのRAMを備えたDebian 6.0 amd64システム上のPostgreSQL 8.4で実行されます。 質問は、テーブル上の自動バキュームプロセスであり、完了するまでに非常に長い時間(日)かかります。特定のバキュームコマンドにかかる時間を大まかに伝えて、キャンセルするかどうかを判断できるようにしたいと思います。また、postgresバキューム操作の進行状況インジケーターがある場合、それは本当に役立ちます。 編集: 私は防弾ソリューションを探していません。デッドタプルまたは必要なI / Oバイトの数についての大まかなヒントで十分です。いつVACUUM終了するかわからないのは本当に迷惑です。 pg_catalog.pg_stat_all_tablesデッドタプルの数の列があることを見てきました。そのためANALYZE、前にテーブルにアクセスする必要がある場合でも、見積もりを行うことができます。一方、autovacuum_vacuum_thresholdおよびautovacuum_vacuum_scale_factor設定だけではpostgres自身があることを証明知っているテーブル上の変化量について何かを、おそらくあまりにもDBAの手にそれを置きます。 実行するクエリがVACUUM VERBOSEわかりません。実行すると、テーブルだけでなくインデックスも処理されていることがわかります。

1
PostgreSQLでテーブルの照合を決定する方法は?
PostgreSQLのテーブルで使用されている照合のチェックをスクリプト化したいのですが、グーグル検索Postgresql detect collationがうまく機能しておらず、ドキュメントでは簡単に検索できません。 誰が私にこれを確認する方法を教えてもらえますか?


2
PostgreSQLビット文字列を使用する必要がありますか?
私はbit string最近データ型について学んでおり、私は非常に興味があります: このドキュメントページの下部に次の文があります。 ...プラス文字列の長さに応じて5または8バイトのオーバーヘッド PHP、Java、C#、C ++などの他の言語では、Npgsql、ODBCなどのドライバーを介して、ビット文字列はどのように処理されますか。 質問1では、smallintまたはbigintを使用すると、ストレージの効率が大幅に向上し、整数はどこでもサポートされるため、パフォーマンスが向上する可能性があります。ほとんどのプログラミング言語は、整数のビット操作を簡単に処理します。その場合、ビット文字列データ型を導入するポイントは何ですか?大量のビットマスクが必要な場合のみですか?多分ビットフィールドのインデックス?PostgreSQLでビットフィールドのインデックス付けがどのように行われるかについて、もっと興味があります。 #2については、私は混乱しています。たとえば、平日ビットマスクをbit(7)フィールドに格納すると、1日1ビットで、最下位ビットが月曜日を表します。次に、PHPとC ++で値を照会します。私は何を得ますか?ドキュメントには、ビット文字列があると書かれていますが、ビット文字列は整数のように直接使用できるものではありません。この場合、ビットフィールドを放棄する必要がありますか? 誰かがビットまたはビット可変を使用する理由とタイミングを詳しく説明できますか?
18 postgresql 

4
トランザクション内のトランザクション
たとえば、以下のスクリプトが呼び出された場合、PostgreSQLはどのような動作を示しますか BEGIN; SELECT * FROM foo; INSERT INTO foo(name) VALUES ('bar'); BEGIN; <- The point of interest END; PostgreSQLは2番目を破棄しますか、BEGINそれともコミットが暗黙的に決定さBEGIN ENDれ、最後に別のトランザクションとしてブロックを実行しますか?

2
Postgresがメッセージキューとしてリッスン/通知する
PostgresのListen / Notify機能を使用してメッセージをチャネルに配信し、このメッセージを1人のリスナーのみが消費する方法はありますか? これの目的は、複数の「ワーカー」アプリがすべて同じPostgresチャネルをリッスンしていることです。しかし、通知チャネルを介して受信したメッセージごとに1回だけ作業を行いたいと思います。 Listen / NotifyがPostgresの正しい機能ではない場合、使用すべき別の機能はありますか? 理想的には、追加の拡張機能を使用せずにこれを実行したいと思います。

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