PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Không thể chỉ sử dụng tên bảng PostgreSQL (quan hệ không tồn tại)

Từ những gì tôi đã đọc, lỗi này có nghĩa là bạn không tham chiếu chính xác tên bảng. Một lý do phổ biến là bảng được xác định bằng cách viết chữ hoa và chữ thường và bạn đang cố truy vấn nó bằng tất cả chữ thường.

Nói cách khác, những điều sau không thành công:

CREATE TABLE "SF_Bands" ( ... );

SELECT * FROM sf_bands;  -- ERROR!

Sử dụng dấu ngoặc kép để phân tách các số nhận dạng để bạn có thể sử dụng cách viết chữ hoa-thường cụ thể khi bảng được xác định.

SELECT * FROM "SF_Bands";

Theo nhận xét của bạn, bạn có thể thêm một lược đồ vào "search_path" để khi bạn tham chiếu một tên bảng mà không đủ điều kiện cho lược đồ của nó, truy vấn sẽ khớp với tên bảng đó bằng cách đánh dấu từng lược đồ theo thứ tự. Cũng giống như PATH trong shell hoặc include_path trong PHP, v.v. Bạn có thể kiểm tra đường dẫn tìm kiếm lược đồ hiện tại của mình:

SHOW search_path
  "$user",public

Bạn có thể thay đổi đường dẫn tìm kiếm giản đồ của mình:

SET search_path TO showfinder,public;

Xem thêm http://www.postgresql.org/docs/8.3/static/ddl-schemas.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql UUID được hỗ trợ bởi Hibernate?

  2. Làm cách nào để chuyển đổi một khoảng thời gian thành một số giờ với postgres?

  3. Làm thế nào để làm cho cơ sở dữ liệu postgresql của tôi sử dụng đối chiếu không phân biệt chữ hoa chữ thường?

  4. Chiến lược hiệu quả để để lại dấu vết kiểm tra / lịch sử thay đổi cho các ứng dụng DB?

  5. PostgreSQL LIKE các biến thể hiệu suất truy vấn