
Kalo kamu install database postgreSQL, by default database tersebut tidak aktifkan extension secara otomatis. Hal ini diperlukan super-user untuk bisa aktifkan extension tersebut.
Beberapa kasus jika ingin meng-generate UUID dengan fungsi gen_random_uuid() maka tidak akan jalan.
So, coba ikutin tutorial dibawah ini ya sob!
Solusi aktifkan extension
- Login sebagai root di server cPanel/WHM kamu.
Pastikan sudah terinstall PostgreSQL ya.
https://docs.cpanel.net/knowledge-base/sql/install-or-update-postgresql-on-your-cpanel-server/ - Install library untuk mendukung adanya extension lainnya.
[root@hostname]# yum install postgresql-contrib - Terkadang kamu bisa lihat password postgreSQL di
/root/.pgpass - Jalankan perintah psql untuk masuk ke database.
[root@hostname ~]# psql -U postgres - Cek ketersediaan extension
postgres=# SELECT * FROM pg_available_extensions ORDER BY name;name | default_version | installed_version | comment--------------------+-----------------+-------------------+----------------------------------------------------------------------adminpack | 1.1 | | administrative functions for PostgreSQLamcheck | 1.0 | | functions for verifying relation integrityautoinc | 1.0 | | functions for autoincrementing fieldsbloom | 1.0 | | bloom access method - signature file based index - Pilih extension yang mau di create. Contoh kita akan create extension
uuid-osspdanpgcrypto.postgres=# CREATE EXTENSION IF NOT EXISTS "uuid-ossp";CREATE EXTENSIONpostgres=# CREATE EXTENSION IF NOT EXISTS "pgcrypto";CREATE EXTENSIONpostgres=# SELECT * FROM pg_extension;extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition-----------+----------+--------------+----------------+------------+-----------+--------------plpgsql | 10 | 11 | f | 1.0 | |uuid-ossp | 10 | 2200 | t | 1.1 | |pgcrypto | 10 | 2200 | t | 1.3 | |(3 rows) - Terlihat ada 3 extension yang sudah di enable yaitu
plpgsql,uuid-osspdanpgcrypto
Akatifkan Extension untuk spesifik database tertentu
jangan lupa, tutorial diatas itu aktifkan extension untuk Database baru. Bagaimana dengan Database existing? Tentu kamu bisa aktifkan dengan spesifik ke database tertentu. Caranya?
- Mirip dengan cara diatas, ikuti step no 1 s/d 4
- Masuk kedalam database tertentu yang mau di enable extension nya. Dalam kasus ini nama databasenya adalah: solusiid_demo
postgres=# \c solusiid_demoYou are now connected to database "solusiid_demo" as user "postgres". - Create extention yang mau di aktifkan.
solusiid_demo=# CREATE EXTENSION IF NOT EXISTS "uuid-ossp";CREATE EXTENSIONsolusiid_demo=# CREATE EXTENSION IF NOT EXISTS "pgcrypto";CREATE EXTENSION - Cek / verify apakah sudah benar ter-create
solusiid_demo=# \dxList of installed extensionsName | Version | Schema | Description-----------+---------+------------+-------------------------------------------------pgcrypto | 1.3 | public | cryptographic functionsplpgsql | 1.0 | pg_catalog | PL/pgSQL procedural languageuuid-ossp | 1.1 | public | generate universally unique identifiers (UUIDs)(3 rows)solusiid_demo=# exitsolusiid_demo-# \q - Selesai.
Kesimpulan
Fungsi UUID ini digunakan untuk generate unique key. Memang secara default tidak otomatis bisa digunakan fungsi tersebut, jadi kamu harus enable extension tertentu dengan cara tutorial diatas yang sudah kami bagikan. Tentu untuk aktifkan extension tertentu perlu user level tertinggi yaitu root. Namun info yang kami dapat jika menggunakan database PostgreSQL terbaru (versi 13 atau diatasnya), dia sudah tidak perlu lagi create extenstion tersebut, sudah otomatis fungsi uuid itu aktif dan langsung bisa digunakan. Yuk alternatif jg bisa coba update versi DB kamu ya! Tapi tentu update DB tidak semudah itu, perlu banyak pertimbangan lainnya atau malah bisa mengakibatkan fatal DB corrupt.
Semoga artikel ini membantu mu, dan setiap action harus dilakukan dengan hati-hati atau bisa minta bantuan kepada system administrator yang berpengalaman. ;)



