Cara aktifkan extension uuid-ossp dan pgcrypto pada postgreSQL

extension pada postgreSQL

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.

error create extension

So, coba ikutin tutorial dibawah ini ya sob!

Solusi aktifkan extension

  1. 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/

  2. Install library untuk mendukung adanya extension lainnya.
    [root@hostname]# yum install postgresql-contrib

  3. Terkadang kamu bisa lihat password postgreSQL di /root/.pgpass

  4. Jalankan perintah psql untuk masuk ke database.
    [root@hostname ~]# psql -U postgres

  5. Cek ketersediaan extension
    postgres=# SELECT * FROM pg_available_extensions ORDER BY name;
    name | default_version | installed_version | comment
    --------------------+-----------------+-------------------+----------------------------------------------------------------------
    adminpack | 1.1 | | administrative functions for PostgreSQL
    amcheck | 1.0 | | functions for verifying relation integrity
    autoinc | 1.0 | | functions for autoincrementing fields
    bloom | 1.0 | | bloom access method - signature file based index

  6. Pilih extension yang mau di create. Contoh kita akan create extension uuid-ossp dan pgcrypto.
    postgres=# CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
    CREATE EXTENSION
    postgres=# CREATE EXTENSION IF NOT EXISTS "pgcrypto";
    CREATE EXTENSION
    postgres=# 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)

  7. Terlihat ada 3 extension yang sudah di enable yaitu plpgsql, uuid-ossp dan pgcrypto

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?

  1. Mirip dengan cara diatas, ikuti step no 1 s/d 4

  2. Masuk kedalam database tertentu yang mau di enable extension nya. Dalam kasus ini nama databasenya adalah: solusiid_demo
    postgres=# \c solusiid_demo
    You are now connected to database "solusiid_demo" as user "postgres".

  3. Create extention yang mau di aktifkan.
    solusiid_demo=# CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
    CREATE EXTENSION
    solusiid_demo=# CREATE EXTENSION IF NOT EXISTS "pgcrypto";
    CREATE EXTENSION

  4. Cek / verify apakah sudah benar ter-create

    solusiid_demo=# \dx
    List of installed extensions
    Name | Version | Schema | Description
    -----------+---------+------------+-------------------------------------------------
    pgcrypto | 1.3 | public | cryptographic functions
    plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
    uuid-ossp | 1.1 | public | generate universally unique identifiers (UUIDs)
    (3 rows)

    solusiid_demo=# exit
    solusiid_demo-# \q

  5. 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. ;)

 

 

  • pgcrypto, uuid-ossp
  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

Add User and Privileges into a Database(s)

Didalam pembuatan database mysql / posgresql, terdapat user dan password yang memiliki akses...

Aktifkan remote database di hosting cPanel

Remote database hanya berlaku pada MySQL.Dalam hal ini terdapat beberapa langkah untuk...

Tutorial Backup database dan source code pada VPS anda menggunakan shell script

backup adalah hal yang sangat penting jika anda merasa file/data anda berharga.terdapat berbagai...

Tutorial menjalankan PHP script dengan database noSQL Redis

Sudah umum bagi kita menggunakan database seperti Mysql / Postgresql (RDMBS).tetapi ada hal yang...

Mysql dengan storage engine MyISAM atau InnoDB

Dua Storage Engine utama penyimpanan tabel untuk database MySQL adalah InnoDB dan MyISAM....

VPS Indonesia cuma 40rb Hosting Gratis Domain

Powered by WHMCompleteSolution