Halo, kalau kamu merasa tulisan saya ngebantu kamu, kamu bisa ucapkan terima kasih lewat saweria .

Hello, if you find this article helpful, you can express your gratitude through saweria .



How To

  1. Add PostgreSQL repo automatis

    sudo apt install -y postgresql-common
    sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
    
  2. Install PostgreSQL sudo apt install postgresql

  3. Untuk membuat user dan database, gunakan sudo -u postgres psql lalu

    create user test_user with password 'testjuga123';
    create database hapus_aja;
    grant all privileges on database hapus_aja to test_user;
    
    #list role
    \du
    #list database
    \l
    
  4. Lalu agar database bisa di akses di luar host, buka file /etc/postgresql/16/main/postgresql.conf

    listen_addresses = '*' #change this to *      
    port = 666  # change default port
    
  5. Selanjutnya ubah file sudo vim /etc/postgresql/16/main/pg_hba.conf, tambahkan user yang baru kita buat

    host    all             test_user       0.0.0.0/0               scram-sha-256
    
  6. Reload your PostgreSQL, sudo service postgresql reload

  7. Coba remote dengan psql -U test_user -p 666 -W -h 192.168.1.66 -d hapus_aja.

  8. Kalau kamu cuma butuh PostgreSQL client, kamu bisa gunakan pgcli sudo apt-get install pgcli. Untuk penggunaannya, pgcli -h 192.168.1.66 -U test_user -p 666 -d hapus_aja -W


Docker Setup

Kalau kamu butuh cepat, deploy di Docker itu lebih mudah

  1. Buat file docker-compose.yml

    
    services:
      postgres:
        image: postgres:16.1-alpine
        restart: always
        environment:
          POSTGRES_USER: admin
          POSTGRES_PASSWORD: password
          POSTGRES_DB: test_aja
          PGDATA: /data/postgres
        volumes:
           - postgres-db:/data/postgres
        ports:
          - "666:5432"
        networks:
          - "postgres-net"
    
      pgadmin4:
        image: dpage/pgadmin4
        restart: always
        ports:
          - "6666:80"
        environment:
          - 'PGADMIN_DEFAULT_EMAIL=test_aja@domain.com'
          - 'PGADMIN_DEFAULT_PASSWORD=passwordLoch'
          - 'PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION=True'
          - 'PGADMIN_CONFIG_LOGIN_BANNER="Authorised users only!"'
          - 'PGADMIN_CONFIG_CONSOLE_LOG_LEVEL=10'
        networks:
          - "postgres-net"
    
    volumes:
      postgres-db:
        driver: local
    
    networks:
      postgres-net:
    
  2. Jalankan docker compose up -d. Kamu bisa langsung remote database tanpa harus config apapun

  3. Untuk membuka pgAdmin , silahkan buka localhost:6666 di browser