Tôi đang làm việc trên các tập lệnh áp dụng các bản cập nhật lược đồ cơ sở dữ liệu. Tôi đã thiết lập tất cả các kịch bản cập nhật SQL của tôi bằng cách sử dụng giao dịch bắt đầu/cam kết. Tôi chuyển các script này tới psql trên dòng lệnh.Giao dịch lồng nhau trong postgresql 8.2?
Tôi hiện cần áp dụng nhiều tập lệnh cùng một lúc và trong một giao dịch. Cho đến nay giải pháp duy nhất tôi đưa ra là xóa giao dịch bắt đầu/cam kết khỏi tập lệnh gốc, sau đó kết hợp chúng lại với nhau bên trong một khối giao dịch bắt đầu/cam kết bắt đầu mới. Tôi đang viết kịch bản perl để làm điều này trên bay.
Hiệu quả tôi muốn các giao dịch lồng nhau, mà tôi không thể tìm ra cách thực hiện trong postgresql.
Có cách nào để thực hiện hoặc mô phỏng các giao dịch lồng nhau cho mục đích này không? Tôi có những thứ thiết lập để tự động bảo lãnh về bất kỳ lỗi nào, vì vậy tôi không cần phải tiếp tục trong giao dịch cấp cao nhất nếu bất kỳ giao dịch nào thấp hơn không thành công.
Để sử dụng các điểm lưu trong trường hợp này, tôi phải sửa đổi các tập lệnh hiện tại của mình và cách chúng được chạy. Trong trường hợp cụ thể này, nếu tôi định làm điều đó, tôi sẽ chỉ xóa khối giao dịch bắt đầu/kết thúc khỏi tất cả các tập lệnh của tôi và thêm nó một cách riêng biệt, làm cho nó dễ dàng thực hiện nhiều thao tác cùng một lúc. Cảm ơn! –