Skip to content

Latest commit

 

History

History
94 lines (66 loc) · 4.7 KB

postgres_work.md

File metadata and controls

94 lines (66 loc) · 4.7 KB

Полезные ссылки:

Общая информация

Импорт/экспорт дампа БД PostgreSQL через SSH

Linux хостинг

Если вам не удается загрузить данные в базу данных стандартными средствами, вы можете воспользоваться альтернативным способом, описанным в данной статье.

Перед выполнением дальнейших действий необходимо выполнить следующее:

  • Создайте сайт и настройте подключение по FTP.
  • Настройте подключение по SSH.
  • Добавьте базу данных.

Затем подключитесь к вашему сайту по FTP, используя данные из п.1, и загрузите дамп в корневую папку сайта. Если он заархивирован, разархивируйте его перед загрузкой (после разархивирования у него должно быть расширение .sql).

Подключитесь к вашему сайту по SSH, используя инструкцию "Настройка SSH-клиента".

Импорт

Перед тем как выполнить импорт, перейдите в соответствующую директорию.

Сделать это вы можете при помощи команд

  • pwd (показ текущего каталога)
  • ls (отображение списка файлов в текущем каталоге)
  • cd (перемещение по каталогам)

Полный список команд и их значение перечислены в статье "Основные команды консоли".

Выполнить импорт дампа БД можно строкой: pg_restore -h hostname -U username -F format -d dbname dumpfile

В строку нужно внести следующие изменения:

  • Вместо hostname – IP для внутреннего доступа localhost.
  • Вместо username – имя пользователя.
  • Вместо format – формат дампа (может быть одной из трех букв: 'с' (custom — архив .tar.gz), 't' (tar — tar-файл), 'p' (plain — текстовый файл). В команде букву надо указывать без кавычек.
  • Вместо dbname – имя вашей БД.
  • Вместо dumpfile– название файла дампа.

если sql дамп.

  • psql -U {user_name} -d {database_name} -f {file_path} -h {host_name}
  • database_name: Which database should you insert your file data in.
  • file_path: Absolute path to the file through which you want to perform the importing.
  • host_name: The name of the host. For development purposes, it is mostly localhost.

Импорт может продолжаться длительное время. Дождитесь сигнала о завершении (переход на следующую строку в SSH клиенте).

Экспорт

Чтобы осуществить экспорт дампа, воспользуйтесь командой:

  • pg_dump -h hostname -U username -F format -f dumpfile dbname

Работа с Postgres

sudo apt-add-repository ppa:pitti/postgresql
sudo apt-get update
sudo apt-get install postgresql-9.2
sudo -u postgres psql
CREATE DATABASE test_database;
CREATE USER test_user WITH password 'qwerty';
GRANT ALL ON DATABASE test_database TO test_user;
psql -h localhost test_database test_user
CREATE SEQUENCE user_ids;
CREATE TABLE users (
  id INTEGER PRIMARY KEY DEFAULT NEXTVAL('user_ids'),
  login CHAR(64),
  password CHAR(64));