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

Làm thế nào để làm mới tất cả các chế độ xem cụ thể hóa trong Postgresql 9.3 cùng một lúc?

Có vẻ như phiên bản hiện tại của PostgreSQL (9.3.1) không có chức năng như vậy, thay vào đó tôi phải viết hàm của riêng tôi:

CREATE OR REPLACE FUNCTION RefreshAllMaterializedViews(schema_arg TEXT DEFAULT 'public')
RETURNS INT AS $$
DECLARE
    r RECORD;
BEGIN
    RAISE NOTICE 'Refreshing materialized view in schema %', schema_arg;
    FOR r IN SELECT matviewname FROM pg_matviews WHERE schemaname = schema_arg 
    LOOP
        RAISE NOTICE 'Refreshing %.%', schema_arg, r.matviewname;
        EXECUTE 'REFRESH MATERIALIZED VIEW ' || schema_arg || '.' || r.matviewname; 
    END LOOP;

    RETURN 1;
END 
$$ LANGUAGE plpgsql;

(trên github: https://github.com/sorokine/RefreshAllMaterializedViews )



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite hoạt động, nhưng cơ sở dữ liệu được di chuyển PostgreSQL gây ra LỖI - Django 3.0

  2. Trích xuất các tên khóa có giá trị thực từ đối tượng JSONB

  3. Khóa chính tổng hợp trong django

  4. Làm thế nào để kết hợp tự nhiên hai truy vấn có mệnh đề với?

  5. Lỗi ứng dụng Rails Heroku