Câu trả lời:
Từ dòng lệnh:
psql -f 1.sql
psql -f 2.sql
Từ psqllời nhắc:
\i 1.sql
\i 2.sql
Lưu ý rằng bạn có thể cần nhập các tệp theo một thứ tự cụ thể (ví dụ: định nghĩa dữ liệu trước khi thao tác dữ liệu). Nếu bạn có bashshell (GNU / Linux, Mac OS X, Cygwin) và các tệp có thể được nhập theo thứ tự bảng chữ cái , bạn có thể sử dụng lệnh này:
for f in *.sql ; do psql -f $f ; done
Đây là tài liệu của psqlứng dụng (cảm ơn, Frank): http://www.postgresql.org/docs/current/static/app-psql.html
psqlchạy. 2) đảm bảo người dùng của bạn có ghi ưu đãi cần thiết, chẳng hạn như: CREATE, INSERT, UPDATE, vv 3) nhập khẩu các tập tin SQL. Theo như tôi hiểu, bạn đang ở giai đoạn 1.
trong dòng lệnh, đầu tiên hãy truy cập thư mục có psql, sau đó viết các lệnh như sau:
psql [database name] [username]
và sau đó nhấn enter psql yêu cầu mật khẩu cung cấp cho người dùng mật khẩu:
sau đó viết
> \i [full path and file name with extension]
sau đó nhấn enter chèn xong.
Chà, cách ngắn nhất mà tôi biết, là sau:
psql -U {user_name} -d {database_name} -f {file_path} -h {host_name}
database_name: Bạn nên chèn dữ liệu tệp của mình vào cơ sở dữ liệu nào.
file_path: Đường dẫn tuyệt đối đến tệp mà bạn muốn thực hiện nhập.
host_name: Tên của máy chủ. Đối với mục đích phát triển, nó là chủ yếu localhost.
Khi nhập lệnh này trong bảng điều khiển, bạn sẽ được nhắc nhập mật khẩu của mình.
Luôn được ưu tiên sử dụng tệp dịch vụ kết nối (tra cứu / google 'tệp dịch vụ kết nối psql')
Sau đó chỉ cần:
psql service={yourservicename} < {myfile.sql}
Trong trường hợp yourservicenamelà một cái tên phần từ tập tin dịch vụ.