top | item 30462252

(no title)

hashimotonomora | 4 years ago

All objects update their reference after a renaming. If you rename a column, foreign keys referencing that column have the name updated.

discuss

order

giraffe_lady|4 years ago

I commented elsewhere that the view renaming thing was surprising to me, but when you put it like this it makes sense. The view references the oid or whatever, some internal representation I try to pretend doesn't exist.

It's kind of surprising in some cases when I haven't seen it before (like views) but is consistent and the alternative would be a lot harder to work with.

ziml77|4 years ago

It definitely does make sense and it probably what most people expect if they've never worked with a database before. But coming from my experience with other databases (primarily MS SQL Server) it's a surprising difference.

On me for not testing better, but it was some quick and dirty work in a quick and dirty environment that doesn't even have a dev instance.

radiowave|4 years ago

Off the top of my head, the exception to this is functions (i.e. that you declare inside Postgres), because the function body is really just a piece of text, in any of a bunch of different languages. So if you have a function which refers to specific database objects that are being renamed, you'll also need to update the function definition with the new names.