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

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


1
PostgreSQL INSERT ON CONFLICT UPDATE(upsert)はすべての除外値を使用します
行をアップサートし(PostgreSQL> = 9.5)、可能なINSERTを可能なUPDATEとまったく同じにしたい場合は、次のように記述できます。 INSERT INTO tablename (id, username, password, level, email) VALUES (1, 'John', 'qwerty', 5, 'john@mail.com') ON CONFLICT (id) DO UPDATE SET id=EXCLUDED.id, username=EXCLUDED.username, password=EXCLUDED.password, level=EXCLUDED.level,email=EXCLUDED.email もっと短い方法はありますか?ただ言うと、すべてのEXCLUDE値を使用します。 SQLiteで私は以前使用していました: INSERT OR REPLACE INTO tablename (id, user, password, level, email) VALUES (1, 'John', 'qwerty', 5, 'john@mail.com')

15
psycopg2:1つのクエリで複数の行を挿入する
1つのクエリで複数の行を挿入する必要があるため(行数は一定ではありません)、次のようなクエリを実行する必要があります。 INSERT INTO t (a, b) VALUES (1, 2), (3, 4), (5, 6); 私が知る唯一の方法は args = [(1,2), (3,4), (5,6)] args_str = ','.join(cursor.mogrify("%s", (x, )) for x in args) cursor.execute("INSERT INTO t (a, b) VALUES "+args_str) でももっと簡単な方法が欲しい。


25
Postgresql 9.2のpg_dumpバージョンの不一致
pg_dumpツールを使用してPostgresqlデータベースをダンプしようとしています。 $ pg_dump books > books.out どうすればこのエラーが発生します。 pg_dump: server version: 9.2.1; pg_dump version: 9.1.6 pg_dump: aborting because of server version mismatch この--ignore-versionオプションは現在廃止されており、機能しても問題の解決策にはなりません。 この問題を解決するためにpg_dumpをアップグレードするにはどうすればよいですか?



3
Postgresの2つのフィールドのMIN()を取得するにはどうすればよいですか?
次のようなテーブルがあるとします。 name | score_a | score_b -----+---------+-------- Joe | 100 | 24 Sam | 96 | 438 Bob | 76 | 101 ... | ... | ... score_aとscore_bの最小値を選択します。つまり、次のようなものです。 SELECT name, MIN(score_a, score_b) FROM table もちろん、結果は次のようになります。 name | min -----+----- Joe | 24 Sam | 96 Bob | 76 ... | …
140 sql  postgresql  min 

7
Postgres:bashスクリプトから再作成/再入力する前にデータベース全体をクリアします
私はシェルスクリプト(cronジョブになる)を書いています。 1:本番データベースをダンプする 2:ダンプを開発データベースにインポートする 手順1と2の間で、開発データベースをクリアする必要があります(すべてのテーブルを削除しますか?)。シェルスクリプトからこれをどのように行うのが最善ですか?これまでのところ、次のようになります。 #!/bin/bash time=`date '+%Y'-'%m'-'%d'` # 1. export(dump) the current production database pg_dump -U production_db_name > /backup/dir/backup-${time}.sql # missing step: drop all tables from development database so it can be re-populated # 2. load the backup into the development database psql -U development_db_name < backup/dir/backup-${time}.sql

8
PostgreSQLエラー:リカバリとの競合によりステートメントをキャンセルしています
スタンバイモードでPostgreSQL dbに対してクエリを実行すると、次のエラーが発生します。エラーの原因となるクエリは1か月間は正常に機能しますが、1か月以上クエリを実行するとエラーが発生します。 ERROR: canceling statement due to conflict with recovery Detail: User query might have needed to see row versions that must be removed 解決方法に関する提案はありますか?ありがとう

12
SQLの復元中にpsqlが無効なコマンド\ N
ダンプファイルを復元しようとしていますが、エラーが発生しました。 psql:psit.sql:27485: invalid command \N 解決策はありますか?検索したのですが、はっきりとした答えが得られませんでした。
137 sql  postgresql  dump 

22
PostgreSQLエラー「サーバーに接続できませんでした:そのようなファイルまたはディレクトリはありません」
他の人と同様に、プロジェクトでrake db:migrateを実行したり、Ruby on Rails 3.2アプリケーションのほとんどのデータベースタスクを試したりすると、このエラーが発生します。 PGError(サーバーに接続できませんでした:そのようなファイルまたはディレクトリはありません。サーバーはローカルで実行されており、Unixドメインソケット "/tmp/.s.PGSQL.5432"で接続を受け入れていますか? 私はPostgreSQLをHomebrewとともにかなり前にインストールしましたが、MongoDBのインストールを試みたところ、最近ではPostgreSQLのインストールが同じではありませんでした。OS X v10.6 Snow Leopardを実行しています。 何が問題で、PostgreSQLがどのように理解されており、Macで設定する必要がありますか? これまでのところ(私は思う)、これはPostgreSQLが実行されていない(?)ことを示しています。 ps -aef|grep postgres (ruby-1.9.2-p320@jct-ana) (develop) ✗ 501 17604 11329 0 0:00.00 ttys001 0:00.00 grep postgres しかし、これはPostgreSQLが実行中であることを示していますか? ✪ launchctl load -w /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist (ruby-1.9.2-p136) homebrew.mxcl.postgresql: Already loaded どうすれば修正できますか?私は何を見ていませんか? PS:~/Library/LaunchAgents2つのPostgreSQL .plistファイルが含まれています。それが関連しているかどうかはわかりません。 org.postgresql.postgres.plist homebrew.mxcl.postgresql.plist 以下を試してみたところ、以下のような結果になりました。 $ psql -p 5432 -hローカルホスト …


4
PostgreSQL:ロールはログインを許可されていません
ローカルサーバー上の自分のpostgres dbに接続できません。私はいくつかの同様の問題をググって、このマニュアルを思いつきました https://help.ubuntu.com/stable/serverguide/postgresql.html そう: pg_hba.conf 言う: # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 trust 次に、ユーザーを作成してパスワードを割り当てます。 postgres=# create role asunotest; CREATE ROLE …

9
PostgreSQLの特定のスキーマのデータベースに格納されているすべての関数のリストを取得するにはどうすればよいですか?
PostgreSQLデータベースに接続して、特定のスキーマのすべての関数を見つけられるようにしたいと考えています。 私の考えでは、pg_catalogまたはinformation_schemaにクエリを実行してすべての関数のリストを取得することはできましたが、名前とパラメーターがどこに保存されているのかわかりません。関数名と関数のパラメータタイプ(および関数の順序)を取得するクエリを探しています。 これを行う方法はありますか?

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