Установил postgresql и phppgadmin (на разных хостах). Создал две БД, двух пользователей:
create database db1;
create database db2;
CREATE USER user1 WITH password 'pswd1';
CREATE USER user2 WITH password 'pswd2';
ALTER DATABASE db1 OWNER TO user1;
ALTER DATABASE db2 OWNER TO user2;
В pg_hba.conf указано
#host all all 1.2.3.4/32 md5
#host all all 1.2.3.5/32 md5
host user1 db1 1.2.3.0/24 md5
host user2 db2 1.2.3.0/24 md5
$conf['servers'][0]['defaultdb'] = 'template1';
Если изменить pg_hba.conf (закомментировать последние строки и снять комментарий с первых) то подключение происходит и все могут видеть любую базу и создавать в любой базе таблицу. Есть впечатление что это связано с некой схемой public.
В phppgadmin нет поля ввода базы данных. Мне в pg_hba.conf задать права для всех на template1? Это не будет неправильным? Или нужны какие либо манипуляции со схемами?
До этого я имел дело с mysql, там при подключении можно не указывать название бызы и там нет никаких схем. Если кто нибудь разбирается в postgresql, скажите пожалуйста, можно ли разрешить эту ситуацию и как правильно это сделать?