Можно ли использовать PostgreSQL с базой данных на диске? - PullRequest
0 голосов
/ 26 октября 2009

В настоящее время у меня есть приложение, которое использует Firebird во встроенном режиме для подключения к относительно простой базе данных, хранящейся в виде файла на моем жестком диске. Я хочу перейти на использование PostgreSQL, чтобы сделать то же самое (да, я знаю, что это излишне). Я знаю, что PostgreSQL не может работать во встроенном режиме, и это нормально - я могу оставить процесс сервера запущенным, и это нормально для меня.

Я пытаюсь выяснить строку подключения, которая достигнет этого, но безуспешно. Я пробовал варианты на следующем:

JDBC: PostgreSQL: C: \ myDB.fdb
JDBC: PostgreSQL: // C: \ myDB.fdb
JDBC: PostgreSQL: // локальный: [порт] /C:\myDB.fdb

но, похоже, ничего не работает. направления PostgreSQL не содержат пример для этого случая. Это вообще возможно?

Ответы [ 3 ]

1 голос
/ 26 октября 2009

Вы можете обмануть это. Если вы используете PostGRESQL в UNIX-подобной системе, вы сможете создать RAMDISK и использовать его для хранения базы данных. Вот довольно хорошее пошаговое руководство для RAM-дисков в Linux .

В целом, я бы предложил использовать SQLITE для базы данных SQL в типе ОЗУ приложения.

0 голосов
/ 14 ноября 2009

Firebird 2.1 и выше поддерживает глобальные временные таблицы, которые существуют только на время соединения с базой данных.

Синтаксис выглядит примерно так: CREATE GLOBAL TEMPORARY TABLE ... НА СТОРОНАХ КОМИТЕТА

0 голосов
/ 26 октября 2009

Базы данных Postgres - это не один файл. Будет один файл для каждой таблицы и каждого индекса в каталоге данных, внутри каталога для базы данных. Все файлы будут названы с идентификатором объекта (OID) в db / table / index.

URL JDBC указывают на имя базы данных, а не на какой-либо конкретный файл: jdbc: postgresql: foodb (подразумевается localhost)

Если под «диском, который ведет себя как память», вы имеете в виду, что БД существует только на протяжении всей жизни вашей программы, нет никаких причин, по которым вы не можете создать БД при запуске программы и удалить ее при выходе из программы. Обратите внимание, что это просто DDL для создания БД, а не создания каталога данных с помощью программы init-db. Вы можете подключиться к базе данных postgres по умолчанию, создать свою базу данных и подключиться к ней.

...