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

PostgreSQLは、強力なオープンソースのオブジェクトリレーショナルデータベースシステムです。15年以上の活発な開発と実証済みのアーキテクチャを備えており、信頼性、データの整合性、正確性で高い評価を得ています。Linux、UNIX(AIX、BSD、HP-UX、SGI IRIX、Mac OS X、Solaris、Tru64)、Windowsなど、すべての主要なオペレーティングシステムで動作します。


3
PostgreSQLの遅いコミットパフォーマンス
PostgreSQLの設定で問題が発生しています。いくつかのベンチマークの後、非常に単純なクエリには比較的長い時間がかかることがわかりました。詳しく調べたところ、実際のCOMMITコマンドは本当に遅いようです。 次の表を使用して、非常に簡単なテストを実行しました。 CREATE TABLE test ( id serial primary key, foo varchar(16), ); すべてのステートメントのログオンをオンにした後、次のクエリを10000回実行しました。 BEGIN; INSERT INTO test (a) VALUES ('bar'); COMMIT; BEGINとINSERTの完了には1ミリ秒未満かかりますが、COMMITの完了には平均22ミリ秒かかります。 自分のPCで同じベンチマークを実行すると、かなり遅くなりますが、BEGINステートメントとINSERTステートメントの平均は同じになりますが、平均COMMITは約0.4ミリ秒(20倍以上高速)です。 いくつか読んだ後、私はpg_test_fsyncツールを試して問題を突き止めようとしました。サーバーでこれらの結果を取得します。 $ ./pg_test_fsync -o 1024 1024 operations per test O_DIRECT supported on this platform for open_datasync and open_sync. Compare file sync methods using one 8kB write: …

3
Postmasterが過剰なCPUとディスク書き込みを使用する
PostgreSQL 9.1.2の使用 CPUが過度に使用され、postmasterタスクからディスクへの大量の書き込みが発生しています。これは、アプリケーションがほとんど何も実行していないときにも発生します(1分あたり数十回の挿入)。ただし、適切な数の接続が開いています。 私は自分のアプリケーションの何がこれを引き起こしているのかを特定しようとしました。私はpostgresqlにかなり慣れていないので、今のところどこにも行きません。設定ファイルでいくつかのログオプションをオンにし、pg_stat_activityテーブルで接続を確認しましたが、それらはすべてアイドル状態です。しかし、各接続はCPUを約50%消費し、ディスクに約15M / sを書き込んでいます(何も読み取っていません)。 私は基本的には調整をほとんど加えずにpostgresql.confを使用しています。これを追跡するために何ができるかについてのアドバイスやアドバイスをいただければ幸いです。 以下は、top / iotopが表示しているサンプルです。 Cpu(s): 18.9%us, 14.4%sy, 0.0%ni, 53.4%id, 11.8%wa, 0.0%hi, 1.5%si, 0.0%st Mem: 32865916k total, 7263720k used, 25602196k free, 575608k buffers Swap: 16777208k total, 0k used, 16777208k free, 4464212k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 17057 …

2
OpenStreetMapデータを効率的にスケールアウトする方法
1年以上の間、OSMデータで満たされた社内PostGISサーバーを実行しています。これは、Mapnikベースのタイル生成とNominatimベースのジオコーディングの両方に使用され、日ごとの複製で更新されます。これはかなりうまくいきます。 ただし、使用量が飛躍的に増加しているので、PostgreSQLサーバーを追加して、信頼性とパフォーマンスを向上させたいと考えています。そして、私はちょっと迷っています。 PostgreSQLはそれ自体ではレプリケーションを処理しないようなので、PgPool-IIなどのミドルウェアを使用して、サーバーの同期を維持することを検討します。しかし、私はそれがこの使用法に必要なものに過ぎないと思います:すべての書き込みが毎日正確に同じ時間に行われる非常に高い読み取りと書き込みの比率。 私の質問は単純です。これらのサーバーの同期を保つにはどうしますか?そして、OpenStreetMap Foundation、MapQuest、Mapbox、またはCloudMadeでこれのために何が行われますか? ありがとう。

2
Postgresqlのパフォーマンス-SHMMAXとSHMALLの調整
postgresのパフォーマンスの向上についてオンライン上にあるすべてのことについて読みましたが、SHMMAXとSHMALLの「適切な」値はまだわかりません。 コンセンサスはSHMMAX = total_memory / 4であり、SHMALL = total_memory / 2が安全な開始値であるようです。 ただし、SHMALLはページまたはバイト単位で測定でき、Ubuntuで使用されているものに関する情報を見つけることができません。 Ubuntu(またはより一般的にはDebian)はSHMALLにページまたはバイトを使用しますか?


2
一意の値を数える方法は?
一意のip_addresses(この場合は「3」)の数を取得しようとしています。テーブルは次のようになります。 構造: CREATE TABLE bandits ( key text NOT NULL, ip_address inet, offence text, count bigint DEFAULT 1); データ: 盗賊のコピー(key、ip_address、offence、count)FROM stdin; 127.0.0.1_testing 127.0.0.1テスト1 127.0.0.2_testing 127.0.0.2テスト3 127.0.0.2_testing2 127.0.0.2 Testing2 1 127.0.0.3_testing 127.0.0.3テスト1
9 sql  postgresql 


2
PostgreSQLは起動後に終了します
Debian 8(Jessie)上の私のPostgreSQL 9.5サーバーは、以下を介して起動した直後に終了し続けservice postgresql startます: # service postgresql status ● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled) Active: active (exited) since Fr 2016-12-02 11:02:51 CET; 11min ago Process: 2360 ExecStart=/bin/true (code=exited, status=0/SUCCESS) Main PID: 2360 (code=exited, status=0/SUCCESS) CGroup: /system.slice/postgresql.service Dez 05 16:29:24 dev systemd[1]: Starting PostgreSQL RDBMS... Dez 05 …

2
Ubuntu 12.04でのPostgresql 9.2「無効なロケール名」
今日私は、apt.postgresql.orgを介してUbuntuにPostgresql 9.2を正確にインストールしました。 root@ubuntu:/tmp# sudo -u postgres psql -Xc "CREATE DATABASE test TEMPLATE template0 ENCODING 'utf8' LC_CTYPE='it_IT.utf8'" ERROR: invalid locale name: "it_IT.utf8" 私はlocale-gen it_IT.utf8実際に走りました、そして実際には: root@ubuntu:/tmp# locale -a C C.UTF-8 en_GB.utf8 en_US.utf8 it_IT.utf8 POSIX ログに、postgresがit_IT.utf8を認識しない理由に関する意味のある情報がないようです...

4
sshを使用してpostgresで複数行クエリを実行する便利な方法は何ですか?
コンソールでいくつかのクエリを手書きする必要があるとしCREATE TABLEましょう。ステートメントのような複数行クエリを実行する最も効率的な方法は何ですか? 私はMicrosoft Management Studioを使用することに慣れていますが、自分でPostgreSQLについてその場で学ぶ必要があることに気づきました。

2
postgresの内部ログローテーションメカニズムは、特定の時間より古いログファイルを削除できますか?
posgtresの内部ログローテーションメカニズムを使用しています。30日以上経過したログファイルを削除してください。postgresでこれを行うにはどうすればよいですか?postgresがサポートしていない場合、30日より古いログのみを削除するようにlogrotateを設定できますか? 私の現在の設定は: log_destination = 'stderr' logging_collector = on log_directory = 'pg_log' log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' #log_truncate_on_rotation = off log_rotation_age = 1440 log_rotation_size = 0

2
PostgreSQLは多数のデータベースでどの程度うまく機能しますか?
登録ユーザー(実際には会社)を他のユーザーから分離する必要があるアーキテクチャを持つWebアプリケーションがあります。つまり、同じWebappを同じデータモデルで実行しますが、顧客ごとに異なるデータセットを使用します。 したがって、Postgresで顧客ごとに異なるデータベースを作成することを検討しました。このソリューションは、たとえば10〜20Kのデータベースに拡張できますか?いかに良く? 誰かがこれのためのより良い解決策を持っていますか? 前もって感謝します。

2
pg_restoreはpg_dumpよりもはるかに時間がかかります
私は定期的に、テストに使用される小さなPostgreSQLデータベースを保存して後で復元しています。テストの結果、そのデータは定期的に更新されます。その後、新しいダンプを作成する必要があります。ダンプは、明確に定義された状態でデータベースを再作成するために定期的に使用されます。 ダンプ(を使用pg_dump -Fc database)には数秒しかかかりませんが、復元(pg_restore -d database)には約1分かかります。これは奇妙なようです。両方にほぼ同じ時間がかかると予想していました(両方のタスクがI / Oバウンドであると仮定した場合)。 復元に問題がありますか?もっと速くできますか?あるいは、ダンプよりもリストアに時間がかかるのは正常ですか?(もしそうなら、なぜですか?) ダンプファイルには通常約3〜4 MiBがあります。DBMSはPostgreSQL V8.4であり、Ubuntu Linuxの下で1GiB RAMを搭載したPentium4 3GHzで実行されます。

2
分散ファイルシステム上のデータを含むコンテナー化されたPostgreSQL
誰かが実際に何らかの形で分散ファイルシステム-GlusterFSまたはそれ以外のもの-の運用環境のコンテナーでPostgreSQLを実行しているかどうか知りたいです。 私は現在Mesos / Marathonを実行しています。PostgreSQLノードに障害が発生した場合、Marathonは他のノードでPostgreSQLの別のインスタンスを起動するだけで、適切に実行されると(サービスの検出とアプリケーションによるデータベース接続の損失からの回復)、究極のフォールトトレランスが実現されます。 私はPostgreSQLにログ配布やホットスタンバイバックアップなどの独自のHAソリューションがあることを知っていますが、マスターからスレーブに切り替えるタイミング、適切に行う方法などの問題を解決する必要があります。 では、GlusterFSまたは同様の製品のPostgreSQLをどのように実行しますか?もしそうなら、それは安定していますか?パフォーマンスはどうですか?

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