PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana cara saya masuk dan mengautentikasi ke Postgresql setelah instalasi baru?

Ada dua cara yang bisa Anda gunakan. Keduanya memerlukan pembuatan pengguna dan basis data.

Secara default psql terhubung ke database dengan nama yang sama dengan pengguna. Jadi ada konvensi untuk membuat "basis data pengguna" . Dan tidak ada alasan untuk melanggar konvensi itu jika pengguna Anda hanya membutuhkan satu database. Kami akan menggunakan mydatabase sebagai contoh nama database.

  1. Menggunakan createuser dan createb , kita bisa eksplisit tentang nama database,

    $ sudo -u postgres createuser -s $USER
    $ createdb mydatabase
    $ psql -d mydatabase
    

    Anda mungkin harus menghilangkan itu sepenuhnya dan membiarkan semua perintah default ke nama pengguna sebagai gantinya.

    $ sudo -u postgres createuser -s $USER
    $ createdb
    $ psql
    
  2. Menggunakan perintah administrasi SQL, dan menghubungkan dengan sandi melalui TCP

    $ sudo -u postgres psql postgres
    

    Dan, kemudian di shell psql

    CREATE ROLE myuser LOGIN PASSWORD 'mypass';
    CREATE DATABASE mydatabase WITH OWNER = myuser;
    

    Kemudian Anda dapat masuk,

    $ psql -h localhost -d mydatabase -U myuser -p <port>
    

    Jika Anda tidak mengetahui portnya, Anda selalu bisa mendapatkannya dengan menjalankan perintah berikut, sebagai postgres pengguna,

    SHOW port;
    

    Atau,

    $ grep "port =" /etc/postgresql/*/main/postgresql.conf
    

Sidenote:postgres pengguna

Saya sarankan TIDAK memodifikasi postgres pengguna.

  1. Biasanya dikunci dari OS. Tidak seorang pun seharusnya "masuk" ke sistem operasi sebagai postgres . Anda seharusnya memiliki root untuk dapat mengautentikasi sebagai postgres .
  2. Biasanya tidak dilindungi kata sandi dan didelegasikan ke sistem operasi host. Ini adalah hal yang baik . Ini biasanya berarti untuk masuk sebagai postgres yang setara dengan PostgreSQL dari SA SQL Server , Anda harus memiliki akses tulis ke file data yang mendasarinya. Dan, itu berarti Anda biasanya bisa membuat kekacauan.
  3. Dengan menonaktifkan ini, Anda menghilangkan risiko serangan brute force melalui pengguna super bernama. Menyembunyikan dan mengaburkan nama pengguna super memiliki keuntungan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Di psql, mengapa beberapa perintah tidak berpengaruh?

  2. Bagaimana saya bisa mencocokkan dua kata terakhir dalam sebuah kalimat di PostgreSQL?

  3. Dapatkan nama pemilik DB di PostgreSql

  4. perbedaan antara localhost dan postgres untuk Host di buruh pelabuhan

  5. Bagaimana saya bisa menggunakan UUID di SQLAlchemy?