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

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

3
mysqlをpostgresqlに変換する方法は?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、データベース管理者のStack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 大きなmysqlデータベースをpostgresqlに変換する変換ツールを切望しています。ツール/スクリプトが必要です: 自由 Linuxで動作します 使いやすく、バグがありません 実際に試してみて、動作することを確認しました できれば、JavaまたはRubyで作成しないでください ここにリストされているさまざまなツールを試しましたが、うまくいきませんでした。 前もって感謝します。

4
列タイプをCHAR(36)からUUIDに変更する時間を費やすべきですか?
データベースにはすでに数百万行あります。スキーマを設計したとき、PostgreSQL UUIDデータ型について知りませんでした。 テーブルの1つには、1600万行(シャードあたり約350万から400万レコード)があり、1日あたり約50万レコードで増加します。必要に応じて、生産システムを数時間停止する余裕がまだあります。1週間か2週間でこの贅沢はありません。 私の質問は、そうする価値があるのでしょうか?JOINのパフォーマンス、ディスク領域の使用(gzipで圧縮された完全なダンプは1.25 GiB)、そのようなことについて疑問に思っています。 テーブルスキーマは次のとおりです。 # \d twitter_interactions Table "public.twitter_interactions" Column | Type | Modifiers -------------------------+-----------------------------+----------- interaction_id | character(36) | not null status_text | character varying(1024) | not null screen_name | character varying(40) | not null twitter_user_id | bigint | replying_to_screen_name | character varying(40) | source | character varying(240) …
14 postgresql 

1
大きなblobテーブルをmysqlからpostgresqlに移行する方法は?
現在、MySQLデータベースをPostgreSQLに移行しています。私が持っている1つのテーブル-実際には私のアプリで最も重要なテーブルを除いて、ほとんどすべてがうまくいきました(まあ、正しいmysqldumpパラメータなどのためにたくさんのグーグルをした後)。 テーブル構造は非常に単純です。 mysql> show create table samples; .. skipped ... CREATE TABLE `samples` ( `File_ID` int(11) NOT NULL, `File` longblob, PRIMARY KEY (`File_ID`) ) ENGINE=InnoDB DEFAULT CHARSET=binary ただし、非常に大きい(> 20 Gb)。 mysqldumpの--hex-blobパラメーターを使用しようとしましたが、結果のダンプファイルをコマンドファイルとして使用しようとすると、この形式のデータはPostgreSQLで受け入れられません。私が試した別のオプションは、-tabオプションを使用してダンプを取得し、COPYコマンドでPostgreSQLに挿入することです-しかし、-hex-blobは--tabで動作せず、PostgreSQLはまだダンプファイルを受け入れません無効な文字です。 この問題に関してアドバイスをいただければうれしいです-カスタム移行ツールを書くことは結局悪い考えではないと思い始めていますが...

1
pg_stat_activityの行のIDLE状態は何を示していますか?
誰かが私pg_stat_activityのpostgres 9.5に関して下の疑問を解決できますか? state IDLEの行に何が示されているのか教えてもらえますかpg_stat_activity?postgresへの開いている接続をすべてチェックし、接続がIDLEクエリを実行していない場合、接続によって実行された最後のクエリを示しているようですか? 出力ではselect * from pg_stat_activity私は行を見ていますstate IDLEし、query_start_date2日以上古いですか?これは何を意味しますか?これを心配する必要がありますか? pg_stat_activityがどのように読み込まれるかを誰かに教えてもらえますか?Select * from pg_stat_activitypostgresによって維持されているスナップショットから詳細を生成するようなクエリを実行している場合、またはpostgresで開いている現在の接続をチェックして詳細を提供しますか?
14 postgresql 

1
Postgresからの非ASCII行のクエリ
い[:ascii:]クラスの仕事は、すべてのPostgresの中で?彼らのヘルプにはリストされていませんが、それを利用するウェブの例を見ることができます。 UTF-8データベースがあり、照合とc_typ eはen_US.UTF-8であり、Postgresバージョンは9.6.2です。このように非ASCII行を検索すると: select title from wallabag_entry where title ~ '[^[:ascii:]]'; Unicodeシンボルと非Unicodeシンボルの両方を取得します(完全な出力はこちら)。 Сталинская правозащитница: мать Меленкова бабушка Настя Дневник НКВДиста Шабалина: Знает ли Москва положение на фронте? Бег по городу и поездка на осле: как в средневековье наказывали прелюбодеев Как комиссар Крекшин в 1740-е чуть не отменил историю России Have …

2
多数の重複値で使用するインデックスは何ですか?
いくつかの仮定をしてみましょう。 次のような表があります。 a | b ---+--- a | -1 a | 17 ... a | 21 c | 17 c | -3 ... c | 22 私のセットに関する事実: テーブル全体のサイズは〜10 10行です。 私は値で〜100kの行を持ってa列内のa他の値(例えばについても同様、c)。 これは、列 'a'に〜100k個の異なる値があることを意味します。 私のクエリのほとんどは、aの特定の値のすべてまたはほとんどの値を読み取りますselect sum(b) from t where a = 'c'。 テーブルは、連続した値が物理的に近くなるように記述されます(順番に記述されているかCLUSTER、そのテーブルと列で使用されていると仮定しますa)。 テーブルが更新されることはめったにありません。読み取り速度のみが重要です。 テーブルは比較的狭い(タプルごとに〜25バイト、+ 23バイトのオーバーヘッドなど)。 問題は、どのようなインデックスを使用する必要があるかということです。私の理解は: BTreeここでの私の問題は、BTreeインデックスが重複する値を格納することを知っている限り、巨大になることです(テーブルが物理的にソートされていると想定できないため、必要です)。BTreeが巨大な場合、インデックスとインデックスが指すテーブルの部分の両方を読み取る必要があります。(fillfactor = 100インデックスのサイズを少し小さくするために使用できます。) BRIN私の理解では、役に立たないページを読むことを犠牲にして、ここに小さなインデックスを作成できるということです。小さな値を使用pages_per_rangeすると、インデックスが大きくなり(インデックス全体を読み取る必要があるためBRINで問題になります)、大きな値を使用pages_per_rangeすると、多くの無駄なページを読み取ることになります。pages_per_rangeそれらのトレードオフを考慮に入れた優れた価値を見つけるための魔法の公式はありますか? GIN …

2
CTE内から呼び出されたときにPostgreSQL関数が実行されない
私の観察を確認し、なぜこれが起こっているのかについて説明を得たいと思っています。 私は次のように定義された関数を持っています: CREATE OR REPLACE FUNCTION "public"."__post_users_id_coin" ("coins" integer, "userid" integer) RETURNS TABLE (id integer) AS ' UPDATE users SET coin = coin + coins WHERE userid = users.id RETURNING users.id' LANGUAGE "sql" COST 100 ROWS 1000 VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER CTEからこの関数を呼び出すと、SQLコマンドは実行されますが、関数はトリガーされません。次に例を示します。 WITH test AS (SELECT …
14 postgresql  cte 

1
pg_restore中にチェックポイントが頻繁に発生している
PostgreSQL 9.2.2(Windows 32ビット)にはpg_restore、チェックポイントの頻度に関するログ警告を体系的に表示するコマンドがあります。たとえば: LOG: checkpoints are occurring too frequently (17 seconds apart) HINT: Consider increasing the configuration parameter "checkpoint_segments". データベースのサイズは約3.3 Gbで、112テーブル/ 160ビューで、約14分で復元できます。 それが中に発生するのは正常pg_restoreですか?

2
PostgreSQL:スキーマdiff / patchツール[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、データベース管理者のStack Exchangeのトピックになるようにします。 5年前に閉鎖されました。 次の設定を考慮してください。 実動DB 新しい機能を有効にするためにスキーマの変更が行われるdev db 新しい機能の開発が完了したら、pg_dump --schema-only両方のDBが同一になるまでprod dbスキーマを手動で更新する必要があります。このプロセスはエラーが発生しやすく、面倒です。 だから、私はできるツールを探しています: 2つのスキーマの違いの要約を表示しdiffます(など)。スキーマの単なるテキストの差分を探しているのではなく、「Table Xhas a new column Y」のような結論を導き出すことができるより精巧なツールを探していることに注意してください。 あるスキーマを別のスキーマに変換するSQLコードを自動生成します(などpatch) prodスキーマをより高度なdevスキーマに変換するのに役立つスキーマdiff / パッチツールはありますか?

2
公式のPostgreSQL大文字表記規則[終了]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 DB、テーブル、およびフィールド名の大文字使用に関する公式のPostreSQL規約はありますか? 公式サイトの例は小文字と_単語の分離を示唆しており、このポリシーが公式かどうか疑問に思います。 CREATE TABLE films ( code char(5) CONSTRAINT firstkey PRIMARY KEY, title varchar(40) NOT NULL, did integer NOT NULL, date_prod date, kind varchar(10), len interval hour to minute );

3
JSONデータ型のJSON要素を更新する
PostgreSQL 9.3データ型の要素をどのように更新できるかわかりません。 私の例: CREATE TABLE "user" ( id uuid NOT NULL, password character varying(255), profiles json, gender integer NOT NULL DEFAULT 0, created timestamp with time zone, connected timestamp with time zone, modified timestamp with time zone, active integer NOT NULL DEFAULT 1, settings json, seo character varying(255) NOT NULL, …

4
GROUP BYおよびORDER BYを使用した大きなテーブルでのクエリが遅い
次のような、720万タプルのテーブルがあります。 table public.methods column | type | attributes --------+-----------------------+---------------------------------------------------- id | integer | not null DEFAULT nextval('methodkey'::regclass) hash | character varying(32) | not null string | character varying | not null method | character varying | not null file | character varying | not null type | character varying | …

2
サブセット集合体の制約のモデリング?
私はPostgreSQLを使用していますが、ほとんどのトップエンドデータベースには同様の機能が必要であり、さらにそれらのソリューションがソリューションを刺激する可能性があると考えているため、このPostgreSQL固有のものを考慮しないでください。 私はこの問題を解決しようとする最初の人ではないことを知っているので、ここで質問する価値があると思いますが、すべてのトランザクションが基本的にバランスが取れるように会計データをモデル化するコストを評価しようとしています。アカウンティングデータは追加専用です。ここでの全体的な制約(擬似コードで記述)は、おおよそ次のようになります。 CREATE TABLE journal_entry ( id bigserial not null unique, --artificial candidate key journal_type_id int references journal_type(id), reference text, -- source document identifier, unique per journal date_posted date not null, PRIMARY KEY (journal_type_id, reference) ); CREATE TABLE journal_line ( entry_id bigint references journal_entry(id), account_id int not null references account(id), …

2
EXPLAINコマンドの時間形式について-Postgres
特定のクエリでEXPLAIN ANALYZEコマンドを実行すると、出力された時間値の解釈が困難になります。たとえば(実際の時間= 8163.890..8163.893)。内部小数は繰り返し文字を表しますか?? 申し訳ありませんが、これは初心者向けの質問かもしれませんが、結果を正しく解釈していることを確認したいと思います。 -> GroupAggregate (cost=2928781.21..2929243.02 rows=1 width=27712) (actual time=8163.890..8163.893 rows=1 loops=1)

2
pgAdminで列を自動インクリメントするように指定するにはどうすればよいですか?
PostgreSQLデータベースを管理するためにpgAdmin IIIを学び始めました。しかし、それは使いやすいアプリケーションではありませんでした。 pgAdmin IIIでテーブルを作成または作成した場合、整数型の列IDに「自動インクリメント」機能を追加するにはどうすればよいですか?

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