User
postgresql में एक आरक्षित शब्द है और इसे ""
के साथ संलग्न करके बच निकला है देखें https://stackoverflow.com/a/7651432
. Mysql के विपरीत जहां भागने वाले पात्र बैकटिक्स हैं।
आप Final_Ratio
. नामक कॉलम में डालने का भी प्रयास करें लेकिन एक कॉलम परिभाषित करें Final_Gearing
. परीक्षण के लिए I#m भी प्रत्येक रन तालिका को छोड़ रहा है और फिर से बना रहा है। निश्चित कोड:
import psycopg2
# connect to remote Heroku Postgres DB
pgdb = psycopg2.connect(
host='localhost',
user='test',
password='test',
port='5432',
database='test_stackoverflow'
)
pgcursor = pgdb.cursor()
# verify I've got my credentials in correctly
def check_connection():
pgcursor.execute("select version()")
data = pgcursor.fetchone()
print("Connection established to: ", data)
def create_table():
sql = '''CREATE TABLE estimation_data
("User" text PRIMARY KEY,
Motor_kV integer,
Batt_Volt decimal,
Pinion integer,
Spur integer,
Final_Gearing decimal,
Wheel_Rad decimal);'''
pgcursor.execute(sql)
pgdb.commit()
def drop_table():
sql = "DROP TABLE IF EXISTS estimation_data;"
pgcursor.execute(sql)
pgdb.commit()
def pg_add_data(sql,val):
pgcursor.executemany(sql, val)
pgdb.commit()
check_connection()
drop_table()
create_table()
pgsql = '''INSERT INTO estimation_data
("User", Motor_kV, Batt_Volt, Pinion, Spur, Final_Gearing, Wheel_Rad)
VALUES (%s, %s, %s, %s, %s, %s, %s);'''
pgval = [
('204.210.165.122', 2400, 16.8, 16, 54, 3.92, 2.5),
('204.210.165.123', 3500, 12.6, 16, 54, 3.92, 2.5),
('204.210.165.124', 4200, 8.4, 12, 54, 3.92, 2.5)]
pg_add_data(pgsql, pgval)
हालांकि उत्पादन साइट के लिए मूल बातें सीखना अच्छा है, मैं SQLalchemy जैसी उच्च स्तरीय लाइब्रेरी का उपयोग करने की दृढ़ता से अनुशंसा करता हूं।