2015-04-24 18 views
7

Vì vậy, tôi đã cài đặt postgresql9.3 trên Ubuntu. Bây giờ tôi phải tạo một người dùng mới. Vì vậy, tất cả mọi thứ có thể với các postgres superuser. Nhưng tôi cần cho mỗi db mới một người dùng mới.Tạo postgres của người dùng trên Ubuntu

Vì vậy, những gì tôi đã làm:

sudo -u postgres psql 
CREATE USER python with PASSWORD 'python'; 
CREATE DATABASE dbpython; 
GRANT ALL PRIVILEGES ON DATABASE dbpython to python; 

Tôi cũng sửa đổi các tập tin /etc/postgresql/9.1/main/pg_hba.conf và thay đổi các thiết lập xác thực của địa phương để frompeer md5.

Sau khi tôi đã khởi động lại postgres Tôi muốn sử dụng người dùng mới của tôi:

[email protected]:~$ su python 
No passwd entry for user 'python' 

Nhưng

[email protected]:~$ sudo service postgresql restart 
* Restarting PostgreSQL 9.3 database server        [ OK ] 
[email protected]:~$ psql -d dbpython -U python 
Password for user python: 
psql (9.3.6) 
Type "help" for help. 

dbpython=> 

Tại sao mà làm việc và trăn su không? Nhận xét quan trọng: Tôi không tạo ra một người dùng python mới trong Ubuntu, tôi hy vọng điều này là không cần thiết đối với mỗi người dùng mới trên postgres.

+0

Bản sao có thể có của [Làm cách nào để đăng nhập và xác thực với Postgresql sau khi cài đặt mới?] (Http://stackoverflow.com/questions/2172569/how-do-i-login-and-authenticate-to-postgresql- sau khi-một-tươi-cài đặt) –

Trả lời

11

Bạn đang trộn người dùng PostgreSQL và người dùng UNIX, một điều hoàn toàn khác.

CREATE USER python with PASSWORD 'python'; 

Lệnh này chỉ tạo một người dùng PostgreSQL và không tạo ra bất kỳ người sử dụng UNIX, bạn có thể kiểm tra xem nó bằng cách hiển thị danh sách người dùng trên /etc/passwd tập tin.

Nếu bạn cũng muốn có người dùng UNIX, bạn sẽ phải tự tạo nó (hoặc viết kịch bản).

+0

Cảm ơn, tôi hiểu ngay bây giờ :) – lvthillo

Các vấn đề liên quan