Tôi mới dùng postgreSQL và tôi có một câu hỏi đơn giản:postgreSQL - psql i: cách thực thi tập lệnh trong một đường dẫn nhất định
Tôi đang cố gắng tạo một kịch bản đơn giản tạo DB để tôi có thể sau đó gọi nó là như thế này:
psql -f createDB.sql
tôi muốn kịch bản để gọi các kịch bản khác (cái riêng biệt cho việc tạo bảng, thêm những hạn chế, chức năng vv), như thế này:
\i script1.sql
\i script2.sql
nó hoạt động tốt với điều kiện tạo B.sql nằm trong số cùng một thư mục.
Nhưng nếu tôi di chuyển script2 vào một thư mục dưới một với createDB, và sửa đổi các createDB để nó trông như thế này:
\i script1.sql
\i somedir\script2.sql
tôi nhận được một lỗi:
psql:createDB.sql:2: somedir: Permission denied
Tôi sử dụng Postgres Plus 8.3 cho windows, người dùng postgres mặc định.
EDIT:
Silly tôi, unix chém giải quyết vấn đề.
Đảo ngược dấu gạch chéo là đủ, thoát là không cần thiết. –
Lưu ý rằng các dấu gạch chéo về phía trước là hoàn toàn hợp lệ trong Windows và được hỗ trợ nguyên bản. Vì vậy, bạn có thể sử dụng các dấu gạch chéo phía trước gần như ở khắp mọi nơi trong Windows (ngoại trừ các ứng dụng viết kém). Vì dấu gạch chéo ngược thường được sử dụng như một ký tự thoát, hành vi của nó sẽ không nhất quán giữa các ứng dụng và thậm chí sử dụng bên trong một ứng dụng đơn lẻ. – Kat