Назад | Перейти на главную страницу

Невозможно сбросить таблицу, невозможно проверить открытые соединения

Я подключен к 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.