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 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
-
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.
- 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
postgres
yang setara dengan PostgreSQL dariSA
SQL 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.