Вот код;
# Импортируем библиотеки
import psycopg2 as pg
from main import *
from psycopg2 import Error
# Создаем бд и таблицу
try:
# Подключиться к существующей базе данных
connection = pg.connect(user="postgres",
# пароль, который указали при установке PostgreSQL
password= "тип пароль",
host= "127.0.0.1",
port= "5432",
database= "тип дб")
# Создайте курсор для выполнения операций с базой данных
cursor = connection.cursor()
# SQL-запрос для создания новой таблицы
create_table_query = '''CREATE TABLE posts(
post_id INT PRIMARY KEY NOT NULL,
post_text TEXT NOT NULL,
datetime TEXT NOT NULL); '''
create_table_query_second = '''CREATE TABLE chats(
chat_id INT PRIMARY KEY NOT NULL,
name TEXT NOT NULL); '''
# Выполнение команды: это создает новую таблицу
cursor.execute(create_table_query)
cursor.execute(create_table_query_second)
connection.commit()
print("Таблица успешно создана в PostgreSQL")
except (Exception, Error) as error:
print("Ошибка при работе с PostgreSQL", error)
# Функции
# Отправляем сообщение в чат (будет использоваться в цикле)
async def send_message_in_chat(chat_id, post_text):
bot.send_message(chat_id, text = post_text)
# Берем из бд все даты/время, находящиеся в библиотеке
async def import_datetime_into_database():
datetime_list = cursor.execute("""SELECT datetime FROM posts""") # Передаем все даты\время в переменную
return datetime_list.fetchall() # возвращаем
# Проверка всего DATABASE POSTS. Нужна для пользователя и удобна для креатора
async def check_posts_db(message_id):
row = cursor.execute("""SELECT * FROM posts""") # Передаем все с Posts в переменную
for i in row: # цикл for для последовательной отправки каждого сообщения
bot.send_message(message_id, text = i)
# Функция получения айдишников чатов
async def give_chats_id_please():
row = cursor.execute("""SELECT id FROM chats""") # передаем все айдишники чатов
return row.fetchall() # возвращаем
# Функция добавлениия айдишника чата
async def add_chat_id(state):
async with state.proxy() as data:
new_data = tuple(data.values())
cursor.execute('''INSERT into chats(chat_id, name) VALUES (%s, %s)''', (new_data[0], new_data[1]))
connection.commit()
Вылезает при вызове метода add_chat_id