2016-11-22 3 views
0

Я соединиться с пользователем «Postgres» и я создаю одного пользователя:Пользователь всегда может подключиться к базе данных [POSTGRES]

postgres=# CREATE DATABASE db_example ; 
postgres=# CREATE USER user WITH PASSWORD 'user123'; 
postgres=# REVOKE CONNECT ON DATABASE db_example FROM user; 
REVOKE 
postgres=# \q 

позже, я пытаюсь связаться с пользователем «пользователь» на «db_example» :

корень @ Debian:/Главная/Debian # PSQL -d db_example -U пользователь -h локальный

psql (9.4.9) 
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) 
Type "help" for help. 

db_example=> 

Wh y могу ли я подключиться к пользовательскому «пользователю» к «db_example»?

Спасибо за помощь и хороший день.

+0

Возможный дубликат [Почему новый пользователь в PostgreSQL может подключаться ко всем базам данных] (http://stackoverflow.com/questions/6884020/why-new-user-in-postgresql-can-connect-to-all-databases) – cske

ответ

1

Это потому, что по умолчанию эта привилегия имеет PUBLIC (т. Е. Каждый).

Для удаления этого запустите

REVOKE CONNECT ON DATABASE db_example FROM PUBLIC; 

Выполнить \l+ видеть привилегии в настоящее время установленные на базах данных. Пустой параметр означает значение по умолчанию: владелец может делать все, и PUBLIC может подключиться.

+0

Большое вам спасибо, вы решили мою проблему :) – Python241820

 Смежные вопросы

  • Нет связанных вопросов^_^