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.
-
Menggunakan createuser dan createb , kita bisa eksplisit tentang nama database,
$ sudo -u postgres createuser -s $USER $ createdb mydatabase $ psql -d mydatabaseAnda mungkin harus menghilangkan itu sepenuhnya dan membiarkan semua perintah default ke nama pengguna sebagai gantinya.
$ sudo -u postgres createuser -s $USER $ createdb $ psql -
Menggunakan perintah administrasi SQL, dan menghubungkan dengan sandi melalui TCP
$ sudo -u postgres psql postgresDan, 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
postgrespengguna,SHOW port;Atau,
$ grep "port =" /etc/postgresql/*/main/postgresql.conf
Sidenote:postgres pengguna
Saya sarankan TIDAK memodifikasi postgres pengguna.
- Biasanya dikunci dari OS. Tidak seorang pun seharusnya "masuk" ke sistem operasi sebagai
postgres. Anda seharusnya memiliki root untuk dapat mengautentikasi sebagaipostgres. - Biasanya tidak dilindungi kata sandi dan didelegasikan ke sistem operasi host. Ini adalah hal yang baik . Ini biasanya berarti untuk masuk sebagai
postgresyang setara dengan PostgreSQL dariSASQL Server , Anda harus memiliki akses tulis ke file data yang mendasarinya. Dan, itu berarti Anda biasanya bisa membuat kekacauan. - Dengan menonaktifkan ini, Anda menghilangkan risiko serangan brute force melalui pengguna super bernama. Menyembunyikan dan mengaburkan nama pengguna super memiliki keuntungan.