Fix identifier quoting in postgresql_publication resource #578
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Description
Fixes #577
This PR adds proper identifier quoting using
pq.QuoteIdentifier()for publication names and owner names in all SQL statements within thepostgresql_publicationresource.Problem
When setting a publication owner or name containing special characters (e.g., hyphens like
tenant-management-user), the resource failed with a syntax error:This occurred because identifiers were not properly quoted in SQL statements.
Solution
Added
pq.QuoteIdentifier()to all publication and owner name references in:CREATE PUBLICATIONstatementsALTER PUBLICATION ... OWNER TOstatementsALTER PUBLICATION ... ADD/DROP TABLEstatementsALTER PUBLICATION ... SETstatements (parameter updates)This aligns the publication resource with the identifier quoting standards already implemented in other resources (database, schema, role, etc.).
Testing
TestAccPostgresqlPublication_UpdateOwnerandTestAccPostgresqlPublication_UpdateName