Ubuntu / Debian Postgresql 12 bağlanma hk.
Öncelikle postgresql.conf dosayasında listen_address ‘localhost’ dur. Bu ayarın üzerine yazılması için /var/lib/postgresql/12/main/postgresql.auto.conf olması için aşağıdaki komudu girmelisiniz. böylece alter system ile girdiğiniz komutlar burada kaydedilir ve “select pg_reload_conf(); “ çağırıldıkca aktif olacaktır.
Not: komutları yazarken bash deki gibi tab tab ile tamamlayabilirsiniz!
kullan@KUHEYLAN:~$ sudo -u postgres psql
psql (12.6 (Ubuntu 12.6-0ubuntu0.20.04.1))
Type "help" for help.postgres=# alter system set listen_addresses TO '*'
postgres=# select pg_reload_conf();
pg_reload_conf
----------------
t
(1 row)
bu işlem sonucu;
kullan@KUHEYLAN:~$ sudo cat /var/lib/postgresql/12/main/postgresql.auto.conf
# Do not edit this file manually!
# It will be overwritten by the ALTER SYSTEM command.
listen_addresses = '*'
Not: postgresql.auto.conf içindeki tüm ayarları resetlemek için “ALTER SYSTEM RESET ALL” yapabilirsiniz.
Ubuntu / Debian da tüm ayar dosyaları buradadır.
kullan@KUHEYLAN:~$ ls -alh /etc/postgresql/12/main/
total 64K
drwxr-xr-x 3 postgres postgres 4.0K Mar 25 11:45 .
drwxr-xr-x 3 postgres postgres 4.0K Jan 25 13:36 ..
drwxr-xr-x 2 postgres postgres 4.0K Jan 25 13:36 conf.d
-rw-r--r-- 1 postgres postgres 315 Jan 25 13:36 environment
-rw-r--r-- 1 postgres postgres 143 Jan 25 13:36 pg_ctl.conf
-rw-r----- 1 postgres postgres 5.0K Mar 25 11:22 pg_hba.conf
-rw-r----- 1 postgres postgres 1.6K Jan 25 13:36 pg_ident.conf
-rw-r--r-- 1 postgres postgres 27K Jan 25 13:36 postgresql.conf
-rw-r--r-- 1 postgres postgres 317 Jan 25 13:36 start.conf
pg_hba.conf dosyasında da unix socket , tcp olarak izin ip bloklarına izinlerin belirlenmesi gerekir.
Birinci olarak; (eski ve genel yöntem mi? )
postgres=# create database veritabanim;
CREATE DATABASE
postgres=# create user kullanicim with password 'parola';
CREATE ROLE
postgres=# grant all on database veritabanim to kullanicim;
GRANT
postgres=#
Not: password_encryption varsayilan olarak “on” olduğunda with encrypted password <p> şeklinde yazmaya gerekyoktur.
kullan@KUHEYLAN:~$ psql -U kullanicim -W -h 3.3.3.3 veritabanim
Password:
psql (12.6 (Ubuntu 12.6-0ubuntu0.20.04.1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.veritabanim=>
sonrada silelim, tabi kullanıcı veritabanın önce silmek lazım
postgres@KUHEYLAN:~$ dropuser kullanicim
dropuser: error: removal of role "kullanicim" failed: ERROR: role "kullanicim" cannot be dropped because some objects depend on it
DETAIL: privileges for database veritabanimpostgres@KUHEYLAN:~$ dropdb veritabanim
postgres@KUHEYLAN:~$ dropuser kullanicim
İkinci olarak; create_role( create user ile aynıdır. ) (orjinal)
postgres=# create role kullanicim with password 'parola';
CREATE ROLE
postgres=# alter role kullanicim with login superuser;
ALTER ROLE
NOt: “create user” ve “create role” farki burada login hakkı vermek. Eğer login ve superuser hakkını create aninda vermek istersen with … password kısmına yazabilirisin.
postgres@KUHEYLAN:~$ psql -U kullanicim -W -h 3.3.3.3
Password:
psql: error: FATAL: database "kullanicim" does not exist
postgres@KUHEYLAN:~$->>>> o zaman postgres veritabanina bağlanalım postgres@KUHEYLAN:~$ psql -U kullanicim -W -h 3.3.3.3 postgres
Password:
psql (12.6 (Ubuntu 12.6-0ubuntu0.20.04.1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.postgres=# create database veritabanim;
CREATE DATABASE
postgres=# exit
postgres@KUHEYLAN:~$
postgres@KUHEYLAN:~$ psql -U kullanicim -W -h 3.3.3.3 veritabanim
Password:
psql (12.6 (Ubuntu 12.6-0ubuntu0.20.04.1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.veritabanim=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-------------+------------+----------+-------------+-------------+-------------------------
alparslan | alparslan | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/alparslan +
| | | | | alparslan=CTc/alparslan
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
veritabanim | kullanicim | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
(5 rows)veritabanim=#
son olarak; createdb ve createuser komutlarını kullanarak da bağlanabilirisiniz.
postgres@KUHEYLAN:~$ createuser kullanicim -W
Password:postgres@KUHEYLAN:~$ createdb -O kullanicim veritabanim
Not: eğer kullanıcı superuser role eklemek isterseniz. “createuser -s -W kullanicim” şeklinde olabilir….