Я подключен к postgres
база данных, как postgres
пользователь:
docker exec -it mycontainer psql -h localhost -U postgres
Я вижу базы данных:
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+------------+------------+--------------------
---
postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
srdb | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =Tc/postgres
+
| | | | | postgres=CTc/postgr
es+
| | | | | sruser=CTc/postgres
template0 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres
+
| | | | | postgres=CTc/postgr
es
template1 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres
+
| | | | | postgres=CTc/postgr
es
(4 rows)
Я хочу отбросить стол, но ничего не происходит:
postgres=# DROP DATABASE srdb
Может еще кто нибудь подключен? Давай проверим:
postgres-# SELECT * FROM pg_stat_activity
Ничего!
Что я делаю не так?
Операторы SQL могут занимать несколько строк, поэтому вам нужно пометить конец вашего оператора точкой с запятой. ;
(или менее используемая метакоманда \g
)
Ваш DROP DATABASE srdb
не был отправлен на сервер, и SELECT * FROM pg_stat_activity
Что касается psql, это незаконченный единственный оператор. Также обратите внимание, как подсказка -#
во второй строке отличается от =#
первой строки: это вторичная подсказка, указывающая на продолжение ввода, см. Подсказка в psql.