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

PostgreSQLのすべてのバージョン。そのコンテキストが重要な場合は、postgresql-11などのバージョン固有のタグを追加します。

7
psqlを使用してすべてのデータベースとテーブルを一覧表示するにはどうすればよいですか?
私はPostgreSQLの管理を学びたいと思っており、psqlコマンドラインツールの使い方を学び始めました。 でログインするときにpsql --username=postgres、すべてのデータベースとテーブルをリストするにはどうすればよいですか? 私が試してみました\d、dとdS+は何も表示されていません。pgAdmin IIIで2つのデータベースといくつかのテーブルを作成したので、それらをリストする必要があることはわかっています。

5
指定したテーブルのすべての列をリストするにはどうすればよいですか
私は知らないデータベースの正確な情報を探しています。 これはサードパーティ製品であり、いくつかの質問に答えるのが遅く、データがそのデータベース内にあることを知っているので、少しレトロエンジニアリングを行いたいと思います。 1つのテーブルが与えられた場合、このテーブルの列の名前のリストを持つことは可能ですか? たとえば、SqlServerでは、テーブルを再利用可能なCREATEステートメントにダンプすることができます。これは、テーブルを構成するすべての列をテキストでリストします。



3
PostgreSQLの選択クエリからテーブルに値を挿入する方法は?
テーブルitems (item_id serial, name varchar(10), item_group int)とテーブルがありますitems_ver (id serial, item_id int, name varchar(10), item_group int)。 次に、items_verfromに行を挿入しitemsます。これを行うための短いSQL構文はありますか? 私は試しました: INSERT INTO items_ver VALUES (SELECT * FROM items WHERE item_id = 2); しかし、構文エラーが発生します: ERROR: syntax error at or near "select" LINE 1: INSERT INTO items_ver VALUES (SELECT * FROM items WHERE item... 私は今試しました: …
199 postgresql  insert 

13
PostgreSQLサーバーに接続します:FATAL:no pg_hba.conf entry for host
こんにちは私は私に送られたウェブサイトを実行しようとしていますが、そうするとこのエラーが表示されます connect to PostgreSQL server: FATAL: no pg_hba.conf entry for host "4X.XXX.XX.XXX", user "userXXX", database "dbXXX", SSL off in C:\xampp\htdocs\xmastool\index.php on line 37 グーグルで調べた後、その特定のユーザーのエントリをpg_hba.confファイルに追加するだけでいいと言われています。これはpg_hba.confファイルです。 # TYPE DATABASE USER ADDRESS METHOD # IPv4 local connections: local dbXXX userXXX md5 host dbXXX userXXX XX.XXX.XXX.XXX md5 host all all 127.0.0.1/32 md5 # IPv6 …

5
ユーザーのすべてのテーブルへのアクセスを許可する
私はPostgresが初めてで、MySQLデータベースを移行しようとしています。MySQLでは私が付与できSELECT、UPDATE、INSERT、およびDELETE低特権ユーザの権限を、指定したデータベース内のすべてのテーブルに適用するには、これらの助成金を有効にします。Postgresで何かを見逃しているに違いありません。各テーブルにこれらの特権を一度に1つずつ付与する必要があるように見えるからです。多くのデータベースと、データベースごとに数百のテーブルがあるため、地面から降りるのは大変な作業のようです。さらに、データベースが動作し始めると、テーブルの追加が頻繁に発生するため、絶対に必要な場合を除き、毎回アクセス許可を付与する必要はありません。 これはどのように達成されますか?



13
PostgreSQLのデータディレクトリを見つけるにはどうすればよいですか?
前回(数か月前に)PostgreSQLを起動した方法を忘れてしまいました。データディレクトリの場所を覚えていません。このpostgresコマンドには、データディレクトリの場所が必要なようです。 それが助けになれば、MacOsXにいます。 /usr/local/postgres 私のMacには存在しません。 下記の回答を使用して、ここにあることがわかりました。 /usr/local/var/postgres

11
SQL:SELECT一部を除くすべての列
SELECT特定の列を除く、テーブル内のすべての列への方法はありますか?ITは、テーブルからすべての非ブロブ列または非幾何列を選択するのに非常に便利です。 何かのようなもの: SELECT * -the_geom FROM segments; テーブルへの列の追加を変更するとクエリ結果が変更されるため、この機能が意図的にSQL標準から除外されたと聞いたことがあります。これは本当ですか?引数は有効ですか? 特にPostgreSQLで回避策はありますか?

4
他の人が接続されている間、強制的にデータベースを削除
PostgreSQL DBクラスターからデータベースを削除する必要があります。アクティブな接続がある場合でもどうすればよいですか?-forceフラグのようなものが必要です。これはすべての接続をドロップし、次にDBをドロップします。 どうすれば実装できますか? dropdb現在使用していますが、他のツールも使用できます。

4
さまざまなタイムスタンプ(2列)でのクエリの最適化
Ubuntu 12.04でPostgreSQL 9.1を使用しています。 時間範囲内のレコードを選択する必要があります。テーブルにtime_limitsは2つのtimestampフィールドと1つのintegerプロパティがあります。実際のテーブルには、このクエリに関係しない追加の列があります。 create table ( start_date_time timestamp, end_date_time timestamp, id_phi integer, primary key(start_date_time, end_date_time,id_phi); このテーブルには、およそ2Mのレコードが含まれています。 次のようなクエリには膨大な時間がかかりました。 select * from time_limits as t where t.id_phi=0 and t.start_date_time <= timestamp'2010-08-08 00:00:00' and t.end_date_time >= timestamp'2010-08-08 00:05:00'; そこで、別のインデックスを追加してみました-PKの逆です: create index idx_inversed on time_limits(id_phi, start_date_time, end_date_time); パフォーマンスが向上したという印象を受けました。テーブルの中央にあるレコードにアクセスする時間は、より合理的であるようです。40〜90秒の間です。 ただし、時間範囲の中央の値の場合はまだ数十秒です。そして、テーブルの終わりをターゲットにすると(時系列的に)、さらに2倍になります。 私explain analyzeは初めてこのクエリプランを取得しようとしました。 Bitmap Heap …

8
LIKE、SIMILAR TO、またはPostgreSQLの正規表現を使用したパターンマッチング
BまたはDで始まる人の名前を探す単純なクエリを作成する必要がありました。 SELECT s.name FROM spelers s WHERE s.name LIKE 'B%' OR s.name LIKE 'D%' ORDER BY 1 パフォーマンスを向上させるためにこれを書き換える方法があるかどうか疑問に思っていました。だから私は避けることができますor/またはlike?

3
PostgreSQLの複数列の一意制約とNULL値
次のような表があります。 create table my_table ( id int8 not null, id_A int8 not null, id_B int8 not null, id_C int8 null, constraint pk_my_table primary key (id), constraint u_constrainte unique (id_A, id_B, id_C) ); そして、私(id_A, id_B, id_C)はどんな状況でも明確になりたいです。したがって、次の2つの挿入はエラーになる必要があります。 INSERT INTO my_table VALUES (1, 1, 2, NULL); INSERT INTO my_table VALUES (2, 1, 2, …

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