sql >> Database >  >> RDS >> PostgreSQL

Het vernieuwen van een gerealiseerde weergave omvat geen toegevoegde kolom

SELECT * wordt uitgebreid tijdens de uitvoeringstijd, net als bij alle vergelijkbare bewerkingen (CREATE VIEW , CREATE TABLE AS )

Het sleutelwoord is "vroege binding" in tegenstelling tot "late binding". Postgres bewaart de lijst met kolommen die aanwezig zijn op het moment van uitvoering van SELECT * , kolommen die later worden toegevoegd zijn niet automatisch opgenomen. De zoekreeks zelf wordt niet opgeslagen, alleen de interne weergave na uitbreiden SELECT * en andere dingen zoals het oplossen van alle identifiers.

REFRESH MATERIALIZED VIEW nooit verandert de gegevensdefinitie, alleen gegevens:

De handleiding zou er explicieter over kunnen zijn, maar de vergelijking met het gedrag van CREATE TABLE AS maakte het me duidelijk:




  1. Hoe kan ik de MySQL-time-outinstellingen voor de verbinding zien/wijzigen?

  2. MySQL REPLACE() – Vervang alle instanties van een substring door een andere string

  3. Databasestatistieken SQL Server-update

  4. Belangrijke gezondheidscontroles voor uw MySQL Source-Replica-servers