Как подключиться к Postgres 12, если на компьютере установлено две версии - 10 и 12?

Столкнулся с проблемой. На компьютере установлено две версии Posgres - 10 и 12. Решил для нового проекта использовать 12 версию. Создал там БД:

CREATE TABLE GA
(
    data_sessions DATE,
    client_id CHARACTER VARYING(50),
    session_id CHARACTER VARYING(50),
    source_medium TEXT,
    session INTEGER,
    goal INTEGER
);

Написал первый код, который забирает по API из Google Analytics данные и должен класть их в созданную БД:

from gaapi4py import GAClient # библиотека для работы с API GA
import numpy # библиотека для работы с массивами
import psycopg2 # библиотека для подключения к БД postgresql
# подключаем файл-ключ, через который получаем доступ к api GA
c = GAClient(json_keyfile='etl1.json')
 
# получаем вчерашнюю дату и записываем в переменную yesterday
yesterday = datetime.date.fromordinal(datetime.date.today().toordinal()-1).strftime("%Y-%m-%d")
 
# тело запроса отправляемого в GA
request_body = {
    'view_id': '123304920',
    'start_date': yesterday, # ставим переменную со вчерашней датой
    'end_date': yesterday, # ставим переменную со вчерашней датой
    'dimensions': {
        'ga:date',
        'ga:dimension2', #  в этой переменной у меня записан client id
        'ga:dimension3', #  в этой переменной у меня записан session id
        'ga:sourceMedium'
    },
    'metrics': {
        'ga:sessions',
        'ga:goal5Completions',          
        
    },
 
}
 
response = c.get_all_data(request_body)
 
## Записываем ответ GA в dataframe
df=response['data']
 
 
# Преобразуем порядок столбцов, потому что из GA каждый раз получаем столбцы в разном порядке, 
# а нам нужны данные одного порядка для передачи в базу
df = df[['date', 'dimension2', 'dimension3', 'sourceMedium', 'sessions', 'goal5Completions']]
 
 
# конвертируем pandas df в список кортежей
sessions1 = df.to_records(index=False)
 
 
# преобразование данных из массива numpy в список
sessions=numpy.recarray.tolist(sessions1)
 
# Функция для подключения к БД
def create_connection(db_name, db_user, db_password):
    connection = None
    try:
        connection = psycopg2.connect(
            database=db_name,
            user=db_user,
            password=db_password,
 
        )
        print("Connection to PostgreSQL DB successful")
    except OperationalError as e:
        print(f"The error '{e}' occurred")
    return connection
    
    
# создаем подключение в качестве аргументов функции create_connection указываем название БД, имя пользователя и пароль
connection = create_connection(
    "postgres", "postgres", "password"
)
 
## Запись полученных строк в БД
sessions_records = ", ".join(["%s"] * len(sessions))
 
insert_query = (
    f"INSERT INTO ga (date_sessions, client_id, session_id, source_medium, sessions, goal) VALUES {sessions_records}"
)
connection.autocommit = True
cursor = connection.cursor()
cursor.execute(insert_query, sessions)

При попытке соединения с БД выдается ошибка:

FATAL: database "gp_ga_api" does not exist

Начал разбираться и есть предположение, что код коннектится к 10-той версии установленного Postgres (http://joxi.ru/brR9zLjCYg1O0A).

А как сделать, чтобы он коннектился к 12?


Ответы (0 шт):