@@ -67,7 +67,7 @@ func resourcePostgreSQLSecurityLabelCreate(db *DBConnection, d *schema.ResourceD
6767 }
6868 log .Printf ("[DEBUG] PostgreSQL security label Create" )
6969 label := d .Get (securityLabelLabelAttr ).(string )
70- if err := resourcePostgreSQLSecurityLabelUpdateImpl (db , d , label ); err != nil {
70+ if err := resourcePostgreSQLSecurityLabelUpdateImpl (db , d , pq . QuoteLiteral ( label ) ); err != nil {
7171 return err
7272 }
7373
@@ -116,11 +116,11 @@ func resourcePostgreSQLSecurityLabelReadImpl(db *DBConnection, d *schema.Resourc
116116 }
117117 defer deferredRollback (txn )
118118
119- query := "SELECT objtype, provider, label FROM pg_seclabels WHERE objtype = $1 and objname = $2 and provider = $3"
119+ query := "SELECT objtype, provider, objname, label FROM pg_seclabels WHERE objtype = $1 and objname = $2 and provider = $3"
120120 row := db .QueryRow (query , objectType , quoteIdentifier (objectName ), quoteIdentifier (provider ))
121121
122- var label string
123- err = row .Scan (& objectType , & provider , & label )
122+ var label , newObjectName , newProvider string
123+ err = row .Scan (& objectType , & newProvider , & newObjectName , & label )
124124 switch {
125125 case err == sql .ErrNoRows :
126126 log .Printf ("[WARN] PostgreSQL security label for (%s '%s') with provider %s not found" , objectType , objectName , provider )
@@ -130,6 +130,12 @@ func resourcePostgreSQLSecurityLabelReadImpl(db *DBConnection, d *schema.Resourc
130130 return fmt .Errorf ("Error reading security label: %w" , err )
131131 }
132132
133+ if quoteIdentifier (objectName ) != newObjectName || quoteIdentifier (provider ) != newProvider {
134+ // In reality, this should never happen, but if it does, we want to make sure that the state is in sync with the remote system
135+ // This will trigger a TF error saying that the provider has a bug if it ever happens
136+ objectName = newObjectName
137+ provider = newProvider
138+ }
133139 d .Set (securityLabelObjectTypeAttr , objectType )
134140 d .Set (securityLabelObjectNameAttr , objectName )
135141 d .Set (securityLabelProviderAttr , provider )
@@ -146,7 +152,7 @@ func resourcePostgreSQLSecurityLabelDelete(db *DBConnection, d *schema.ResourceD
146152 db .version ,
147153 )
148154 }
149- log .Printf ("[WARN ] PostgreSQL security label Delete" )
155+ log .Printf ("[DEBUG ] PostgreSQL security label Delete" )
150156
151157 if err := resourcePostgreSQLSecurityLabelUpdateImpl (db , d , "NULL" ); err != nil {
152158 return err
@@ -164,7 +170,7 @@ func resourcePostgreSQLSecurityLabelUpdate(db *DBConnection, d *schema.ResourceD
164170 db .version ,
165171 )
166172 }
167- log .Printf ("[WARN ] PostgreSQL security label Update" )
173+ log .Printf ("[DEBUG ] PostgreSQL security label Update" )
168174
169175 label := d .Get (securityLabelLabelAttr ).(string )
170176 if err := resourcePostgreSQLSecurityLabelUpdateImpl (db , d , pq .QuoteLiteral (label )); err != nil {
0 commit comments