I'm new to PostgreSQL and psycopg2, and I face a problem.
import psycopg2
def create_tables(whichone):
     in_str_station = "CREATE TABLE station (id SMALLINT NOT NULL PRIMARY KEY,  name VARCHAR(40) NOT NULL," \
                 " country VARCHAR(3) NOT NULL, latitude VARCHAR(10),  " \
                 "longitude VARCHAR(10),height SMALLINT);"
     in_str_dailyData = "CREATE TABLE daily_data (id BIGSERIAL NOT NULL PRIMARY KEY," \
                   "s_id SMALLINT NOT NULL REFERENCES station(id)," \
                   "d_date DATE NOT NULL, d_mean NUMERIC(6, 1), quality SMALLINT);"
     int_str_monthlyMean = "CREATE TABLE monthly_mean (id BIGSERIAL NOT NULL PRIMARY KEY,"\
                      "s_id SMALLINT NOT NULL REFERENCES station(id),"\
                      "m_date DATE NOT NULL, m_mean NUMERIC(9, 3),"\
                      "var NUMERIC(9, 3), std NUMERIC(9, 3));"
     in_str_yearlymean = "CREATE TABLE yearly_mean (id BIGSERIAL NOT NULL PRIMARY KEY, " \
                    "s_id SMALLINT NOT NULL REFERENCES station(id)," \
                    "y_date DATE NOT NULL, y_mean NUMERIC(9, 3),var NUMERIC(9, 3)," \
                    "std NUMERIC(9, 3), var_m NUMERIC(9, 3), std_m NUMERIC(9, 3));"
     database_list = {'station': in_str_station, 'monthly_mean': int_str_monthlyMean,
                 'daily_data': in_str_dailyData, 'yearly_mean': in_str_yearlymean}
     try:
        conn = psycopg2.connect(
          host="localhost",
          database="climate",
          user="postgres",
          password="1")
       cur = conn.cursor()
       in_str = database_list.get(whichone)
       cur.execute(in_str)
       output_ = cur.fetchall()
       print(output_)
       cur.close()
    except (Exception, psycopg2.DatabaseError) as error:
       print(error)
    finally:
       if conn is not None:
          conn.close()
After I run the script, no matter which one of the in_str_ I choose, the table is not created. I have checked and when I copy the content of in_str that I executed in cur.execute and use it in the PostgreSQL shell, everything works.
Where did I make the mistake?


