Mục lục

1. Khởi động PostgreSQL Server

Đọc thêm  Database Cluster trong PostgreSQL là gì

Trước khi bất kỳ ai có thể truy cập database, bạn phải khởi động nó lên trước đã. Ở trong PostgreSQL, lệnh gốc để khởi động PostgreSQL là postgres

Trên thực tế, nếu bạn đang sử dụng phiên bản PostgreSQL đã đóng gói sẵn (cài bằng yum, rpm hoặc apt-get) nó đã bao gồm các câu lệnh để start database instance. Sử dụng các câu lệnh này sẽ ngắn gọn và nhàn hơn nhiều so với việc tự tìm các option của lệnh postgres.

Đọc thêm  Hướng dẫn cài đặt PostgreSQL trên CentOS 7

Tuy nhiên, nếu bạn muốn tìm hiểu sâu hơn về bản chất mà chương trình PostgreSQL hoạt động, bạn có thể tìm cách khởi động PostgreSQL theo cách thủ công, tức là gọi trực tiếp lệnh postgres, chỉ định vị trí của thư mục dữ liệu với tùy chọn -D.

postgres -D /usr/local/pgsql/data

Nếu không có option -D, PostgreSQL sẽ cố gắng sử dụng thư mục được chỉ định bởi biến môi trường PGDATA. Nếu biến đó không được gán giá trị, câu lệnh sẽ không thành công.

Câu lệnh này sẽ chạy ở chế độ foreground. Tức là nó sẽ cứ đứng ở đó mãi mà không thoát ra để bạn chạy câu lệnh tiếp theo, nếu bạn thoát ra bằng tổ hợp phím Ctrl +C thì PostgreSQL cũng shutdown luôn. .

 

Thông thường, tốt hơn là start postgres ở chế độ background. Chúng ta sử dụng lệnh sau:

postgres -D /usr/local/pgsql/data >logfile 2>&1 &

 

Điều quan trọng là phải lưu trữ thông tin log của process postgres ở đâu đó. Ở ví dụ trên, tôi đã sử dụng mệnh đề >logfile 2>&1 để thực hiện việc đó. Nó sẽ giúp ích cho mục đích theo dõi và chẩn đoán các vấn đề.

Câu lệnh postgres cũng có một số option khác, khá là phức tạp. Do đó, các câu lệnh đơn giản hơn, như pg_ctl, được cung cấp để đơn giản hóa một số tác vụ. Ví dụ

pg_ctl start -l logfile

hoặc bạn cũng có thể sử dụng systemctl để startup PostgreSQL như một service của hệ điều hành

systemctl start postgresql-13

Tên service postgresql-13 có thể thay đổi tùy thuộc vào phiên bản của PostgreSQL.

Để tìm tên service chính xác của PostgreSQL bạn sử dụng lệnh sau:

systemctl list-units --type=service --all | grep postgres

Kết quả như sau:

postgresql-13.service                                 loaded    inactive dead    PostgreSQL 13 database server

Sau khi chaỵ các lệnh này, bản chất nó cũng sẽ gọi đến lệnh postgres thôi. Bạn có thể kiểm chứng điều này bằng lệnh ps -ef để xem

 ps -ef | grep postgres

root      5790  5777  0 11:34 pts/0    00:00:00 su - postgres
postgres  6350     1  0 Apr29 ?        00:00:41 /usr/lib/postgresql/13/bin/postgres -D /var/lib/postgresql/13/main -c config_file=/etc/postgresql/13/main/postgresql.conf

Bạn có thấy dòng này không

postgres 6350 1 0 Apr29 ? 00:00:41 /usr/lib/postgresql/13/bin/postgres -D /var/lib/postgresql/13/main -c config_file=/etc/postgresql/13/main/postgresql.conf

Đó chính là câu lệnh gốc với các option đó

Nguồn: https://dangxuanduy.com/

Hiện tại, tôi có tổ chức đều đặn các khóa học về quản trị Oracle Database, tôi sẽ để thông tin ở đây, để bạn nào quan tâm về lịch học cũng như chương trình học có thể theo dõi nhé.

KHOÁ DÀNH CHO NGƯỜI MỚI

KHÓA HỌC: QUẢN TRỊ ORACLE DATABASE THẬT LÀ ĐƠN GIẢN (ADMIN 1)

CÁC KHOÁ NÂNG CAO:

KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ KIẾN TRÚC MULTITENANT 12c

KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ HỆ THỐNG DATA GUARD

CÁC KHOÁ COMBO:

COMBO 1: ADMIN 1 + MULTITENANT 12c

COMBO 2: ADMIN 1 + DATA GUARD

COMBO 3: ADMIN 1 + MULTITENANT 12c + DATA GUARD

LỊCH HỌC:

Mời bạn xem tại đây: LỊCH HỌC CÁC LỚP ORACLE 

ĐĂNG KÝ:

https://forms.gle/MtCAoRQFenP886y79

Hãy tham gia group “Kho tài liệu kiến thức database” để cùng học hỏi và chia sẻ nhé.

5 1 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận
0
Rất thích suy nghĩ của bạn, hãy bình luận.x