[□ | □ | □]
[□=□ | □ | □]
[!□ | □ | □]
So , even if it works for you today , you might regret overloading names later when you try to run the code somewhere else . On the other hand a trigger that is fired on INSERT on a view can do the same as a rule , put the data somewhere else and suppress the insert in the view . In addition , all the data is copied out in text format so that it can be readily copied in again , as well as imported into tools for editing . This time he ordered 1000 pairs of magenta shoelaces and since another kind is currently not available but he committed to buy some , he also prepared his database for pink ones . And as soon as the user will notice , that the secretary opened his phone_number view , he can REVOKE his access . But if we do n't get more of our young people involved in technology and engineering soon , we 'll be confronting a frightening pros-pect : our technologically advanced world will become an unmanageable tangle of high-tech gadgets more akin to the dirt roads and foot bridges of centuries ago than the information super highway we all so loudly declared just five years ago . But there are still some constructs not handled and some where it fails due to things that are currently not supported by the Postgres query optimizer . A table can have no more than 1600 columns ( realistically , this is limited by the fact that tuple sizes must be less than 8192 bytes ) , but this limit may be configured lower at some sites . You may set environment variables to avoid typing some of the above options . ( Some systems call this the data dictionary ) .