私はpostgreSQLの初心者であり、psqlコマンドの使用に関する有用な紹介を見つけることができません。少なくとも、それが私が使いたいコマンドだと思います。
PostgreSQLでサーバーに接続し、データベースを一覧表示、作成、使用、および検査することは可能ですか?
MySQLでこのようなことをするためにpsqlを使用できるようにしたい(私は多くの余分な行を削除しました):
データベースを指定せずに接続する-psqlではそれができないようです:
$ mysql -u root -prootpassword
Welcome to the MySQL monitor. Commands end with ; or \g.
Server version: 5.5.28 MySQL Community Server (GPL)
Mysqlを使用してデータベースを一覧表示できますが、posgreSQLコマンドSHOWはそれを実行していないようです。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| ocdp |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.04 sec)
データベースを切り替えることができます。
mysql> use ocdp;
Database changed
私はこのコマンドをpsqlで理解できません:
mysql> show tables;
+---------------------------------+
| Tables_in_ocdp |
+---------------------------------+
| OCAddresses |
| OCStreets |
+---------------------------------+
2 rows in set (0.00 sec)
'createdb'および 'dropdb'コマンドを使用して、psqlでこれを実行できると思います。
mysql> create database foo;
Query OK, 1 row affected (0.00 sec)
mysql> drop database foo;
Query OK, 0 rows affected (0.03 sec)
\ quitを使用します
mysql> quit
Bye
これらの質問への回答は、postgreSQLを知っている人にとってはほんの少しの時間で済みますが、これらの単純な操作を行う方法を示すドキュメントはどこにも見つかりません。多分私はこれのためにpsqlを使うべきではありませんか?
サーバーに接続:
$ mysql -u root -prootpassword
$ su - postgres
$ psql
データベースのリスト:
mysql> show databases;
postgres=# \l
データベースを切り替える:
mysql> use ocdp;
postgres=# \c ocdp
テーブルを表示:
mysql> show tables;
postgres=# \dt
データベースを作成:
mysql> create database foo;
postgres=# create database foo;
データベースの削除:
mysql> drop database foo;
postgres=# drop database foo;
終了する:
mysql> quit
postgres=# \q
Mac-OS-Xおよびpostgres 9.4を使用している場合は、このコマンドを使用してみてください
psql --list
引用 マニュアルから
デフォルトのユーザー名は、デフォルトのデータベース名と同様に、Unixユーザー名です。
引用 マニュアルから
\ connect [dbname [username] [Host] [port]] PostgreSQLサーバーへの新しい接続を確立します
引用 マニュアルから
\ d [S +] [pattern]各リレーション(テーブル、ビュー、インデックス、シーケンス、または外部テーブル)またはパターンに一致する複合型について、すべての列を表示します
これはPostgreSQLの同じステートメントです マニュアルに記載されています
引用 マニュアルから
\ qまたは\ quit psqlプログラムを終了します。
端末を備えたPostgresql
postgresqlに入ります
Sudo -u postgres psql
postgresqlでデータベースのリストを見つける
$ \l
次のコマンドでデータベースに接続します
$ \c databasename
データベース内のモデルを表示
$ \dt
データベースに存在するテーブルのリストが表示され、次のようなテーブルで操作を実行します
$ select * from table;