В настоящее время я пытаюсь создать базу данных postgresql с использованием sqlalchemy и хотел бы, чтобы этот файл базы данных был создан на внешнем жестком диске. Я могу сделать это, используя sqlite3, что можно сделать, просто добавив путь после строки, которая войдет в движок:
# To create the tables we need these packages
import sqlalchemy as sql
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship, backref
from sqlalchemy import create_engine
# Creating the base.
Base = declarative_base()
# The tables would be defined here.
# Create an engine that stores data in the given directory.
path = '/path/'
engine = create_engine('sqlite:///'+path+'ARsdb.db')
# Create all tables in the engine.
Base.metadata.create_all(engine)
Который затем сделает файл базы данных по указанному пути. С другой стороны, postgresql использует другой синтаксис для движка:
# default
engine = create_engine('postgresql://user:pass@localhost/mydatabase')
# psycopg2
engine = create_engine('postgresql+psycopg2://user:pass@localhost/mydatabase')
как объяснено в этом вопросе или документации . Однако мне не ясно, могу ли я указать путь для этого файла базы данных, который будет записан как на sqlite. Когда я создал базу данных, используя строку базы данных как:
postgresql://user:password@localhost:5432/databasepath/database_name
для фиктивной базы данных Я не смог найти файл database_name в пути databasepath . Могу ли я указать путь для файла, который будет создан в конце концов, или он останется ограниченным сервером, созданным во время установки postgresql?
Спасибо!