Tôi có một số tệp .sql với hàng nghìn câu lệnh INSERT trong chúng và cần chạy các chèn này trên cơ sở dữ liệu PostgreSQL của tôi để thêm chúng vào một bảng. Các tệp lớn đến nỗi không thể mở chúng và sao chép các câu lệnh INSERT vào một cửa sổ trình soạn thảo và chạy chúng ở đó. Tôi tìm thấy trên Internet mà bạn có thể sử dụng sau đây bằng cách điều hướng đến thư mục bin của PostgreSQL của bạn cài đặt:Chạy tệp PostgreSQL .sql bằng các đối số dòng lệnh
psql -d myDataBase -a -f myInsertFile
Trong trường hợp của tôi:
psql -d HIGHWAYS -a -f CLUSTER_1000M.sql
sau đó tôi yêu cầu một mật khẩu cho người dùng của tôi , nhưng tôi không thể nhập bất cứ điều gì và khi tôi nhấn enter tôi nhận được lỗi này:
psql: FATAL: password authentication failed for user "myUsername"
Tại sao nó không cho phép tôi nhập mật khẩu. Có cách nào vòng này vì nó là quan trọng mà tôi có thể chạy các kịch bản này?
tôi xung quanh vấn đề này bằng cách thêm một mục mới trong tập tin pg_hba.conf tôi với cấu trúc sau:
# IPv6 local connections:
host myDbName myUserName ::1/128 trust
File pg_hba.conf thường có thể được tìm thấy trong thư mục 'dữ liệu' của PostgreSQL của bạn cài đặt, dựng lên.
Bạn đã có câu trả lời nhưng chỉ trong trường hợp ... "Tôi không thể nhập bất cứ điều gì", có thể bạn đang nói về thực tế là nhập mật khẩu của bạn không hiển thị bất cứ điều gì? Đó là bình thường trong trường hợp này, thường gõ mật khẩu và nhấn Enter * nên * làm việc ... –
Tôi đã có một vấn đề tương tự như cài đặt một bản sao của ITIS (http://itis.gov). Cơ sở dữ liệu không tồn tại, vì vậy tôi không thể sử dụng tên của nó. Bởi vì cách PostgreSQL hoạt động, tôi có thể làm điều này: psql --port = 5554 --username = root --file = ITIS.sql template1 – Cyberknight