PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm thế nào để cấu hình postgresql lần đầu tiên?

Các câu trả lời khác không hoàn toàn làm tôi hài lòng. Đây là những gì hoạt động cho postgresql-9.1 trên Xubuntu 12.04.1 LTS.

  1. Kết nối với cơ sở dữ liệu mặc định với postgres của người dùng:

    sudo -u postgres psql template1

  2. Đặt mật khẩu cho postgres của người dùng, sau đó thoát psql (Ctrl-D):

    ALTER USER postgres với mật khẩu được mã hóa 'xxxxxxx';

  3. Chỉnh sửa pg_hba.conf tệp:

    sudo vim /etc/postgresql/9.1/main/pg_hba.conf

    và thay đổi "peer" thành "md5" trên dòng liên quan đến postgres:

    cục bộ tất cả postgres ngang hàng md5

    Để biết bạn đang chạy phiên bản postgresql nào, hãy tìm thư mục phiên bản trong /etc/postgresql . Ngoài ra, bạn có thể sử dụng Nano hoặc trình soạn thảo khác thay vì VIM.

  4. Khởi động lại cơ sở dữ liệu:

    sudo /etc/init.d/postgresql khởi động lại

    (Tại đây bạn có thể kiểm tra xem nó có hoạt động với psql -U postgres không ).

  5. Tạo người dùng có cùng tên với bạn (để tìm tên này, bạn có thể nhập whoami ):

    sudo createuser -U postgres -d -e -E -l -P -r -s <my_name>

    Các tùy chọn yêu cầu postgresql tạo người dùng có thể đăng nhập, tạo cơ sở dữ liệu, tạo vai trò mới, là siêu người dùng và sẽ có mật khẩu được mã hóa. Những cái thực sự quan trọng là -P -E, để bạn được yêu cầu nhập mật khẩu sẽ được mã hóa và -d để bạn có thể thực hiện createdb .

    Cẩn thận với mật khẩu :trước tiên nó sẽ hỏi bạn hai lần mật khẩu mới (cho người dùng mới), lặp lại, sau đó lặp lại một lần mật khẩu postgres (mật khẩu được chỉ định ở bước 2).

  6. Một lần nữa, hãy chỉnh sửa pg_hba.conf (xem bước 3 ở trên) và thay đổi "peer" thành "md5" trên dòng liên quan đến "tất cả" người dùng khác:

    cục bộ tất cả tất cả ngang hàng md5

  7. Khởi động lại (như ở bước 4) và kiểm tra xem bạn có thể đăng nhập mà không cần -U postgres:

    psql mẫu1

    Lưu ý rằng nếu bạn chỉ làm một psql , nó sẽ không thành công vì nó sẽ cố gắng kết nối bạn với cơ sở dữ liệu mặc định có cùng tên với bạn (tức là whoami ). template1 là cơ sở dữ liệu quản trị ở đây ngay từ đầu.

  8. Bây giờ createdb <dbname> sẽ hoạt động.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phân loại cây với một đường dẫn cụ thể?

  2. CHÈN NHÓM CHỌN THEO:nhiều cột mục tiêu hơn lỗi biểu thức

  3. vấn đề bí danh cột postgres

  4. Không tìm thấy ngôn ngữ thủ tục PostgreSQL C

  5. Làm thế nào để chọn bằng mệnh đề WITH RECURSIVE