Cara Menginstal dan Mengkonfigurasi PostgreSQL di FreeBSD 14
· 2 min read · Label UnixBSDPostgresql adalah aplikasi sistem basis data relasional objek sumber terbuka dengan pengembangan aktif selama lebih dari 30 tahun dan telah mendapatkan reputasi baik untuk keandalan, ketahanan fitur, dan kinerja. Postgres adalah salah satu aplikasi yang menekankan ekstensibilitas dan kepatuhan SQL.
PostgreSQL bekerja berdasarkan DBMS Postgres yang dikembangkan di University of California, Berkeley. PostgreSQL ORDBMS mendukung sebagian besar fitur standar SQL dan teknologi paling modern seperti:
- Complex Queries.
- Foreign keys.
- Triggers.
- Representation.
- Transactions.
- Concurrency control with multiversioning.
- Data types
- Functions
- Operators
- Aggregate functions
- Indexing Methods
- Programming languages
PostgreSQL awalnya bernama POSTGRES, merujuk pada asal-usulnya sebagai penerus basis data Ingres. Program PostgreSQL juga dapat digunakan sebagai penyimpanan data utama atau gudang data untuk banyak aplikasi web, seluler, geospasial, dan analitis. PostgreSQL dapat menyimpan data terstruktur dan tidak terstruktur dalam satu produk.
Dalam artikel ini kami mencoba menginstal PostgreSQL pada server FreeBSD 13.2. Versi PostgreSQL yang digunakan adalah postgresql15.
![]() |
Basic Arsitektur Database system |
1. Proses Instalasi PostgreSQL
Pada sistem FreeBSD, menginstal PostgreSQL sangatlah mudah, prosesnya hampir sama dengan menginstal program lain yang berjalan pada sistem FreeBSD. Berikut ini adalah cara menginstal klien dan server PostgreSQL.root@ns1:~ # cd /usr/ports/databases/postgresql15-client
root@ns1:/usr/ports/databases/postgresql15-client # make install clean
root@ns1:~ # cd /usr/ports/databases/postgresql15-server
root@ns1:/usr/ports/databases/postgresql15-server # make install clean
2. Proses Konfigurasi PostgreSQL
Setelah proses instalasi selesai, untuk mengaktifkan PostgreSQL kita harus mengedit berkas /etc/rc.conf. Ketik skrip di bawah ini di berkas /etc/rc.conf.
root@ns1:~ # ee /etc/rc.conf
postgresql_enable="YES"
postgresql_class="postgres"
postgresql_data="/var/db/postgres/data15"
postgresql_flags="-w -s -m fast"
postgresql_initdb_flags="--encoding=utf-8 --lc-collate=C"
postgresql_login_class="default"
postgresql_profiles=""
root@ns1:~ # ee /etc/login.conf
postgres:\
:lang=en_US.UTF-8:\
:setenv=LC_COLLATE=C:\
:tc=default:
root@ns1:~ # /usr/local/etc/rc.d/postgresql initdb
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with this locale configuration:
provider: libc
LC_COLLATE: C
LC_CTYPE: C.UTF-8
LC_MESSAGES: C.UTF-8
LC_MONETARY: C.UTF-8
LC_NUMERIC: C.UTF-8
LC_TIME: C.UTF-8
The default text search configuration will be set to "english".
Data page checksums are disabled.
creating directory /var/db/postgres/data15 ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... Asia/Jakarta
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok
initdb: warning: enabling "trust" authentication for local connections
initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
Success. You can now start the database server using:
/usr/local/bin/pg_ctl -D /var/db/postgres/data15 -l logfile start
root@ns1:~ # su postgres
$ cd /var/db/postgres
$ /usr/local/bin/pg_ctl -D /var/db/postgres/data15 -l logfile restart
waiting for server to shut down.... done
server stopped
waiting for server to start.... done
server started
$ exit
root@ns1:~ #
Penjelasan dari skrip di atas adalah, pada skrip pertama Anda login sebagai pengguna Postgres, skrip kedua masuk ke folder cd /var/db/postgres dan skrip kedua melakukan restart logfile sedangkan skrip terakhir adalah logout sebagai pengguna Postgres.
Setelah keluar dari pengguna Postgres, edit file /var/db/postgres/data13/postgresql.conf, dan masukkan skrip di bawah ini.
root@ns1:~ # ee /var/db/postgres/data15/postgresql.conf
listen_addresses = '192.168.5.2' # what IP address(es) to listen on;
port = 5432
IP untuk listen_addresses disesuaikan dengan IP Private server FreeBSD, karena pada penulisan artikel ini IP Private yang digunakan adalah 192.168.5.2, jadi listen_addresses = '192.168.5.2' dan port default PostgreSQL adalah port 5432.
Kemudian kita edit juga file /var/db/postgres/data13/pg_hba.conf, dan ganti host script dengan IP address yang sesuai dengan server FreeBSD, berikut contoh scriptnya.
root@ns1:~ # ee /var/db/postgres/data15/pg_hba.conf
host all all 192.168.5.2/24 trust
root@ns1:~ # service postgresql restart
2023-08-21 13:43:37.306 WIB [1439] LOG: ending log output to stderr
2023-08-21 13:43:37.306 WIB [1439] HINT: Future log output will go to log destination "syslog".
root@ns1:~ # service postgresql status
pg_ctl: server is running (PID: 1439)
/usr/local/bin/postgres "-D" "/var/db/postgres/data15"
3. Membuat Password Postgres
Secara default, saat proses instalasi database postgresql selesai, postgresql akan secara otomatis membuat database dengan nama "postgres", dan pengguna untuk database "postgres" diberi nama "postgres". Pengguna dan database "postgres" belum diberi kata sandi. Berikut cara memberikan kata sandi kepada pengguna Postgres.root@ns1:~ # passwd postgres
Changing local password for postgres
New Password: router
Retype New Password:
router
root@ns1:~ # su - postgres
$ psql -c "alter user postgres with password 'router'"
ALTER ROLE
$
4. Cara Menggunakan Database PostgreSQL15
Setelah pengguna Postgres diberi kata sandi, sekarang kita coba membuat tabel di database "Postgres". Berikut ini adalah contoh pembuatan tabel di database "postgres".root@ns1:~ # su - postgres
$ psql postgres
psql (15.3)
Type "help" for help.
postgres=# CREATE TABLE person (
person_id BIGINT,
name VARCHAR(255),
age INT,
city VARCHAR(255)
);
CREATE TABLE
postgres=# INSERT INTO person VALUES (1001, 'M. Jaka Setiawan', 9, 'Tegal');
INSERT 0 1
postgres=# INSERT INTO person VALUES (1002, 'Iwan Setiawan', 42, 'Bekasi');
INSERT 0 1
postgres=# INSERT INTO person VALUES (1003, 'Siti Umaroh', 41, 'Tegal');
INSERT 0 1
postgres=# INSERT INTO person VALUES (1004, 'Kanaka Robih Setiawan', 11, 'Bekasi');
INSERT 0 1
postgres=# select * from person;
person_id | name | age | city
-----------+-----------------------+-----+--------
1001 | M. Jaka Setiawan | 9 | Tegal
1002 | Iwan Setiawan | 42 | Bekasi
1003 | Siti Umaroh | 41 | Tegal
1004 | Kanaka Robih Setiawan | 11 | Bekasi
(4 rows)
postgres=#
root@ns1:~ # su - postgres
$ createuser gunungrinjani
$ createdb puncakanjani -O gunungrinjani
$ psql puncakanjani
psql (15.3)
Type "help" for help.
puncakanjani=#
Deskripsi naskah di atas adalah.
1. The first script "su - postgres" enters the user "postgres"
2. 2nd script, create a user with the name Gunungrinjani
3. 3rd script, creates a Puncakanjani database for the Gunungrinjani user
4. 4th script, psql is entered into the user Gunungrinjani
5. The Puncakanjani script=# means it is active in the Puncakanjani database
Langkah selanjutnya adalah membuat kata sandi untuk pengguna Gunungrinjani.
puncakanjani=# alter user gunungrinjani with password 'sembalun';
ALTER ROLE
puncakanjani=# create table tabelgunung ( id int,first_name text, last_name text );
CREATE TABLE
puncakanjani=# insert into tabelgunung (id,first_name,last_name) values (1,'gunung','argopuro');
INSERT 0 1
puncakanjani=# insert into tabelgunung (id,first_name,last_name) values (1,'gunung','rinjani');
INSERT 0 1
puncakanjani=# insert into tabelgunung (id,first_name,last_name) values (1,'gunung','raung');
INSERT 0 1
puncakanjani=# select * from tabelgunung;
id | first_name | last_name
----+------------+-----------
1 | gunung | argopuro
1 | gunung | rinjani
1 | gunung | raung
(3 rows)
puncakanjani=#
Hapus tabelgunung.
puncakanjani=# DROP TABLE tabelgunung;
DROP TABLE
puncakanjani=# exit
$ dropdb puncakanjani
$ dropuser gunungrinjani
Menurut data statistik, pada tahun 2023 PostgreSQL menempati peringkat keempat di dunia di antara DBMS dalam hal popularitas, di bawah Oracle, MySQL, dan Microsoft SQL Server. Selain itu, PostgreSQL merupakan DBMS open source yang paling populer.
Silahkan Berkomentar, Kakak...! Bunda...!
Posting Komentar