2013-07-10 42 views
17

Phiên bản 8.4.16 (không có lựa chọn trong phiên bản).psql: không tìm thấy mối quan hệ bất chấp quan hệ hiện có

tôi đăng nhập vào db của tôi như sau:

psql -d JRuser 

Dấu nhắc kết quả là:

JRuser=> 

tôi làm \ d hoặc \ dt mong đợi để xem một danh sách tất cả các mối quan hệ trong sơ đồ ' dịch '

No relations found. 

Nhưng tôi có thể chọn từ bất kỳ bảng nào trong lược đồ mà không gặp bất kỳ sự cố nào. Ví dụ:

select * from translate.storage; --works fine 

tôi đã đảm bảo rằng các đặc quyền truy cập là chính xác cho JRuser bằng cách làm \ dn +:

        List of schemas 
     Name  | Owner | Access privileges |   Description 
translate   | JRuser | JRuser=UC/JRuser  | 
           : postgres=UC/JRuser  

Tại sao tôi không thể nhìn thấy các bảng trong lược đồ dịch?

+1

Tôi nghĩ rằng bạn cần phải sử dụng '\ dt bản dịch. * ' –

+0

Tôi chắc chắn có thể làm điều đó nhưng cho đến hôm nay tôi đã có thể làm chỉ \ d hoặc \ d mà không có bất kỳ vòng loại nào. Tôi đã không thay đổi bất kỳ cài đặt cấu hình nào, vì vậy tôi đã bối rối. – lostinthebits

Trả lời

20

\d trong psql chỉ hiển thị hiển thị bảng, tức là trong số search_path của bạn.

Hãy thử và xem:

SHOW search_path; 
SET search_path= translate; 
\d 

Cài đặt cho phiên của bạn có thể được thay đổi bằng cách nào đó. Có nhiều cách để làm điều đó:

liên quan câu hỏi sau dba.SE:

+0

Biến tìm kiếm có thể chứa nhiều lược đồ nếu người dùng muốn có thể hiển thị các bảng trên tất cả các lược đồ không? – lostinthebits

+1

@lostinthebits: xem tại đây: http://www.postgresql.org/docs/8.4/static/sql-set.html#AEN65998 –

+0

Ah, tuyệt vời, cảm ơn cả hai bạn. – lostinthebits

Các vấn đề liên quan