BUG: to_sql if_exists not working properly when schema is set on PostgreSQL
- [x] I have checked that this issue has not already been reported.

- [x] I have confirmed this bug exists on the latest version of pandas.

- [x] (optional) I have confirmed this bug exists on the master branch of pandas.

---

#### Code Sample, a copy-pastable example

```python
import sqlalchemy
import pandas as pd 

uri = "some uri to postgresql
engine = sqlalchemy.create_engine(uri)
conn = engine.connect()

df = pd.DataFrame([[1,2,3], [2,1,3]], columns=["A", "B", "C"])

# works
df.to_sql("tt", conn, schema="pg_temp", if_exists="append", index=False)

# causes error
df.to_sql("tt", conn, schema="pg_temp", if_exists="append", index=False)

# works
df.to_sql("tt", conn, if_exists="append", index=False)
```

#### Problem description

```
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.DuplicateTable) relation "tt" already exists

[SQL: 
CREATE TABLE pg_temp.tt (
	"A" BIGINT, 
	"B" BIGINT, 
	"C" BIGINT
)

]
(Background on this error at: http://sqlalche.me/e/f405)
```

When I set to_sql with schema and if_exists="append", it works at first call(when table doesn't exists).
But when I call to_sql again(when table exists), it doesn't append the data. It tries to create table again and causes error.

Not setting the schema parameter worked fine when table exists.
