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

Làm thế nào để kiểm tra xem lược đồ công khai PostgreSQL có tồn tại hay không?

Thông tin từ information_schema.schemata phụ thuộc vào vai trò mà bạn được kết nối, vì vậy, việc truy vấn để khám phá các lược đồ nói chung không thực sự là chế độ xem phù hợp.

tài liệu trên information_schema.schemata trong 9.3 nói:

Tuy nhiên, nó không hoàn toàn rõ ràng (ít nhất là đối với tôi) chỉ từ câu đó, tại sao bạn không thể nhìn thấy public .

Trong một bài đăng về danh sách gửi thư, Tom Lane có giải thích xa hơn một chút:
Xem http://www.postgresql.org/message-id/[email protected]

Kết luận của anh ấy:

trông giống hệt như vấn đề trong câu hỏi này.

Điểm mấu chốt:sử dụng pg_namespace thay vì information_schema.schemata

Điều này đã được sửa đổi trong phiên bản 9.4 để phù hợp với những gì người dùng mong đợi. tài liệu hiện tại nói:

USAGE đặc quyền trên một lược đồ hiện đã đủ để có được nó từ chế độ xem này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chỉ mục thích hợp để truy vấn cấu trúc trong mảng trong Postgres jsonb là gì?

  2. Làm cách nào để lệnh sao chép tiếp tục chạy trong dịch chuyển đỏ ngay cả sau khi hàm lambda khởi xướng nó đã hết thời gian chờ?

  3. Truy vấn nhanh để thực hiện chuẩn hóa dữ liệu SQL

  4. hình học không được nhận dạng là tham số cho Find_SRID

  5. LỖI:cập nhật hoặc xóa trên bảng người dùng vi phạm ràng buộc khóa ngoại fk_rails_03de2dc08c trên nhận xét bảng