Ulid nedir?
postgresql için kullanacağımız Ulid kütüphanesi
https://github.com/pksunkara/pgx_ulid
Ubuntu server 22.04 versiyonu ile deniyorum
GNU C Library (GLIBC_2.33) ve üzeri bir versiyonda olmanız gerekiyor kontrol etmek için
ldd --version
daha aşağı bir versiyon yüklü ise İşletim sisteminizi upgrade etmeniz gerekebilir.
Upgrade için
sudo apt update sudo apt upgrade sudo apt dist-upgrade sudo apt install update-manager-core sudo do-release-upgrade
Öncelikle PostgreSQL i yükleyelim:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update sudo apt-get -y install postgresql
net-tools paketini yükleyelim
sudo apt install net-tools
postgresql i dışarıdan erişime açalım
sudo vi /etc/postgresql/15/main/postgresql.conf
Dosya içinde
listen_addresses
satırını bulun ve aşağıdaki gibi değiştirin:sudo vi /etc/postgresql/15/main/pg_hba.conf
dosyanın sonuna:
host all all 0.0.0.0/0 md5
postgresql restart edelim
sudo systemctl restart postgresql
5432 portunu açalım.
sudo ufw allow 5432/tcp
postgresql kullanıcısına şifre atayalım
sudo -i -u postgres
psql
\password
şifreyi ve doğrulamak için yeni şifreyi tekrar girin
daha sonra
wget https://github.com/pksunkara/pgx_ulid/releases/download/v0.1.1/pgx_ulid-v0.1.1-pg15-amd64-linux-gnu.deb
indirme tamamlandıktan sonra
sudo apt install ./pgx_ulid-v0.1.1-pg15-amd64-linux-gnu.deb
daha sonra dbeaver dan eklentiyi istediğimiz veritabanı için etkinleştirebiliriz
CREATE EXTENSION ulid;
test etmek için:
CREATE TEMP TABLE mytable AS select gen_ulid() as deneme FROM generate_series(1,1000000); select * from mytable;
monotonic ulid kullanmak için
sudo vi /etc/postgresql/15/main/postgresql.conf
en sonuna
shared_preload_libraries = 'ulid' # (change requires restart)
postgresql i yeniden başlatıyoruz.
sudo systemctl restart postgresql