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

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

12
PostgreSQLデータベースへのアクティブな接続がある場合、PostgreSQLデータベースを削除するにはどうすればよいですか?
PostgreSQLデータベースを削除するスクリプトを作成する必要があります。多くの接続があるかもしれませんが、スクリプトはそれを無視する必要があります。 DROP DATABASE db_name開いている接続がある場合、標準クエリは機能しません。 どうすれば問題を解決できますか?
649 postgresql 

16
挿入、PostgreSQLの重複更新時?
数か月前に、次の構文を使用してMySQLで複数の更新を一度に実行する方法をStack Overflowの回答から学びました。 INSERT INTO table (id, field, field2) VALUES (1, A, X), (2, B, Y), (3, C, Z) ON DUPLICATE KEY UPDATE field=VALUES(Col1), field2=VALUES(Col2); これでPostgreSQLに切り替えましたが、明らかにこれは正しくありません。それはすべての正しいテーブルを参照しているので、使用されているさまざまなキーワードの問題であると思いますが、PostgreSQLのドキュメントのどこでこれがカバーされているのかわかりません。 明確にするために、いくつかのものを挿入し、それらがすでに存在する場合はそれらを更新します。


9
PostgreSQL:textとvarcharの違い(文字は異なります)
違い何textのデータ型とcharacter varying(varchar)データ型は? ドキュメントによると 文字指定が長さ指定子なしで使用される場合、型は任意のサイズの文字列を受け入れます。後者はPostgreSQLの拡張機能です。 そして さらに、PostgreSQLは、任意の長さの文字列を格納するテキストタイプを提供します。タイプテキストはSQL標準にはありませんが、他のいくつかのSQLデータベース管理システムにもあります。 違いは何ですか?


10
PostgreSQLの自動インクリメント
MySQLからPostgreSQLに切り替えて、自動インクリメント値をどうやって作成するのか疑問に思っていました。PostgreSQLのドキュメントで「シリアル」というデータ型を見ましたが、それを使用すると構文エラーが発生します(v8.0)。

12
コマンドライン引数を使用してPostgreSQL .sqlファイルを実行する
何千ものINSERTステートメントを含むいくつかの.sqlファイルがあり、それらをテーブルに追加するためにPostgreSQLデータベースでこれらの挿入を実行する必要があります。ファイルは非常に大きいため、それらを開いてINSERTステートメントをエディターウィンドウにコピーし、そこで実行することは不可能です。私はインターネット上で、PostgreSQLインストールのbinフォルダーに移動して以下を使用できることを発見しました。 psql -d myDataBase -a -f myInsertFile 私の場合: psql -d HIGHWAYS -a -f CLUSTER_1000M.sql 次に、ユーザーのパスワードを要求されますが、何も入力できず、Enterキーを押すと、次のエラーが発生します。 psql:致命的:ユーザー「myUsername」のパスワード認証に失敗しました なぜパスワードを入力させないのですか?これらのスクリプトを実行できることが重要なので、これを回避する方法はありますか? この問題を回避するには、次の構造でpg_hba.confファイルに新しいエントリを追加します。 # IPv6 local connections: host myDbName myUserName ::1/128 trust pg_hba.confファイルは通常、PostgreSQLインストールの「data」フォルダにあります。

29
postgresの主キーシーケンスが同期しなくなったときにリセットする方法は?
主キーシーケンスがテーブルの行と同期していないという問題に遭遇しました。 つまり、新しい行を挿入すると、シリアルデータ型に含まれるシーケンスが既に存在する番号を返すため、重複キーエラーが発生します。 インポート/復元がシーケンスを適切に維持していないことが原因のようです。

9
PostgreSQLで更新と結合を行う方法は?
基本的に、私はこれをしたいです: update vehicles_vehicle v join shipments_shipment s on v.shipment_id=s.id set v.price=s.price_per_vehicle; MySQL(私のバックグラウンド)ではうまくいくと確信していますが、postgresではうまくいかないようです。私が得るエラーは: ERROR: syntax error at or near "join" LINE 1: update vehicles_vehicle v join shipments_shipment s on v.shi... ^ これを行う簡単な方法は確かにありますが、適切な構文を見つけることができません。それで、どうやってこれをPostgreSQLで書くのですか?
508 postgresql  syntax 

6
このJavascriptは「必要」ですか?
私は、JavascriptをPostgreSQLデータベースに読み書きできるようにしています。このプロジェクトはgithubで見つかりました。次のサンプルコードをノードで実行することができました。 var pg = require('pg'); //native libpq bindings = `var pg = require('pg').native` var conString = "tcp://postgres:1234@localhost/postgres"; var client = new pg.Client(conString); client.connect(); //queries are queued and executed one after another once the connection becomes available client.query("CREATE TEMP TABLE beatles(name varchar(10), height integer, birthday timestamptz)"); client.query("INSERT INTO beatles(name, height, birthday) …


5
OS Xの最新バージョン(YosemiteまたはEl Capitan)のインストール後に `pg_tblspc`が見つからない
OSXでhomebrewのpostgresを使用していますが、システムを再起動すると、再起動後にpostgresが起動しない場合があるため、で手動で起動しようとしpostgres -D /usr/local/var/postgresましたが、次のメッセージでエラーが発生しました:FATAL: could not open directory "pg_tblspc": No such file or directory。 前回発生したときに元の状態に戻すことができなかったため、postgresシステム全体をアンインストールしてから再インストールし、ユーザー、テーブル、データセットなどを作成することにしました。それは私のシステムで頻繁に発生します。たとえば、数か月に一度です。 それではなぜpg_tblspcファイルが頻繁に失われるのですか?そして、ファイルの損失を避けるために私ができることはありますか? 自作とpostgresを最新バージョンにアップグレードしていません(つまり、同じバージョンを使用しています)。また、postgresデータベースで私が行ったすべてのことは、テーブルを削除して毎日新しいデータを入力することです。ユーザー、パスワードなどを変更していません... 編集(mbannert):この問題ではスレッドがグーグルのトップヒットであり、多くの症状が異なるため、これを追加する必要があると感じました。Homebrewersはこのエラーメッセージに遭遇する可能性があります。 No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? したがって、ヨセミテのアップグレード後にこれを経験したばかりの場合は、今このスレッドを読んでいます。

12
SQLダンプをPostgreSQLデータベースにインポートする
私たちはホストを切り替えており、古いものは私たちのサイトのPostgreSQLデータベースのSQLダンプを提供していました。 これをテストするために、ローカルWAMPサーバーに設定しようとしています。 唯一の問題は、設定したPostgreSQL 9にこのデータベースをインポートする方法がわからないことです。 pgAdmin IIIを試しましたが、「インポート」機能が見つかりません。SQLエディターを開き、そこにダンプの内容を貼り付けて実行すると、テーブルが作成されますが、データをそこに入れようとするとエラーが発生し続けます。 ERROR: syntax error at or near "t" LINE 474: t 2011-05-24 16:45:01.768633 2011-05-24 16:45:01.768633 view... The lines: COPY tb_abilities (active, creation, modtime, id, lang, title, description) FROM stdin; t 2011-05-24 16:45:01.768633 2011-05-24 16:45:01.768633 view nl ... コマンドプロンプトでもこれを実行しようとしましたが、必要なコマンドが見つかりません。 私が行った場合 psql mydatabase < C:/database/db-backup.sql; エラーが出る ERROR: …

7
PostgreSQLに単一引用符でテキストを挿入する
テーブルがありますtest(id,name)。 私は次のように値を挿入する必要があります user's log、'my user'、customer's。 insert into test values (1,'user's log'); insert into test values (2,''my users''); insert into test values (3,'customer's'); 上記のステートメントのいずれかを実行すると、エラーが発生します。 これを正しく行う方法がある場合は、共有してください。準備されたステートメントは必要ありません。 SQLエスケープメカニズムを使用することは可能ですか?

15
Postgresql:ユーザー「postgres」のパスワード認証に失敗しました
PostgreSQL 8.4、Postgresクライアント、Pgadmin 3をインストールしました。コンソールクライアントとPgadminの両方で、ユーザー「postgres」の認証に失敗しました。以前は機能していたので、ユーザーを「postgres」、パスワードを「postgres」と入力しました。ただし、認証は失敗します。私はこの問題なく数回前にそれをしました。私は何をすべきか?そして、何が起こりますか? psql -U postgres -h localhost -W Password for user postgres: psql: FATAL: password authentication failed for user "postgres" FATAL: password authentication failed for user "postgres"

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