Привет! Я пытаюсь подключиться к своей базе данных, как всегда.Раньше я делал это, и все работало нормально, я также создал эту базу данных. Если я делаю то же самое в python Terminal - все работает - я могу легко подключиться к своей базе данных и выполнить свои sql-запросы.Мой код:
from psycopg2 import connect
def create_connection():
cnx = connect(
user="postgres",
password="*******",
host="localhost",
dbname="exercises_db")
cnx.autocommit = True
cursor = cnx.cursor()
return (cnx, cursor)
def close_connection(cnx, cursor):
cursor.close()
cnx.close()
def create_tables():
cnx, cursor = connect()
customers = '''
CREATE TABLE customers (
customer_id serial,
name varchar(255),
surname varchar(255),
PRIMARY KEY(customer_id)
);
'''
cursor.execute(customers)
orders = '''
CREATE TABLE orders (
order_id serial,
customer_id int REFERENCES customers(customer_id),
description text,
PRIMARY KEY(order_id)
FOREIGN KEY(customer_id)
);
'''
cursor.execute(orders)
products = '''
CREATE TABLE products (
product_id serial,
name varchar(255),
price decimal(5, 2)
PRIMARY_KEY(product_id)
);
'''
cursor.execute(products)
close_connection(cnx, cursor)
create_tables()
И результат:
Traceback (most recent call last):
File "A1_1.py", line 65, in <module>
create_tables()
File "A1_1.py", line 26, in create_tables
cnx, cursor = connect()
File "A1_1.py", line 20, in connect
cnx = connect( host="localhost", database="exercises_db")
TypeError: connect() got an unexpected keyword argument 'host'