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

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

1
PostgreSQLでの累積合計の計算
フィールドの累積量または実行量を見つけて、ステージングからテーブルに挿入したいと思います。私のステージング構造は次のようなものです。 ea_month id amount ea_year circle_id April 92570 1000 2014 1 April 92571 3000 2014 2 April 92572 2000 2014 3 March 92573 3000 2014 1 March 92574 2500 2014 2 March 92575 3750 2014 3 February 92576 2000 2014 1 February 92577 2500 2014 2 February 92578 1450 2014 …

10
PostgreSQLインデックス使用分析
Postgresを分析し、どの欠落インデックスを作成し、どの未使用インデックスを削除するかを決定するためのツールまたは方法はありますか?SQLServerの「プロファイラー」ツールでこれを行った経験は少しありますが、Postgresに含まれている同様のツールを知りません。

18
エラー:psycopg2.extensionsという名前のモジュールがありません
djangoプロジェクト用にPostgreSQLデータベースをセットアップしようとしていますが、最後の質問への回答のおかげで、djangoプロジェクト用にpostgreSQLデータベースをセットアップする際の問題が発生したと思います。ターミナルでコマンド「pythonmanage.pyrunserver」を実行してローカルホストを起動しようとしていますが、コマンドを実行すると、この応答が表示されます... Error: No module named psycopg2.extensions これが何を意味するのかわかりません-psycopg2をダウンロードしようとしましたが、homebrewを使用してpsycopg2をダウンロードする方法が見つからないようです。easy_install、pip install、sudoを試しましたが、すべて次のようなエラーが返されます... Downloading http://www.psycopg.org/psycopg/tarballs/PSYCOPG-2-4/psycopg2-2.4.5.tar.gz Processing psycopg2-2.4.5.tar.gz Writing /tmp/easy_install-l7Qi62/psycopg2-2.4.5/setup.cfg Running psycopg2-2.4.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-l7Qi62/psycopg2-2.4.5/egg-dist-tmp-PBP5Ds no previously-included directories found matching 'doc/src/_build' unable to execute gcc-4.0: No such file or directory error: Setup script exited with error: command 'gcc-4.0' failed with exit status 1 これを修正する方法は?

6
postgresでテーブル(インデックスを含む)をコピーする
postgresテーブルがあります。そこからいくつかのデータを削除する必要があります。一時テーブルを作成し、データをコピーして、インデックスを再作成し、必要な行を削除しました。この元のテーブルがデータのソースであるため、元のテーブルからデータを削除できません。Xの削除に依存する結果を取得する必要がある場合もあれば、Yを削除する必要がある場合もあります。したがって、すべての元のデータが常に存在し、利用可能である必要があります。 ただし、テーブルを再作成して再度コピーし、インデックスを再作成するのは少しばかげているようです。とにかくpostgresに「構造、データ、インデックスを含むこのテーブルの完全な個別のコピーが欲しい」と言うことはありますか? 残念ながら、PostgreSQLには「CREATETABLE .. LIKE X INCLUDINGINDEXES」がありません。

8
PostgreSQL関数パラメーターとしてのテーブル名
Postgres関数のパラメーターとしてテーブル名を渡したい。私はこのコードを試しました: CREATE OR REPLACE FUNCTION some_f(param character varying) RETURNS integer AS $$ BEGIN IF EXISTS (select * from quote_ident($1) where quote_ident($1).id=1) THEN return 1; END IF; return 0; END; $$ LANGUAGE plpgsql; select some_f('table_name'); そして私はこれを手に入れました: ERROR: syntax error at or near "." LINE 4: ...elect * from quote_ident($1) where quote_ident($1).id=1)... …

3
ネストされた結合を使用したPostgreSQL9.2 row_to_json()
row_to_json()PostgreSQL 9.2で追加された関数を使用して、クエリの結果をJSONにマッピングしようとしています。 結合された行をネストされたオブジェクト(1:1の関係)として表すための最良の方法を見つけるのに苦労しています これが私が試したものです(セットアップコード:テーブル、サンプルデータ、続いてクエリ): -- some test tables to start out with: create table role_duties ( id serial primary key, name varchar ); create table user_roles ( id serial primary key, name varchar, description varchar, duty_id int, foreign key (duty_id) references role_duties(id) ); create table users ( id serial primary …

5
Postgres 9.3で現在のタイムゾーン名を取得するにはどうすればよいですか?
現在のタイムゾーン名を取得したい。私がすでに達成したことは、次の方法でutc_offset/タイムゾーンの省略形を取得することです。 SELECT * FROM pg_timezone_names WHERE abbrev = current_setting('TIMEZONE') これにより、このタイムゾーンのすべての大陸/首都の組み合わせが得られますが、正確ではありませんtimezone。たとえば、私は次のようになります。 Europe/Amsterdam Europe/Berlin サーバーがBerlinインストールされており、サーバーのタイムゾーン名を取得したいと思います。 私が抱えCETている問題は、それが常にUTC+01:00あり、説明されていないということですDST iirc。

4
除算(/)がpostgresqlで私の答えを与えていない
私はテーブル持っているsoftwareとして、それにと列をdev_cost、sell_cost。dev_costが16000で、sell_costが7500の場合。 回復するために販売するソフトウェアの数量を見つけるにはどうすればよいdev_costですか? 私は以下のように質問しました: select dev_cost / sell_cost from software ; 答えとして2を返しています。しかし、3を取得する必要がありますよね? そのためのクエリは何でしょうか?前もって感謝します。

6
PG ::エラー:エラー:新しいエンコーディング(UTF8)に互換性がありません
postgresql-9.2.4ソースからインストールしましたが、実行するとRailsアプリにインストールされます。 rake db:create 私が得るコマンド: $ bin/rake db:create RAILS_ENV="test" PG::Error: ERROR: new encoding (UTF8) is incompatible with the encoding of the template database (SQL_ASCII) HINT: Use the same encoding as in the template database, or use template0 as template. : CREATE DATABASE "verticals_test" ENCODING = 'unicode' /home/vagrant/my-project/.gems/ruby/1.9.1/gems/activerecord-3.2.12/lib/active_record/connection_adapters/postgresql_adapter.rb:652:in `exec .... bin/rake:16:in `load' …

7
PostgreSQLで継承されたテーブルを使用するのはいつですか?
継承されたテーブルを使用する必要があるのはどのような状況ですか?私はそれらを非常に簡単に使用しようとしましたが、継承はOOPの世界では見られませんでした。 私はそれがこのように機能すると思いました: usersすべてのユーザーレベルに必要なすべてのフィールドを含むテーブル。以下のようなテーブルmoderators、admins、bloggersなどが、フィールドがされていない親からチェックします。たとえば、usersメールフィールドがあり、継承されたbloggersものもありますが、両方で同時に一意ではusersありませんbloggers。すなわち。両方のテーブルにメールフィールドを追加するのと同じです。 私は考えることができる唯一の使用量は、通常のように、使用されている分野であるrow_is_deleted、のcreated_at、modified_at。これは継承されたテーブルの唯一の使用法ですか?
84 postgresql 

1
JSON配列内の要素を見つけるためのインデックス
私は次のようなテーブルを持っています: CREATE TABLE tracks (id SERIAL, artists JSON); INSERT INTO tracks (id, artists) VALUES (1, '[{"name": "blink-182"}]'); INSERT INTO tracks (id, artists) VALUES (2, '[{"name": "The Dirty Heads"}, {"name": "Louis Richards"}]'); この質問に関係のない列が他にもいくつかあります。それらをJSONとして保存するのには理由があります。 私がやろうとしているのは、特定のアーティスト名(完全一致)を持つトラックを検索することです。 私はこのクエリを使用しています: SELECT * FROM tracks WHERE 'ARTIST NAME' IN (SELECT value->>'name' FROM json_array_elements(artists)) 例えば SELECT * FROM …

5
SQL Serverプロファイラーに相当するPostgreSQLはありますか?
PostgreSQLサーバーに送信されたクエリを確認する必要があります。通常、SQLServerプロファイラーを使用してSQLServerランドでこのアクションを実行しますが、PostgreSQLでこれを実行する方法をまだ見つけていません。かなりの数の有料ツールがあるようですが、オープンソースのバリアントがあることを望んでいます。


4
Postgresを使用して一度に3つのテーブルにデータを挿入します
1つのクエリで3つのテーブルにデータを挿入したいと思います。 私のテーブルは以下のようになります: CREATE TABLE sample ( id bigserial PRIMARY KEY, lastname varchar(20), firstname varchar(20) ); CREATE TABLE sample1( user_id bigserial PRIMARY KEY, sample_id bigint REFERENCES sample, adddetails varchar(20) ); CREATE TABLE sample2( id bigserial PRIMARY KEY, user_id bigint REFERENCES sample1, value varchar(10) ); 挿入するたびにキーを取得し、そのキーを次のテーブルに挿入する必要があります。 私の質問は: insert into sample(firstname,lastname) values('fai55','shaggk') RETURNING …


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