24

私はpostgreSQLの初心者であり、psqlコマンドの使用に関する有用な紹介が見つかりません. 少なくとも、それが私が使いたいコマンドだと思います。

postgreSQL で単純にサーバーに接続し、データベースを一覧表示、作成、使用、および検査することは可能ですか?

psql を使用して、MySQL でこのようなことを実行できるようにしたいと考えています (多くの余分な行を削除しました)。

データベースを指定せずに接続します-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 をまったく使用しないでください。

4

4 に答える 4

50

サーバーに接続:

$ 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
于 2013-02-05T19:34:54.650 に答える
2

データベースを指定せずに接続します-psqlではそれができないようです:

説明書より引用

デフォルトのユーザー名は、デフォルトのデータベース名と同様に、Unix ユーザー名です。


データベースを切り替えることができます

説明書より引用

\connect [ データベース名 [ ユーザー名 ] [ ホスト ] [ ポート ] ] PostgreSQL サーバーへの新しい接続を確立します


テーブルを表示

説明書より引用

\d[S+] [ pattern ] パターンに一致する各リレーション (テーブル、ビュー、インデックス、シーケンス、または外部テーブル) または複合型について、すべての列を表示します


データベース foo を作成します。

これは、マニュアルに記載されている PostgreSQL のステートメントと同じです。


終了する

説明書より引用

\q または \quit psql プログラムを終了します。

于 2013-02-05T19:47:03.500 に答える
2

ターミナルを使用した Postgresql

postgresqlに入ります

   sudo -u postgres psql

postgresqlのデータベースのリストを見つける

   $ \l

次のコマンドでデータベースに接続します

   $ \c databasename

次の方法でデータベース内のモデルを表示

   $ \dt

データベースに存在するテーブルのリストが表示され、テーブルに対して次のような操作を実行します

   $ select * from table;
于 2016-11-22T04:44:43.600 に答える