4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[PostgreSQL]テーブルの項目の型の調べ方/確認の仕方

Last updated at Posted at 2020-03-21

##はじめに
PostgreSQLで実装中に「今のテーブルのそれぞれの項目の状態ってどうなってたっけ?」
となったときに、カラムの型の確認の仕方がまとまっていなかったので、まとめる

##環境
macOS Catalina
Ruby 2.5.1
Rails 5.0.7.2
PostgreSQL 12.2

##確認方法

###1. psql -lで、確認したいテーブルが含まれるデータベースの名前を確認する
PostgreSQLにあるデータベースが一覧表示されるので、確認したいテーブルが含まれるデータベース名をコピーしておく

ternminal
$ psql -l #PostgreSQLのDBを一覧で表示する

##実行結果 (今回は「app-name_development」が対象)
                                 List of databases
          Name           | Owner  | Encoding | Collate | Ctype | Access privileges 
-------------------------+--------+----------+---------+-------+-------------------
 app-name_development    | user   | UTF8     | C       | C     | 
 app-name_test           | user   | UTF8     | C       | C     | 
 postgres                | user   | UTF8     | C       | C     | 
 template0               | user   | UTF8     | C       | C     | =c/user        +
                         |        |          |         |       | user=CTc/user
 template1               | user   | UTF8     | C       | C     | =c/user        +
                         |        |          |         |       | user=CTc/user
(5 rows)

###2. psql -d データベース名とコマンド入力
コンソール状態のようになる

ternminal
$ psql -d app-name_development #1.でコピーしたデータベース名
psql (12.2)
Type "help" for help.

app-name_development=# 

###3. \d テーブル名とコマンド入力
入力したテーブル名のカラム、インデックス、外部キーが一覧表示される

ternminal
$ psql -d app-name_development
psql (12.2)
Type "help" for help.

app-name_development=# \d users #確認したいテーブル名
                                        Table "public.users"
   Column   |            Type             | Collation | Nullable |             Default              
------------+-----------------------------+-----------+----------+----------------------------------
 id         | integer                     |           | not null | nextval('woms_id_seq'::regclass)
 name       | character varying           |           | not null | 
 group_id   | integer                     |           |          | 
 created_at | timestamp without time zone |           | not null | 
 updated_at | timestamp without time zone |           | not null | 
Indexes:
    "users_pkey" PRIMARY KEY, btree (id)
    "index_users_on_group_id" btree (group_id)
Foreign-key constraints:
    "fk_rails_b5bbe7a612" FOREIGN KEY (group_id) REFERENCES groups(id)

app-name_development=# \q #\qで終了

##追記(2020/03/21)
これ書いた後に気付いたが、普通にdb/schema.rbを確認するだけでよかった気もする...

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?