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

PostgreSQLは、Linux、UNIX、Windows、OS Xを含むすべての主要なプラットフォームで利用できるオープンソースのオブジェクトリレーショナルデータベース管理システム(ORDBMS)です。質問する場合は、Postgresの正確なバージョンをお知らせください。管理または高度な機能に関する質問は、dba.stackexchange.comに直接送信してください。

3
PostgreSQLの主キーを1にリセットします
PostgreSQLテーブルの主キーをリセットして、データが入力されたテーブルで再び1から開始する方法はありますか? 現在、1000000以上の数値を生成しています。すべてをリセットして1から開始し、既存のすべてのデータをそのまま維持します。


9
Windows用の良いpostgresqlクライアント?[閉まっている]
現在のところ、この質問は私たちのQ&A形式には適していません。回答は事実、参考資料、または専門知識によって裏付けられることを期待していますが、この質問は、討論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてガイダンスを入手してください。 7年前に閉鎖されました。 数年のオラクルの後にpostgresqlに戻ってきました... Windowsにフロントエンドを挿入する最先端のpostgresql管理/ ddl生成/データとは何ですか?postgisにも統合されていればいいのですが。それはスタンドアロンであるか、あるいはintellijideaのプラグインである必要があります 振り返ってみると、私が使用したpostgresqlに固有のすべてのWindowsプログラム、特にPGAdminはがらくたでした。良くなりましたか?

8
PostgreSQLJSON列をHibernateエンティティプロパティにマッピングする
PostgreSQL DB(9.2)にJSON型の列を持つテーブルがあります。この列をJPA2エンティティフィールドタイプにマップするのに苦労しています。 Stringを使おうとしましたが、エンティティを保存すると、文字の変化をJSONに変換できないという例外が発生します。 JSON列を処理するときに使用する正しい値のタイプは何ですか? @Entity public class MyEntity { private String jsonPayload; // this maps to a json column public MyEntity() { } } 簡単な回避策は、テキスト列を定義することです。

4
PostgresDBがMacOSXで起動しない:エラーによると:Unixドメインソケットでの接続[クローズ]
閉まっている。この質問は、StackOverflowのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、スタックオーバーフローのトピックになります。 3年前に閉鎖されました。 この質問を改善する Postgresqlをインストールしてから、ローカルのMac OSX Mountain Lionで多数のrailsアプリを実行し、データベースなどを作成しました。しばらくしてpgAdminIIIを起動し、データベースサーバーを起動しようとすると、次のエラーが発生しました。 簡単なグーグルがこの投稿を示しました。より多くのブラウジングは、これの根本的な原因であるかもしれないある種のpostmaster.pidファイルが周りにあるかもしれないという事実を指摘しました。それを削除すれば大丈夫です。 ただし、コンピューター上のものを削除する前に、Imがこれを体系的な方法でデバッグしていることを確認したかったので、問題が発生することはありません。 そのファイルを削除する前にどこかでそれを読んだので、次のコマンドを実行する必要があります。 ps auxw | grep post 結果が得られない場合は、ファイルを削除しても問題ありません。そうでなければありません。さて、私はそのコマンドのこの結果を得ました: AM 476 0.0 0.0 2423356 184 s000 R+ 9:28pm 0:00.00 grep post だから今はもちろん私は完全に混乱しています。 だから私は何をすべきですか? これが私のpostgresサーバーエラーログの一部です: FATAL: lock file "postmaster.pid" already exists HINT: Is another postmaster (PID 171) running in data directory "/usr/local/var/postgres"? Postgresqlはまだ実行されておらず、同じエラーが発生し、何も変更されていません。SOをチェックせずに物事を削除するにはあまりにも鶏です。 …

17
PostgreSQLの隠された機能[クローズ]
クローズ。この質問はもっと焦点を合わせる必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てるようにします。 6年前に閉鎖されました。 この質問を改善する これがまだ投稿されていないことに驚いています。Postgresで知っている興味深いトリックはありますか?あいまいな構成オプションとスケーリング/パフォーマンスのトリックは特に歓迎されます。 対応するMySQLスレッドの9つのコメントを打ち負かすことができると確信しています:)

5
Postgresで「エラー:列c.relhasoidsが存在しない」を修正する方法
PostgresqlでCREATE TABLEコマンドを作成しようとしています。テーブルを作成した後、TABLE table nameをパンチインすると機能します。 しかし、私は\ d table nameをパンチインします、以下のエラーが出ます。 ERROR: column c.relhasoids does not exist LINE 1: ...riggers, c.relrowsecurity, c.relforcerowsecurity, c.relhasoi... DROP DATABASE テーブル名でデータベースを再作成し、テーブルを数回再作成しようとしました。しかし、それはうまくいきませんでした。 任意の提案をいただければ幸いです!ありがとうございました。
33 postgresql 

3
PostgreSQLのCI / CDパイプラインが「データベースが初期化されておらず、スーパーユーザーのパスワードが指定されていない」エラーで失敗する
CI / CD用のPosgreSQLでBitbucketパイプラインを使用しています。このドキュメントによると、PostgreSQLサービスは次のように説明されbitbucket-pipelines.ymlています。 definitions: services: postgres: image: postgres:9.6-alpine 今までは問題なく動作しました。しかし、最新のパイプラインはすべて次のエラーで失敗しました: Error: Database is uninitialized and superuser password is not specified. You must specify POSTGRES_PASSWORD for the superuser. Use "-e POSTGRES_PASSWORD=password" to set it in "docker run". You may also use POSTGRES_HOST_AUTH_METHOD=trust to allow all connections without a password. This is *not* …

1
Pyspark dfからPostgresSQLに5,000万以上を書き込む、最も効率的なアプローチ
数百万のレコードを挿入する最も効率的な方法は、SparkデータフレームからPostgresテーブルに5,000万を挿入することです。私もこれまで成功したバルクコピーとバッチサイズオプションを利用して、これをSparkから MSSQLまで実現しました。 Postgresのためにここにあることができる同様のものはありますか? 私が試したコードとプロセスの実行にかかった時間を追加します: def inserter(): start = timer() sql_res.write.format("jdbc").option("numPartitions","5").option("batchsize","200000")\ .option("url", "jdbc:postgresql://xyz.com:5435/abc_db") \ .option("dbtable", "public.full_load").option("user", "root").option("password", "password").save() end = timer() print(timedelta(seconds=end-start)) inserter() したがって、1000万レコードに対して上記のアプローチを実行しnumPartitions、で指定されているように5つの並列接続があり、バッチサイズを200kにしてみました。 プロセスにかかった合計時間は0:14:05.760926(14分5秒)でした。 時間を短縮する他の効率的なアプローチはありますか? 私が使用できる効率的または最適なバッチサイズは何ですか?バッチサイズを大きくすると、作業が速くなりますか?または、複数の接続を開く、つまり5を超えると、プロセスが速くなりますか? 上千万レコードの平均14分悪くないですが、ヘルプにこの質問に答える前にこれをやっているだろうそこに人を探しています。

1
TLS構成を有効にしてTraefik TCPサービスに接続する方法
ドメイン名を介してサービスにアクセスできるようにし、別のポートを設定する必要がないようにTraefikを構成しようとしています。たとえば、2つのMongoDBサービスが両方ともデフォルトポートにありますが、異なるドメインにexample.localhostありexample2.localhostます。この例だけが機能します。つまり、他のケースはおそらく機能しますが、それらに接続できず、問題が何であるか理解できません。これはおそらくTraefikの問題でもありません。 動作する例を含むリポジトリを用意しました。mkcertを使用して独自の証明書を生成するだけです。のページexample.localhostは403 Forbiddenエラーを返しますが、この構成の目的はSSLが機能していることを示すこと(南京錠、緑のステータス)であるため、心配する必要はありません。したがって、に集中しないでください403。 mongoサービスへのSSL接続のみが機能します。Robo 3Tプログラムでテストしました。SSL接続を選択した後、ホストを提供example.localhostし、自己署名(または独自の)接続用の証明書を選択すると機能します。そして、それがそのように機能する唯一のものです。接続redis(Redisのデスクトップマネージャ)とするpgsql(PhpStorm、DBeaver、DbVisualizerのは)にかかわらず、私は証明書を提供するかどうかの、仕事をしないでください。SSLをサービスに転送せず、Traefikにのみ接続します。私はそれに長い時間を費やしました。インターネットを検索しました。まだ答えが見つかりません。誰かがこれを解決しましたか? PS。私はLinux Mintで作業しているので、私の構成はこの環境で問題なく動作するはずです。Linuxの解決策を求めます。 リポジトリを参照したくない場合は、最も重要なファイルを添付します。 docker-compose.yml version: "3.7" services: traefik: image: traefik:v2.0 ports: - 80:80 - 443:443 - 8080:8080 - 6379:6379 - 5432:5432 - 27017:27017 volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./config.toml:/etc/traefik/traefik.config.toml:ro - ./certs:/etc/certs:ro command: - --api.insecure - --accesslog - --log.level=INFO - --entrypoints.http.address=:80 - --entrypoints.https.address=:443 - --entrypoints.traefik.address=:8080 - --entrypoints.mongo.address=:27017 …

4
JPA継承@EntityGraphには、サブクラスのオプションの関連付けが含まれます
次のドメインモデルを前提Answerとして、Valuesとそれぞれのサブ子を含むすべてのをロードし、それをに入れてAnswerDTOJSONに変換したいと思います。私は実用的な解決策を持っていますが、アドホックを使用して取り除く必要があるN + 1の問題に悩まされています@EntityGraph。すべての関連付けが構成されますLAZY。 @Query("SELECT a FROM Answer a") @EntityGraph(attributePaths = {"value"}) public List<Answer> findAll(); アドホック使用@EntityGraph上のRepository方法私は値が上にN + 1を防止するために、プリフェッチされることを保証することができるAnswer->Value関連付けを。私の結果は問題ありませんselectedが、MCValuesの関連付けの遅延読み込みのため、別のN + 1問題があります。 これを使う @EntityGraph(attributePaths = {"value.selected"}) selectedもちろん、フィールドは一部のValueエンティティの一部にすぎないためです。 Unable to locate Attribute with the the given name [selected] on this ManagedType [x.model.Value]; selected値がaの場合にのみ、関連付けをフェッチしようとするようJPAに指示するにはどうすればよいMCValueですか?のようなものが必要ですoptionalAttributePaths。

3
切り替えるために複数のデータベース接続プールをレールに置くことは可能でしょうか?
少し背景 私は何年もマルチテナントアプリを実行するためにApartment gemを使用しています。最近、データベースを別のホストにスケールアウトする必要が出てきました。dbサーバーはこれ以上追いつくことができません(読み取りと書き込みの両方が多すぎる)-そしてはい、ハードウェアを最大にスケールしました(専用)ハードウェア、64コア、RAID 10の12個のNvm-eドライブ、384Gb RAMなど)。 これはnumber-of-tenants、アプリケーションコードを変更することなく、最大で倍の容量を実現するための「シンプル」で効率的な方法であるため、このテナントごと(1テナント= 1データベース接続構成/プール)を使用することを検討していました。 現在、私はレール4.2気圧を実行していますが、すぐに5.2にアップグレードします。rails 6はモデルごとの接続定義のサポートを追加していることがわかりますが、20のテナントごとに完全にミラーリングされたデータベーススキーマがあるため、実際には必要ありません。通常、リクエストごと(ミドルウェア内)またはバックグラウンドジョブごと(sidekiqミドルウェア)に「データベース」を切り替えますがsearch_path、Postgresqlでを設定するだけで実際の接続は実際には変更しないので、これは現在のところ簡単で、Apartment gemで処理されます。テナントごとのホスティング戦略に切り替える場合、リクエストごとに接続全体を切り替える必要があります。 質問: 私ActiveRecord::Base.establish_connection(config)はリクエストごと/バックグラウンドジョブを実行できることを理解しています-しかし、私も理解しているように、まったく新しいデータベース接続のハンドシェイクが作成され、新しいDBプールがRailsで生成されます-正しいですか?これは、アプリケーションへのすべてのリクエストでこの種のオーバーヘッドを発生させるパフォーマンス自殺になると思います。 したがって、たとえば複数(合計20)のデータベース接続/プールを最初から(たとえば、アプリケーションの起動時に)事前に確立するレールのオプションが表示され、リクエストごとにそれらのプールを切り替えることができるかどうか疑問に思いますか?そのため、彼はdb接続がすでに作成され、使用できるようになっています。 これらはすべて単に貧しい貧しいアイデアですか?代わりに別のアプローチを探す必要がありますか?たとえば、1つのアプリインスタンス= 1つの特定のテナントへの1つの特定の接続。または、他の何か。

2
PgAdmin:パッケージ 'pgAdmin4'にはインストール候補がありません
PostgreSQLをインストールしたばかりで、pgdmin4をインストールしようとしていますが、以下のコマンドを実行してpgadmin4とpgadmin4-apache2をインストールします sudo apt install pgadmin4 pgadmin4-apache2 よくエラーが出ます E:パッケージ 'pgadmin4'にはインストール候補がありません E:パッケージpgadmin4-apache2が見つかりません 私は多くの解決策を試してみましたが、どれもトリックを行うようには見えません。助けが必要です。

2
PostgreSQL(全文検索)とElasticSearch
こんにちは私は私のサービスに検索機能を実装する前にいくつかの研究をしています。現在、PostgreSQLをメインストレージとして使用しています。私は間違いなくPostgreSQLの組み込みの全文検索を使用できますが、問題はデータが複数のテーブルに分散していることです。 私のサービスはeコマースWebサイトです。したがって、顧客が「良いappleラップトップ」を検索した場合、すべての投稿を完全に検索するには、Brandテーブル、postテーブル、およびreviewテーブル(1つの投稿は複数のレビューと短い要約の組み合わせ)を結合する必要があります。elasticsearchを使用する場合、前処理により完全な投稿を挿入できます。 私の調査によると、PostgreSQLのFTSとelasticsearchは同じようなパフォーマンスを発揮するという人もいれば、elasticsearchの方が速いと言う人もいます。私の場合、どちらがより良い解決策でしょうか? 前もって感謝します

2
実行/実行に永遠にかかる単純なPythonメソッド
私のコードがclean_up()メソッドでスタックしますMyClass() my_class.py: import os import pandas as pd import psycopg2, pymysql, pyodbc from db_credentials_dict import db_credentials class MyClass(): def __init__(self, from_database, to_table_name, report_name): ... def get_sql(self): ... def get_connection(self): ... def query_to_csv(self): ... def csv_to_postgres(self): ... def extract_and_load(self): self.query_to_csv() self.csv_to_postgres() def get_final_sql(self): ... def postgres_to_csv(self): ... def clean_up(self): print('\nTruncating {}...'.format(self.to_table_name), …

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