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

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

2
PostgreSQLでサポートされていないLC_COLLATEおよびLC_TYPEをサポートするようにWindowsを強制する方法は?
PostgreSQL 9.1.xの新規インストールがあります。残念ながら、私はOSがLC_COLLATE = 'pl_PL.utf8'およびをサポートしていないことを発見しましたLC_CTYPE = 'pl_PL.utf8'。私はPostgreSQLのドキュメントを読みました: すべてのプラットフォームで、default、C、およびPOSIXという名前の照合が使用可能です。オペレーティングシステムのサポートによっては、追加の照合が使用できる場合があります。 しかし、Windowsにそのロケールをサポートさせる方法はありますか?私はパッチ、プラグインまたは何かを意味します。

5
PostgreSQLインポートCSVファイルにより構文エラーが発生する
「COPY」コマンドを使用してCSVファイルをデータベースにインポートしようとしています。ただし、スーパーユーザーになる必要があり、代わりに「\ copy」を使用する必要があるという(一般的なように見える)エラーが表示されます。ただし、\ copyを使用すると、構文エラーが発生します。 ERROR: syntax error at or near "\" LINE 1: \copy キャレットが「\」を指している。これが私のクエリです: \copy tablename(column2, column3, column4, column5) from '/home/uploads/data.csv' WITH DELIMITER ',' CSV HEADER' 「copy」と「\ copy」の両方を試しました。最初にスーパーユーザーエラーが表示され、後者に構文エラーが表示されます。それを修正する方法について何か考えはありますか?それを機能させますか? myPgAdminのsql入力フィールドを介してコマンドを実行しています。 私が持っている他の唯一の質問は、tablename(column2、column3など)を介した列のインポートに関するものです。それは正しい構文ですか?

3
psql変数を連結する方法は?
2つのpsql(PostgreSQLクライアント)変数をどのように連結できますか?ディレクトリパス変数とファイル名変数を連結して絶対パスを生成したい。 私はこれを試しました: \set path '/tmp/' \set file 'foo' \echo :path:file しかし、psqlはパスとファイルの間にスペースを入れて出力します。 /tmp/ foo

3
全文検索クエリでのORDER BYの最適化
entities1500万レコードまでの大きなテーブルがあります。の「ホッケー」に一致する上位5行を見つけたいname。 に全文索引がありますname。これは次のように使用されます。gin_ix_entity_full_text_search_name クエリ: SELECT "entities".*, ts_rank(to_tsvector('english', "entities"."name"::text), to_tsquery('english', 'hockey'::text)) AS "rank0.48661998202865475" FROM "entities" WHERE "entities"."place" = 'f' AND (to_tsvector('english', "entities"."name"::text) @@ to_tsquery('english', 'hockey'::text)) ORDER BY "rank0.48661998202865475" DESC LIMIT 5 期間25,623ミリ秒 計画を説明する 1制限(コスト= 12666.89..12666.89行= 5幅= 3116) 2->ソート(コスト= 12666.89..12670.18行= 6571幅= 3116) 3ソートキー:(ts_rank(to_tsvector( 'english' :: regconfig、(name):: text)、 '' 'hockey' '' :: tsquery)) 4->エンティティに対するビットマップヒープスキャン(コスト= …

1
PostgreSQLフェイルオーバー-どのツールを使用する必要がありますか?
ここにシナリオがあります: CentOS 6.2を実行しているマシンが2つあります-machine0とmachine1 どちらにもPostgreSQL 9.1がインストールされています。 それらの1つはマスターシステムとしてアクティブでなければならず、非同期ストリーミングレプリケーションを介して他のマシンを介して、スタンバイはマスターシステムからデータベースに変更をコピーする必要があります。 最初はmachine0がマスターで、machine1がスタンバイであると想定します。 マスター(machine0など)に障害が発生した場合(ここでの障害とは、postgresqlサーバーがクラッシュしたことを意味します)、スタンバイはマスターから引き継ぎ、新しいマスターになる必要があります。 machine1は、新しいマスターがすべてのデータベース操作を処理し、machine0のpostgresqlサーバーがオンラインに戻ると、スタンバイになり、machine1との接続を失った時点から同期を開始し、すべての変更をデータベースにコピーしてスタンバイモードのままにします。 machine1に障害が発生すると、サイクル全体が繰り返されます。 スタンバイに障害が発生してオンラインに戻ると、マスターからの読み取りが開始され、データが同期されます。 PostgreSQLはデフォルトではフェイルオーバーを備えていないことを理解しているので、これを設定するために使用する必要があるツールについて混乱しています。 誰かが私が私がしようとしていることをする方法を説明するスレッド/ページに私をリンクできれば、私は本当に感謝します。

2
一意の列に値が存在するかどうかをチェックすることの長所と短所、または挿入時にdbに一意のエラーを発生させる
先日クエリを書いていると、思いが浮かんできてしまいました。 最初に一意の列の値が存在するかどうかを確認し、次に挿入するか挿入して、dbに一意の制約エラーを発生させますか?それは重要ですか? 編集:この問題はデータベースに依存するという回答で以下に示すように、タグpostgresqlを追加しています。

3
PostgreSQL対Oracleの高可用性ソリューション?
PostgreSQLには、RDBMSへのレプリケーションを構築するさまざまな方法を表すさまざまな高可用性オプションのマトリックスがあります。 ここにあるPostgreSQLの高可用性、負荷分散およびレプリケーション機能のマトリックス ご質問 OracleがサポートするPostgreSQL High Availability Matrixのアプローチはどれですか? OracleはPostgreSQLでは利用できない手法で高可用性を実現しますか?

2
PostgreSQL:同じクエリでの複雑な中間結果の再利用
PostgreSQLの(8.4)は、私はいくつかのテーブルから様々な結果をまとめたビューを作成しています使用して(例えば、列を作成しa、b、cビュー内)、その後、私は(一緒に同じクエリでこれらの結果の一部を結合する必要があるなどa+b、a-b、(a+b)/c、...)、最終結果を生成するようにします。私が気づいているのは、同じクエリ内で実行された場合でも、中間結果が使用されるたびに完全に計算されることです。 毎回同じ結果が計算されるのを避けるためにこれを最適化する方法はありますか? これは、問題を再現する簡単な例です。 CREATE TABLE test1 ( id SERIAL PRIMARY KEY, log_timestamp TIMESTAMP NOT NULL ); CREATE TABLE test2 ( test1_id INTEGER NOT NULL REFERENCES test1(id), category VARCHAR(10) NOT NULL, col1 INTEGER, col2 INTEGER ); CREATE INDEX test_category_idx ON test2(category); -- Added after edit to this question CREATE INDEX test_id_idx …

1
PostgreSQLのスキーマの概念
PostgreSQLのスキーマの概念と使用法を理解できません。データベース設計にどのように影響するかわかりません。なぜ使用する必要があるのですか? 今は考えず、後で心配することになった場合、将来的に影響がありますか? 例による説明がいいでしょう。

2
PostgreSQL:他のテーブルのスキーマ名とテーブル名を使用していますか?
すべてのスキーマ名が1つのテーブルにあり、すべてのテーブル名が別のテーブルにある状況を考えてみます。 次のようなコード(疑似コード)を実行することは可能ですか? SELECT value FROM (SELECT schema_name FROM schemas).(SELECT table_name FROM tables) または、クエリを3つのSELECTに分割する必要がありますか?

3
MySQLおよびPostgreSQLライセンスの問題
当社は、1つのソフトウェア製品にMySQLを使用したいと考えています。この製品はオープンソースではありません。自由に使用することは合法ですか? そうでない場合、PostgreSQLはどうですか?これは私たちの目的で大丈夫ですか?

3
Postgres、MVCC、およびロック
次のような一連のSQLステートメントがあります。 BEGIN; SELECT counter FROM table WHERE id=X FOR UPDATE; REALLY COMPLEX QUERY; UPDATE table SET counter=Y WHERE id=X; END; 値を再計算している間、カウンターが読み取られないようにしたいのですが、Postgresのドキュメントによると、「行レベルのロックはデータのクエリに影響を与えません。それらは同じ行への書き込みのみをブロックします。」 質問: 読み取りを妨げない場合の「排他的」行ロックの意味は何ですか?他のトランザクションが共有ロックを取得するのを防ぐだけですか? SELECT ... FOR SHAREを使用して行を読み取ると、「排他的」ロックと同じ影響がありますか? テーブル/スキーマ/データベースのMVCCをオフにして、インプレース書き込みを許可することは可能ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.