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

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

3
PostgreSQLテーブルを変更して列を一意にするにはどうすればよいですか?
私はPostgreSQLにテーブルがあり、スキーマは次のようになります: CREATE TABLE "foo_table" ( "id" serial NOT NULL PRIMARY KEY, "permalink" varchar(200) NOT NULL, "text" varchar(512) NOT NULL, "timestamp" timestamp with time zone NOT NULL ) 次に、テーブルを変更することで、パーマリンクをテーブル全体で一意にします。誰かがこれを手伝ってくれる? TIA

4
postgresql COUNT(DISTINCT…)非常に遅い
私は非常に単純なSQLクエリを持っています: SELECT COUNT(DISTINCT x) FROM table; テーブルには約150万行あります。このクエリの実行速度はかなり遅いです。と比較すると、約7.5秒かかります SELECT COUNT(x) FROM table; 約435msかかります。クエリを変更してパフォーマンスを向上させる方法はありますか?私はグループ化して定期的なカウントを試み、xにインデックスを付けました。どちらも7.5秒の実行時間は同じです。

14
pg_restoreを実行すると、「[archiver]サポートされていないバージョン(1.13)がファイルヘッダーに含まれています」が表示される
Herokuの10.2と一致するMac OSのPostgres 10.2にアップグレードしました。データベースのコピーをダウンロードしてローカルに復元しようとしています。アップグレードの前に、復元は正常に機能します。 走る pg_restore --verbose --clean --no-acl --no-owner -h localhost -d database_name backup.dump しかし、私はこのエラーを得ています: pg_restore:[archiver]ファイルヘッダーのサポートされていないバージョン(1.13) データベースは正常に動作しているようです。これはRailsアプリで、pg gemをアップグレードしました。私は走ることができrake db:create、db:migrate大丈夫です。

7
postgresでフィールドのデータ型を選択します
postgresのテーブルから特定のフィールドのデータ型を取得するにはどうすればよいですか?たとえば、次のテーブル、student_details(stu_id integer、stu_name varchar(30)、joined_date timestamp)があります。 これでフィールド名/またはその他の方法を使用して、特定のフィールドのデータ型を取得する必要があります。可能性はありますか?
165 postgresql 

2
RailsとPostgreSQLでタイムゾーンを完全に無視する
RailsとPostgresで日付と時刻を処理していて、この問題が発生しています。 データベースはUTCです。 ユーザーはRailsアプリで選択したタイムゾーンを設定しますが、時間を比較するためにユーザーのローカル時間を取得するときにのみ使用されます。 ユーザーは時間を保存します。たとえば、2012年3月17日午後7時です。タイムゾーン変換やタイムゾーンを保存したくありません。日付と時刻を保存したいだけです。これにより、ユーザーがタイムゾーンを変更した場合でも、2012年3月17日午後7時と表示されます。 ユーザーが指定したタイムゾーンのみを使用して、ユーザーのローカルタイムゾーンの現在時刻の「前」または「後」のレコードを取得します。 私は現在「タイムゾーンなしのタイムスタンプ」を使用していますが、レコードを取得すると、レール(?)がそれらをアプリのタイムゾーンに変換しますが、これは不要です。 Appointment.first.time => Fri, 02 Mar 2012 19:00:00 UTC +00:00 データベースのレコードはUTCとして出力されるように見えるので、私のハックは現在の時刻を取得し、 'Date.strptime(str、 "%m /%d /%Y")'でタイムゾーンを削除してから、それでクエリ: .where("time >= ?", date_start) 周りのタイムゾーンを無視するより簡単な方法があるはずです。何か案は?

3
「カスケードの削除」制約を追加するにはどうすればよいですか?
PostgreSQL 8ではON DELETE CASCADES、後者を削除せずに、次の表の両方の外部キーに追加できますか? # \d scores Table "public.scores" Column | Type | Modifiers ---------+-----------------------+----------- id | character varying(32) | gid | integer | money | integer | not null quit | boolean | last_ip | inet | Foreign-key constraints: "scores_gid_fkey" FOREIGN KEY (gid) REFERENCES games(gid) "scores_id_fkey" FOREIGN KEY (id) …

15
Postgresql-DBへの自動接続が原因でデータベースを削除できません
私がデータベースを削除しようとするたびに、私は次のようになります: ERROR: database "pilot" is being accessed by other users DETAIL: There is 1 other session using the database. 私が使うとき: SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'TARGET_DB'; そのDBからの接続を終了しましたが、その後データベースをドロップしようとすると、誰かがそのデータベースに自動的に接続してこのエラーが発生します。何ができるでしょうか?私を除いて、誰もこのデータベースを使用していません。

4
SQL、Postgres OID、それらは何で、なぜ便利なのですか?
私はいくつかのPostgreSQLテーブルの作成を見ていますが、これに遭遇しました。 CREATE TABLE ( ... ) WITH ( OIDS = FALSE ); postgresが提供するドキュメントを読み、OOPからのオブジェクト識別子の概念を知っていますが、それでもわかりません。 なぜそのような識別子がデータベースで役立つのでしょうか? クエリを短くするには? いつ使用すべきですか?




3
PostgreSQLの列名では大文字と小文字が区別されますか?
persons列名が言う別のチームから受け継がれたPostgresで、私はdbテーブルを言っています"first_Name"。現在、PGコマンダーを使用して、このcolumn-nameでこのテーブルをクエリしようとしています。 select * from persons where first_Name="xyz"; そしてそれはただ戻る エラー:列「first_Name」は存在しません 私がばかげたことをしているのか、この問題の回避策がないのかわかりませんか?

9
Postgres / PostgreSQLテーブルとそのインデックスのディスクサイズをどのようにして見つけますか
私はOracleからPostgresに来て、テーブルとインデックスのサイズをでbytes/MB/GB/etc、またはすべてのテーブルのサイズをさらに見つける方法を探しています。Oracleでは、user_lobsとuser_segmentsを調べて答えを返す厄介な長いクエリがありました。 Postgresではinformation_schemaテーブルで使用できるものがあると思いますが、どこにあるのかわかりません。
156 postgresql 

7
postgresqlで月と年でクエリ結果をグループ化する
Postgresサーバーに次のデータベーステーブルがあります。 id date Product Sales 1245 01/04/2013 Toys 1000 1245 01/04/2013 Toys 2000 1231 01/02/2013 Bicycle 50000 456461 01/01/2014 Bananas 4546 私は与えクエリを作成したいSUMのSales月と年次のようにすることにより、カラムとグループの結果を: Apr 2013 3000 Toys Feb 2013 50000 Bicycle Jan 2014 4546 Bananas それを行う簡単な方法はありますか?
156 sql  postgresql 

4
単語のリストのいずれかに対するPostgreSQLワイルドカードLIKE
約25語の簡単なリストがあります。PostgreSQLにvarcharフィールドがあります['foo', 'bar', 'baz']。リストがだとしましょう。これらの単語のいずれかが含まれているテーブル内の行を見つけたい。これでうまくいきますが、もっとエレガントなものが欲しいです。 select * from table where (lower(value) like '%foo%' or lower(value) like '%bar%' or lower(value) like '%baz%')
156 sql  postgresql 

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