PostgreSQL(psql)の接続と切断
psqlの接続と接続、指定したデータベースへの接続
普段はMySQLを使用しているので、PostgreSQLとはDBへの接続方法やDBの選択や終了などを違うので簡単にまとめてみました
psqlへの接続
PostgreSQLへのデータベースへの接続は、「psql」という、コマンドラインベースのツールを利用します。
データベースへの接続方法は、「psql -U postgres」で接続できます。psqlに接続できると「postgres=# 」の表示に変わります
# データベースに接続します $ psql -U postgres psql (9.2.24) Type "help" for help. postgres=# # postgresユーザーにスイッチしてから、psql を叩いてもデータベースに接続できます # su - postgres Last login: Fri Oct 1 10:58:30 JST 2021 on pts/0 -bash-4.2$ psql psql (9.2.24) Type "help" for help. postgres=# # postgresユーザー以外では、「psql」コマンドを叩いてもログインはできないので、roleがないので、ログインできません # psql psql: FATAL: role "root" does not exist
指定したデータベースに接続する
MySQLでは「use DB名」で、指定したデータベースに接続できましたが、PostgreSQLでは、「\c DB名」となります。また、psqlコマンドで、「psql -U postgres -d DB名」でも、指定したDBに接続できます
# testshop という、データベースに接続します。 # データベース一覧を表示します postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- testdb | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows) # testdbに接続します postgres=# \c testshop You are now connected to database "testdb" as user "postgres". testdb=# # psqlに接続時にデータベースを指定してログインもできます」 -bash-4.2$ psql -d testdb psql (9.2.24) Type "help" for help. testdb=#
psqlへの切断する
psqlコマンドを終了するには、MySQLのように「exit」や「crtl 」+「c」とかやっても終了しません。
「\q」で終了します。この終了方法しらないと、終了方法がわからずに結構焦ります
postgres=# \q
ディスカッション
ピンバック & トラックバック一覧
[…] PostgreSQL(psql)の接続と切断 | ex1-lab […]