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

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

6
PostgreSQLでON CONFLICTを使用してRETURNINGを使用する方法
PostgreSQL 9.5には次のUPSERTがあります。 INSERT INTO chats ("user", "contact", "name") VALUES ($1, $2, $3), ($2, $1, NULL) ON CONFLICT("user", "contact") DO NOTHING RETURNING id; 競合がない場合は、次のようなものが返されます。 ---------- | id | ---------- 1 | 50 | ---------- 2 | 51 | ---------- ただし、競合がある場合、行は返されません。 ---------- | id | ---------- id競合がない場合は新しい列を返すかid、競合する列の既存の列を返します。 これはできますか?もしそうなら、どうですか?


5
PostgreSQL:それぞれ1つのスキーマを持つ複数のデータベース、または複数のスキーマを持つ1つのデータベースを使用する方が良いですか?
私の質問の1つに対するこのコメントの後、Xスキーマを備えた1つのデータベースを使用する方が良いのか、またはその逆なのかを考えています。 私の状況:登録時にデータベースを(実際には)作成するWebアプリケーションを開発しています(いいえ、それはソーシャルネットワークではありません:誰もが自分のデータにアクセスできなければならず、他のユーザーのデータを見ることはありません)。 。 これが、以前のバージョンのアプリケーション(まだMySQLで実行されている)で使用した方法です。PleskAPIを使用して、すべての登録に対して、次のことを行います。 制限付きの権限を持つデータベースユーザーを作成します。 前に作成したユーザーとスーパーユーザーだけがアクセスできるデータベースを作成します(メンテナンス用) データベースに入力する 今、私はPostgreSQLでも同じことをする必要があります(プロジェクトは成熟し、MySQLになっています...すべてのニーズを満たすわけではありません)。 すべてのデータベース/スキーマのバックアップを独立させる必要があります。pg_dumpは両方の方法で完全に機能し、1つのスキーマまたは1つのデータベースのみにアクセスするように構成できるユーザーにとっても同じです。 それで、あなたが私よりも経験豊富なPostgreSQLユーザーであると仮定すると、私の状況に最適なソリューションは何だと思いますか、そしてその理由は? $ xスキーマの代わりに$ xデータベースを使用するとパフォーマンスに違いがありますか?そして、どのソリューションが将来的に維持する方が良いでしょう(信頼性)? すべてのデータベース/スキーマは常に同じ構造になります! バックアップの問題(pg_dumpを使用)の場合、1つのデータベースと多くのスキーマを使用して、すべてのスキーマを一度にダンプする方が良いでしょう。回復は、開発マシンにメインダンプをロードして、必要なスキーマだけをダンプして復元することで非常に簡単です。これは1つの追加ステップですが、すべてのスキーマをダンプすると、1つずつダンプするよりも高速に見えます。 アップデート2012 さて、この2年間で、アプリケーションの構造とデザインは大きく変化しました。私はまだこのone db with many schemasアプローチを使用していますが、アプリケーションのバージョンごとに 1つのデータベースがあります。 Db myapp_01 \_ my_customer_foo_schema \_ my_customer_bar_schema Db myapp_02 \_ my_customer_foo_schema \_ my_customer_bar_schema バックアップについては、各データベースを定期的にダンプし、バックアップを開発サーバーに移動しています。 私はPITR / WALバックアップも使用していますが、前に述べたように、すべてのデータベースを一度に復元する必要はほとんどないので、おそらく今年は却下されます(私の状況では最善のアプローチではありません) )。 アプリケーションの構造が完全に変更されていても、one-db-many-schemaアプローチは今から非常にうまく機能しました。 私はほとんど忘れてしまいました:すべてのデータベース/スキーマは常に同じ構造になります! ...すべてのスキーマには、ユーザーのデータフローに応じて動的に変化する独自の構造があります。

18
SQLを使用してPostgres db 8.1のすべてのシーケンスを一覧表示する
私はdbをpostgresからmysqlに変換しています。 トリック自体を実行するツールが見つからないため、mysqlですべてのpostgresシーケンスをautoincrement値を持つautoincrement idに変換します。 では、Postgres DB(8.1バージョン)のすべてのシーケンスを、それが使用されているテーブル、次の値などの情報とともにSQLクエリで一覧表示するにはどうすればよいですか? information_schema.sequences8.4リリースではビューを使用できないことに注意してください。

16
PostgreSQLクライアントライブラリ(libpq)が見つかりません
Mac OS X 10.6にPostgreSQL for Railsをインストールしようとしています。最初にMacPortsインストールを試しましたが、うまくいきませんでしたので、ワンクリックDMGインストールを行いました。それはうまくいったようです。 PostgreSQL開発パッケージをインストールする必要があると思いますが、OS Xでそれを行う方法がわかりません。 これが私がやろうとしたときに得られるものですsudo gem install pg: $ sudo gem install pg Building native extensions. This could take a while... ERROR: Error installing pg: ERROR: Failed to build gem native extension. /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb checking for pg_config... yes Using config values from /Library/PostgreSQL/8.3/bin/pg_config checking for libpq-fe.h... …

2
Postgres / SQLで2つの整数の最小/最大を取得するにはどうすればよいですか?
Postgres / SQLで2つの整数の最大(または最小)を見つけるにはどうすればよいですか?整数の1つが列の値ではありません。 シナリオの例を示します。 (すべての行の)列から整数を減算したいのですが、結果がゼロ未満であってはなりません。だから、最初に、私は持っています: UPDATE my_table SET my_column = my_column - 10; しかし、これはいくつかの価値を否定的にする可能性があります。(擬似コードで)私が欲しいのは: UPDATE my_table SET my_column = MAXIMUM(my_column - 10, 0);
146 postgresql 

6
PostgreSQLはより多くの出力を無効にします
PostgreSQLサーバーでスクリプトを実行しています。 psql db -f sql.sql bashかでcronスクリプトを実行します。 moreまたはで出力をページ分割しようとし続けlessます。 で結果のページ分割を無効にするにはどうすればよいpsqlですか? 私がやりたいのは、データを変更することだけです。出力については気にしません。
146 postgresql 

4
LATERALとPostgreSQLのサブクエリの違いは何ですか?
PostgresがLATERAL結合を行う機能を備えて以来、私は現在、全体のクエリに4分以上かかる多くの非効率的なサブクエリを使用してチームの複雑なデータダンプを行っているので、それについて調べてきました。 LATERAL結合が役立つ場合があることを理解していますが、Heap Analyticsからこのような記事を読んだ後でも、私はまだ完全には従いません。 LATERAL結合のユースケースは何ですか?LATERAL結合とサブクエリの違いは何ですか?



8
奇妙なSQLAlchemyエラーメッセージ:TypeError: 'dict'オブジェクトはインデックス作成をサポートしていません
私はSqlAlchemyを使用して、手作りのSQLを使用してPGデータベースからデータをフェッチしています。SQLのような演算子 '%'を含むクエリを試行していますが、ループを介してSqlAlcjhemyをスローするようです。 sql = """ SELECT DISTINCT u.name from user u INNER JOIN city c ON u.city_id = c.id WHERE c.designation=upper('fantasy') AND c.id IN (select id from ref_geog where short_name LIKE '%opt') """ # The last line in the above statement throws the error mentioned in the title. # However …

8
PostgreSQLでデータベース間クエリを実行できますか?
以下のエラーメッセージ(およびこのGoogleの結果)に基づいて、答えは「いいえ」であると推測しますが、PostgreSQLを使用してクロスデータベースクエリを実行する方法はありますか? databaseA=# select * from databaseB.public.someTableName; ERROR: cross-database references are not implemented: "databaseB.public.someTableName" 2つのデータベース間で分割されているデータを使用していますが、データは実際には2つのデータベース間で共有されています(一方のデータベースのユーザーID列は、もう一方のデータベースのusersテーブルから取得されます)。これらがスキーマではなく2つの別個のデータベースである理由はわかりませんが、最も重要なのは...
144 sql  postgresql 

2
postgresqlで複数の列を削除する方法
PostgreSQLのテーブルに200列をドロップします。私は試した: ALTER TABLE my_table DROP COLUMN col1, col2 しかし、私はこのようなエラーを受け取ります: エラー:「col2」またはその近くの構文エラー
144 postgresql 

3
PostgreSQLは配列の列にインデックスを付けることができますか?
ドキュメントでこの質問に対する明確な答えを見つけることができません。列が配列型の場合、入力されたすべての値に個別にインデックスが付けられますか? 1つのint[]列を持つ単純なテーブルを作成し、そのテーブルに一意のインデックスを配置しました。同じintの配列を追加できないことに気づきました。これは、インデックスが各項目のインデックスではなく、配列項目の複合であると私に思わせます。 INSERT INTO "Test"."Test" VALUES ('{10, 15, 20}'); INSERT INTO "Test"."Test" VALUES ('{10, 20, 30}'); SELECT * FROM "Test"."Test" WHERE 20 = ANY ("Column1"); インデックスはこのクエリに役立ちますか?

8
Rails:FATAL-ユーザーのピア認証が失敗しました(PG :: Error)
Ubuntu 11.10とRubyMineで開発を実行しています RubyMineが作成したdatabase.ymlの開発設定は次のとおりです development: adapter: postgresql encoding: unicode database: mydb_development pool: 5 username: myuser password: アプリを実行しようとすると、以下のエラーが表示されます。「プロジェクト」ユーザーをまだ作成していないようですが、ユーザーを作成してpostgresにデータベースを付与するにはどうすればよいですか。これが問題の場合、Ubuntuでこのタスクに使用する推奨ツールは何ですか?これが問題でない場合は、アドバイスをお願いします。 Exiting /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1194:in `initialize': FATAL: Peer authentication failed for user "project" (PG::Error) from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1194:in `new' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1194:in `connect' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:329:in `initialize' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `new' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `postgresql_connection' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:303:in `new_connection' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:313:in `checkout_new_connection' from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:237:in …

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