web-dev-qa-db-ja.com

psqlが既存のテーブルのリレーション名を見つけられないのはなぜですか?

これが私の現在の状態です。

Eonil=# \d+
                       List of relations
 Schema |    Name    | Type  | Owner |    Size    | Description 
--------+------------+-------+-------+------------+-------------
 public | TestTable1 | table | Eonil | 8192 bytes | 
(1 row)

Eonil=# \d+ TestTable1
Did not find any relation named "TestTable1".
Eonil=# 

問題は何ですか?どのようにしてテーブル定義を見ることができますか?

30
Eonil

Postgres psqlは大文字をエスケープする必要があります。

Eonil=# \d+ "TestTable1"

これはうまくいきます。

Eonil=# \d+ "TestTable1"
                   Table "public.TestTable1"
 Column |       Type       | Modifiers | Storage  | Description 
--------+------------------+-----------+----------+-------------
 ID     | bigint           | not null  | plain    | 
 name   | text             |           | extended | 
 price  | double precision |           | plain    | 
Indexes:
    "TestTable1_pkey" PRIMARY KEY, btree ("ID")
    "TestTable1_name_key" UNIQUE CONSTRAINT, btree (name)
Has OIDs: no

Eonil=# 
42
Eonil