Dnia poniedziałek, 10 grudnia 2007 00:36, Jarek Buczyński napisał: > Hej > > Dzięki za wszystkie odpowiedzi. Czyli rootem (administratorem) > wszystkich baz serwera PostgreSQL jest użytkownik z kontem w systemie > linux a nie jak w MySQL uzytkownik root w bazie danych, tak? Niekoniecznie. Możesz mieć użytkowników bazy danych bez tworzenia odpowiednich kont w systemie. Administratorem danej bazy danych zostaje jej właściciel. Wszystkich dowolny użytkownik bazy któremu nadasz takie prawa. > > Mój plik pg_hba.conf wygląda tak (domyślna instalacja): > Mój wygląda tak # TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD # Database administrative login by UNIX sockets local all postgres ident sameuser # # All other connections by UNIX sockets local all all password # # All IPv4 connections from localhost host all all 127.0.0.1 255.255.255.255 password >---------------- $createuser psql_admin > --------------------------------------------------------------------------- >---------------- > > powoduje utworzenie nowego konta systemowego o takich prawach jakie ma > postgres? > > Pytam dlatego ponieważ nie udało mi się tego zrobić: > > --------------------------------------------------------------------------- >---------------- $ createuser psqladmin > Shall the new role be a superuser? (y/n) y Opowiedz n. > wiec wywołuję jako postgres z dobrym haslem > a skąd znasz hasło użytkownika postgres ha? > $ createuser -Upostgres -W psql_admin > Shall the new role be a superuser? (y/n) y > Password: > createuser: could not connect to database postgres: FATAL: Ident > authentication failed for user "postgres" > --------------------------------------------------------------------------- >---------------- > > Co muszę zmienić w pg_hba.conf żeby to drugie przeszło i czemu teraz > nie może się połączyć? Dla użytkownika postgres masz ident sameuser a podajesz hasło. Spróbuj z konta root wydać polecenie: su postgres createuser <nazwa_użytkownika> Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) y CREATE USER Możliwe że już masz użytkownika psql_admin spróbuj innej nazwy. możesz to sprawdzić tak: Z konta root su postgres psql template1 Welcome to psql 7.4.7, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help on internal slash commands \g or terminate with semicolon to execute query \q to quit template1=# \du Wyświetli listę użytkowników baz danych wraz z uprawnieniami. List of database users User name | User ID | Attributes ------------+---------+---------------------------- magdalena1 | 108 | postgres | 1 | superuser, create database W razie problemów pisz :D Pozdrawiam -- Sebastian Domanski Klucz PGP można wyszukać i pobrać z http://stinkfoot.org:11371/
Attachment:
pgpD0soGJ0KiF.pgp
Description: PGP signature