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