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

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

10
MySQL vs PostgreSQL for Web Applications [終了]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 私はPython(Django)を使用してWebアプリケーションに取り組んでおり、本番環境にデプロイするときにMySQLとPostgreSQLのどちらが適しているかを知りたいです。 1つのポッドキャストで、ジョエルはMySQLにいくつかの問題があり、データに一貫性がないと述べました。 誰かにそのような問題があったかどうか知りたいのですが。また、簡単に調整できるパフォーマンスについてはどうですか?
122 mysql  postgresql 

8
文字列を整数に型キャスト-Postgres
Varcharの未加工フィードを持つテーブルからデータをインポートしています。varcharの列を文字列列にインポートする必要があります。<column_name>::integer同様にを使用してto_number(<column_name>,'9999999')みましたが、エラーが発生しました。空のフィールドがいくつかあるため、新しいテーブルに空またはnullとして取得する必要があります。 同じ機能があるかどうか教えてください。

1
postgresql外部キー構文
以下のposgresqlコードでわかるように、2つのテーブルがあります。最初のテーブルの学生には2つの列があります。1つはStudent_nameで、もう1つは主キーであるStudent_idです。テストと呼ばれる2番目のテーブルには、4つの列があります。1つはsubject_id、1つはsubject_name、次に1つは、被験者の中で最も高いスコアが最も高い、Student_idの生徒用です。私の生徒のテーブルで、highestStudent_idがStudent_idを参照するようにしています これは私が以下に持っているコードです、構文が正しいかどうかわかりません: CREATE TABLE students ( student_id SERIAL PRIMARY KEY, player_name TEXT); CREATE TABLE tests ( subject_id SERIAL, subject_name, highestStudent_id SERIAL REFERENCES students); 構文はhighestStudent_id SERIAL REFERENCES students正しいですか?私は別のようなものを見たのでhighestStudent_id REFERENCES students(student_id)) postgresqlで外部キーを作成する正しい方法は何ですか?

8
PostgreSQL-既存の権限を持つユーザーをすばやく削除する方法
作業中のアプリの制限付きDBユーザーを作成しようとしています。実験に使用しているPostgresデータベースユーザーを削除します。最初にすべての権限を手動で取り消すことなく、またはユーザーが持っているすべての許可を取り消すことなく、ユーザーを削除する方法はありますか?
122 postgresql 

10
PostgreSQL ROLE(ユーザー)が存在しない場合は作成します
PostgreSQL 9.1でROLEを作成するSQLスクリプトを作成する方法はありますが、すでに存在する場合はエラーを発生させませんか? 現在のスクリプトは単に次のものを持っています: CREATE ROLE my_user LOGIN PASSWORD 'my_password'; ユーザーが既に存在する場合、これは失敗します。私は次のようなものが欲しいです: IF NOT EXISTS (SELECT * FROM pg_user WHERE username = 'my_user') BEGIN CREATE ROLE my_user LOGIN PASSWORD 'my_password'; END; ...しかし、それは機能しません- IFプレーンSQLではサポートされていないようです。 PostgreSQL 9.1データベース、ロール、およびその他のいくつかを作成するバッチファイルがあります。実行するSQLスクリプトの名前を渡して、psql.exeを呼び出します。これまでのところ、これらのスクリプトはすべてプレーンSQLであり、可能であればPL / pgSQLなどを避けたいと思います。

5
Django-DB-Migrations:保留中のトリガーイベントがあるため、ALTER TABLEを実行できません
TextFieldからnull = Trueを削除したい: - footer=models.TextField(null=True, blank=True) + footer=models.TextField(blank=True, default='') スキーマの移行を作成しました: manage.py schemamigration fooapp --auto いくつかのフッターの列が含まれているのでNULL、私はこれを取得error、私は、マイグレーションを実行する場合: django.db.utils.IntegrityError:列 "footer"にnull値が含まれています これをスキーマの移行に追加しました: for sender in orm['fooapp.EmailSender'].objects.filter(footer=None): sender.footer='' sender.save() 今私は得る: django.db.utils.DatabaseError: cannot ALTER TABLE "fooapp_emailsender" because it has pending trigger events なにが問題ですか?

4
pg_dumpを使用して、データベース内の1つのテーブルからのみ挿入ステートメントを取得する
PostgreSQL INSERTを使用pg_dumpして、データベース内の特定の1つのテーブルからすべての行をステートメントとして取得する方法を探しています。 たとえば、テーブルAとテーブルAIのすべての行がINSERTステートメントとして必要であり、それらのステートメントをファイルにダンプする必要があります。 これは可能ですか?
121 postgresql 

3
スキーマでのGRANT USAGEは正確に何をしますか?
私は初めてPostgresデータベースを作成しようとしているので、これはおそらく愚かな質問です。PHPロールからデータベースにアクセスする必要がある基本的な読み取り専用権限をdbロールに割り当てましたが、好奇心があります。実行した場合 GRANT some_or_all_privileges ON ALL TABLES IN SCHEMA schema TO role; また実行する必要がありますか GRANT USAGE ON SCHEMA schema TO role; ? ドキュメントから: 使用法:スキーマの場合、指定されたスキーマに含まれるオブジェクトへのアクセスを許可します(オブジェクト自体の特権要件も満たされていることを前提とします)。基本的に、これにより、権限受領者はスキーマ内のオブジェクトを「検索」できます。 スキーマに含まれるデータを選択または操作できれば、スキーマ自体のオブジェクトにアクセスできると思います。私が間違っている?そうでない場合、何GRANT USAGE ON SCHEMAに使用されますか?また、「オブジェクト自体の特権要件も満たされていると想定して」というドキュメントの正確な意味は何ですか?

5
PostgreSQLへのDjango接続:「ピア認証に失敗しました」
OperationalError at /admin/ FATAL: Peer authentication failed for user "myuser" これは、Django管理サイトにアクセスしようとすると表示されるエラーです。私はMySQLデータベースを問題なく使用していました。私はPostgreSQLを使い始めたばかりですが、最終的にこのプロジェクトで使用する予定のホストにMySQLがないため、切り替えることにしました。 したがって、私はPostgreSQLのインストールプロセスを実行し、a syncdbを実行してすべての準備ができると考えました。 問題は、アプリをデータベースに接続できないようです。ダウンロードしたコマンドラインまたはデスクトップアプリからPostgreSQLにログインできます。スクリプトではありません。 また、私はmanage.py shellうまくdbにアクセスするために使用できます。 何かご意見は?
120 django  postgresql 

3
Postgres:異なるが1列のみ
名前(1 mio。行を超える)を持つpgsqlのテーブルがありますが、重複も多数あります。私は3つのフィールドを選択:id、name、metadata。 私はランダムに選択するようにしたいORDER BY RANDOM()とLIMIT 1000私は、これは私のPHPスクリプトで、いくつかのメモリを節約するために多くの手順で行います。 しかし、どうすればそれができるので、名前が重複していないリストのみが表示されます。 たとえば、[1,"Michael Fox","2003-03-03,34,M,4545"]返されますが、返されません[2,"Michael Fox","1989-02-23,M,5633"]。名前フィールドは最も重要であり、selectを実行するたびにリスト内で一意である必要があり、ランダムである必要があります。 私はGROUP BY namebu を試してみましたが、idとメタデータがGROUP BY同様にまたはaggragate関数にあると想定していますが、何らかの方法でそれらをフィルタリングしたくありません。 誰もが多くの列をフェッチする方法を知っていますが、1つの列でのみ区別しますか?

8
byte []の適切な休止状態アノテーション
hibernate 3.1およびJPAアノテーションを使用するアプリケーションがあります。これには、byte []属性を持つオブジェクトがいくつかあります(サイズが1k〜200k)。JPA @Lobアノテーションを使用し、Hibernate 3.1はすべての主要なデータベースでこれらを正常に読み取ることができます-JDBC Blobベンダーの特性を(本来のように)隠すようです。 @Entity public class ConfigAttribute { @Lob public byte[] getValueBuffer() { return m_valueBuffer; } } hibernate 3.5 がpostgresqlのこのアノテーションの組み合わせを回避する(そして修正しない)ことを発見したとき、3.5にアップグレードする必要がありました (回避策はありません)。今のところ明確な修正は見つかりませんでしたが、@ Lobを削除するだけでpostgresql型byteaが使用されていることに気付きました(これは機能しますが、postgresでのみ機能します)。 annotation postgres oracle works on ------------------------------------------------------------- byte[] + @Lob oid blob oracle byte[] bytea raw(255) postgresql byte[] + @Type(PBA) oid blob oracle byte[] + @Type(BT) …

5
Heroku「psql:FATAL:残りの接続スロットは非レプリケーションスーパーユーザー接続用に予約されています」
私はPostgresqlバックエンドを備えたHerokuでアプリを開発しています。定期的に、CLIとサーバーのページの読み込みの両方からデータベースにアクセスしようとすると、次のエラーメッセージが表示されます。 psql: FATAL: remaining connection slots are reserved for non-replication superuser connections これを以前に見た人、または私を正しい方向に向けるのを手伝ってくれませんか?
120 postgresql  heroku 

3
PostgreSQLデータベースではどのタイムスタンプタイプを選択する必要がありますか?
マルチタイムゾーンプロジェクトのコンテキストでPostgresデータベースにタイムスタンプを保存するためのベストプラクティスを定義したいと思います。 できます TIMESTAMP WITHOUT TIME ZONEこのフィールドの挿入時に使用されたタイムゾーンを選択して記憶する TIMESTAMP WITHOUT TIME ZONE挿入時に使用されたタイムゾーンの名前を含む別のフィールドを選択して追加します TIMESTAMP WITH TIME ZONEタイムスタンプを選択して挿入します 私はオプション3(タイムゾーン付きのタイムスタンプ)を少し好みますが、この問題について知識のある意見を聞きたいです。

4
Postgres JSON配列に文字列が含まれているかどうかを確認する
ウサギに関する情報を保存するテーブルがあります。次のようになります。 create table rabbits (rabbit_id bigserial primary key, info json not null); insert into rabbits (info) values ('{"name":"Henry", "food":["lettuce","carrots"]}'), ('{"name":"Herald","food":["carrots","zucchini"]}'), ('{"name":"Helen", "food":["lettuce","cheese"]}'); にんじんが好きなうさぎをどうやって見つけたらいいの?私はこれを思いつきました: select info->>'name' from rabbits where exists ( select 1 from json_array_elements(info->'food') as food where food::text = '"carrots"' ); そのクエリは好きではありません。それは混乱です。 フルタイムのうさぎ飼いとして、データベーススキーマを変更する時間はありません。うさぎにちゃんとした餌をあげたいだけです。そのクエリを行うためのより読みやすい方法はありますか?


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