Memindahkan Database ke Tablespace yang lain

  Baru baru ini, saya migrate database dari 8.3 ke 9.1. Berhubung waktu yang tersedia sangat sedikit, sehingga saya tidak melakukan banyak persiapan. Hampir semuanya menggunakan default setting dari postgres.

Nah, saat ini saya butuh merapikan layout fisik dari database saya. Target saya adalah memisahkan table dan index dari tablespace default, dan meletakkannya pada harddisk yang terpisah.

Berikut step yang saya lakukan :

  1. Membuat tablespace data dan index di harddisk yang lain

    postgresql$ create tablespace app_data owner postgres location '/data1/app/tablespaces';
    postgresql$ create tablespace app_index owner postgres location ‘/data2/app/tablespaces’;
  2. Memindahkan table ke tablespace data. Untuk memindahkan table, anda harus membuat script terlebih dahulu, yang berisikan daftar table yang anda miliki. Kemudian mengeksekusinya. Kebetulan schema yang saya pergunakan adalah public.Berikut cara untuk mengenerate scriptnya.

    postgresql$ select 'alter table '||tablename||' set tablespace app_data;' from pg_tables where schemaname='public';

    Setelah itu, copy paste script diatas dan di eksekusi.
  3. Memindahkan index ke tablespace index. Untuk memindahkan index, anda harus membuat script terlebih dahulu, yang berisikan daftar index yang anda miliki. Kemudian mengeksekusinya. Berikut cara untuk mengenerate scriptnya.

    postgresql$ select 'alter index '||indexname||' set tablespace app_index;' from pg_indexes where schemaname='public';

    Setelah itu, copy paste script diatas dan di eksekusi.
  4. Langkah terakhir adalah merubah default tablespace dari database menjadi app_data. Dengan ini secara default, table yang dibuat akan menggunakan tablespace ini.

    postgresql$ alter database "app" set default_tablespace app_data;

Anda juga dapat menganalisa tabel tabel yang sangat sering dipergunakan untuk dipisah ke tablespace yang lain di harddisk yang lain. Dengan cara ini, anda dapat memastikan data anda tersebar di semua harddisk yang anda miliki.

Author: Nareswara

Ordinary People with eye glasses

Leave a Reply

Your email address will not be published. Required fields are marked *