If you have PostGIS, then you have PostgreSQL and I'm then guessing you have PGAdmin - you can likely do this in DBManager, but using PGAdmin is a good practice to develop...
Using PGAdmin (or DBManager) you'll have to write the SQL to join the two tables first in the way you want them to appear in the final table.
My best advice would be to write the SQL that joins the two tables together on the columns unique to both tables, taking all the columns (schema) from both tables and create a new table that will be a 'dev' version of your ultimate table.
CREATE TABLE tempTableName as (SQL to do the join on the two tables goes here)
Then have a look at that table in QGIS to ensure it has all the schema you're looking for.
Now, unless someone has a different idea, after everything looks good in your 'temp / dev' table, you will:
DROP TABLE originalTableName
Then take the same SQL you wrote above and switch the name of the table to match the name of the original table:
CREATE TABLE originalTableName as (SQL you created to merge tables together)
(Note if you have spatial indices, primary keys, you should add the SQL to re-create them too)
What you should end up with after you've run the CREATE TABLE statement is all the schema (columns) from your original table (so processes already using it won't break) plus the columns from the table you joined.
We do this and it works just fine - but I think there is a way to update a table to add columns based on joins but I haven't had to use it yet...maybe someone will provide a different method...