PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

maven bắt đầu máy chủ postgres

PostgreSQL không phải là một máy chủ có thể nhúng trong bộ nhớ. Nó không thể chỉ được tải dưới dạng thư viện và chạy.

Bạn sẽ cần một số mã kiểm soát dây đai thử nghiệm để:

  • initdb một dữ liệu tạm thời

  • Chỉnh sửa postgresql.conf theo yêu cầu của các dòng nối tiếp hoặc bằng cách bật include_dir và thả các tập tin vào đó. Nếu bạn chỉ cần một cấu hình tầm thường, bạn có thể bỏ qua bước này; những thứ như port có thể được đặt thông qua các biến môi trường và nhiều biến khác có thể được đặt bằng -c gắn cờ cho lệnh khởi động máy chủ.

  • tạo một số cổng ngẫu nhiên để sử dụng

  • Khởi chạy máy chủ - chạy postgres -D the_datadir một phiên bản máy chủ mới sử dụng Process của Java ban quản lý. Bạn có thể chuyển các giá trị cấu hình tùy chỉnh bằng -c và cũng có thể đặt các biến môi trường để kiểm soát hành vi.

  • Kết nối qua JDBC và CREATE DATABASE sau đó chạy thiết lập thử nghiệm của bạn

  • Chạy thử nghiệm của bạn

  • Dừng máy chủ bằng cách hủy quá trình bạn đã khởi chạy.

  • Xóa dữ liệu

Bạn sẽ muốn thực hiện quản lý quy trình trong một lớp có xử lý thư mục tạm thời thích hợp, dọn dẹp khi thoát không sạch (giết máy chủ Pg và xóa dữ liệu nếu ngoại lệ), v.v.

Tôi sẽ ngạc nhiên nếu bạn không thể tìm thấy mã dây nịt thử nghiệm đóng hộp để mượn cho việc này. Tôi tự hỏi liệu chúng ta có nên thêm một số vào PgJDBC và gói nó trong trình điều khiển không? Nếu bạn thấy bất kỳ điều gì hay hoặc viết bất cứ điều gì hay, vui lòng gửi cho tôi bằng cách bình luận về câu trả lời này và tôi sẽ xem xét nó để đưa vào như một lớp tiện ích trong PgJDBC.

Điều đó nói rằng, thay vào đó, việc chạy các bài kiểm tra của bạn trong cơ sở dữ liệu kiểm tra mới được tạo trong một phiên bản PostgreSQL hiện có đã chạy trên máy chủ của bạn sẽ phổ biến hơn nhiều. Bạn chỉ cần định cấu hình bộ thử nghiệm của mình bằng tên người dùng / mật khẩu / máy chủ / cổng / cơ sở dữ liệu PostgreSQL (hoặc để nó kết nối với postgres cơ sở dữ liệu và CREATEDROP kho dữ liệu). Rốt cuộc, một số cấu hình luôn được yêu cầu:cài đặt hoặc biên dịch PostgreSQL, đảm bảo rằng các tệp nhị phân nằm trên PATH , v.v.

Một tùy chọn khác là sử dụng Amazon RDS:Sử dụng các API AWS RDS để khởi chạy phiên bản PostgreSQL mới và sử dụng nó cho các thử nghiệm của bạn. Điều này có lẽ không thực tế trừ khi các bài kiểm tra của bạn chạy trong một thời gian dài do thời gian thiết lập và thời gian chạy tối thiểu, nhưng đó là một tùy chọn khác, cũng như dịch vụ tương tự tại Heroku.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lọc theo phạm vi ngày (cùng tháng và ngày) qua các năm

  2. Tối ưu hóa truy vấn Postgres (buộc quét chỉ mục)

  3. Hai SQL LEFT JOINS tạo ra kết quả không chính xác

  4. kết nối với máy chủ postgres trên google compute engine

  5. Sequelize Migration - Tạo Trigger trong PostgreSQL