Postgresql перенос базы на другой диск windows

Если у вас установлен Postgres в конфигурации по умолчанию, то его базы хранятся в Program Files. Если есть необходимость освободить место на системном диске C, то можно перенести базы данных Postgres на другой диск. Общий алгоритм такой (включая linux системы):

  • Останавливаем сервис СУБД
  • Перемещаем базы
  • Меняем конфиг postgres
  • Запускаем сервис СУБД

Для Windows системы:

  1. Заходим в сервисы
    Нажимаем WIN+R, и вводим команду
    services.msc

    Отключаем службу, относяющуюся к СУБД, например postgresql-x64-9.6 — PostgreSQL Server 9.6. В свойствах службы можно посмотреть команду запуска. Свойства службы postgres В сущности необходимо будет поменять параметр после ключа -D

  2. Заходим в реестр
    Нажимаем WIN+R, и вводим команду
    regedit

    Ищем ветку служб Windows и наш сервис СУБД, например postgresql-x64-9.6 — PostgreSQL Server 9.6

    HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services
  3. Меняем ключ реестра ImagePath. Реестр Windows, служба postgres

Допустим надо указать папку D:\databases\PostgreSQL\9.6. Тогда, вместо

"C:\Program Files\PostgreSQL\9.6\bin\pg_ctl.exe" runservice -N "postgresql-x64-9.6" -D "C:\Program Files\PostgreSQL\9.6\data" -w

прописываем:

"C:\Program Files\PostgreSQL\9.6\bin\pg_ctl.exe" runservice -N "postgresql-x64-9.6" -D "D:\databases\PostgreSQL\9.6" -w
  1. Копируем/перемещаем базы из старого места в новое
  2. Запускаем службу

Для linux системы:

  1. Отключаем службу, относяющуюся к СУБД
    /etc/init.d/postgresql stop
  2. В конфигурационном файле /etc/init.d/postgresql меняем содержимое переменной $PGDATA
  3. Копируем/перемещаем базы из старого места в новое
  4. Запускаем службу, относяющуюся к СУБД
    /etc/init.d/postgresql start

Ссылка по теме:

  • How To Move a PostgreSQL Data Directory to a New Location on Ubuntu 16.04

Установка актуальной nodejs на ubuntu

В официальных репозиториях Ubuntu предлагется дореволюционная версия node.js. В этом руководстве рассказывется как установить актуальную Node.js на Ubuntu или в подсистему linux на Windows 10, что собственно говоря, одно и тоже.

Что значат цветные значки ключей в HeidiSQL?

heidisql-colored-keys

  • Желтый ключ: Primary key
  • Красный ключ: Unique key
  • Зеленый ключ: Index
  • Голубой ключ: Fulltext key

Обновление баз NOD32 на компьютере без интернета

Инструкция по offline обновление баз антивируса NOD32, если есть лицензия или готовый архив с базами

Опыт установки сертификата Let’s Encrypt на Ubuntu и nginx

Пример установки сертификата Let’s Encrypt для nginx и ubuntu 16.04 с использованием certbot клиента.

Ubuntu 18.04 Punto Switcher

Нормальной замены на Ubuntu нет, есть gxneur, но он кривой(( Пытался пользоваться несколько месяцев. В итоге удалил.

Windows. Docker не может занять свободный порт

net stop winnat
docker start ...
net start winnat

Migrating the data cluster from C:\ to E:\

I’m new to working with large data in Windows, and ran into some unexpected difficulty when the PostgreSQL database ran out of space on my server’s C drive. It might also be a good idea to isolate your postgres database from a location other than the C:\Program Files\ folder for permissions/security/data integrity reasons (I had a reference for this but I lost it). Here’s how to move your PostgreSQL data directory

Basing myself on this dba.stackex answer and this wiki post

1. Stop the PostgreSQL service

Go to Start > Services. Scroll down to postgresql-x64-9.5 and right-click Stop

2. Copy data

I copied the data with File Explorer from C:\Program Files\PostgreSQL\9.5\data\ to E:\pg_db\data

3. Modify postgresql.conf (probably not necessary if you move everything to the new location)

I edited the following lines

#------------------------------------------------------------------------------
# FILE LOCATIONS
#------------------------------------------------------------------------------

# The default values of these variables are driven from the -D command-line
# option or PGDATA environment variable, represented here as ConfigDir.

data_directory = 'E:\pg_db\data'		# use data in another directory
					# (change requires restart)
hba_file = 'C:\Program Files\PostgreSQL\9.5\data\pg_hba.conf'	# host-based authentication file
					# (change requires restart)
ident_file = 'C:\Program Files\PostgreSQL\9.5\data\pg_ident.conf'	# ident configuration file
					# (change requires restart)

4. Modify the command that starts PostgreSQL

If you Right Click to Properties on the PostgreSQL services in Services, you’ll notice that the startup command is

"C:\Program Files\PostgreSQL\9.5\bin\pg_ctl.exe" runservice -N "postgresql-x64-9.5" -D "C:\Program Files\PostgreSQL\9.5\data" -w

The -D "C:\Program Files\PostgreSQL\9.5\data" flag is indicating that the data directory is C:\Program Files\PostgreSQL\9.5\data

DO NOT EDIT THE REGISTRY

In any case, I didn’t have permission on the server I was using and it seems to be a Bad Idea(tm) see here

Direct registry modification should be avoided (because you can’t be sure what else Windows is changing when it modifies the path to exe, f.e.) unless you are absolutely sure what you do

Start the cmd prompt as an administrator by hitting the Windows button and typing cmd then right-clicking “Run as Administrator”

You can see the current configuration for PostgreSQL by typing sc qc postgresql-x64-9.5 1000 and hitting Enter.

Modify the configuration to the following with the sc command

sc config postgresql-x64-9.5 binPath= "\"C:\Program Files\PostgreSQL\9.5\bin\pg_ctl.exe\" runservice -N \"postgresql-x64-9.5\" -D \"E:\pg_db\data\" -w"

5. Change permissions for the new data directory

For the new data-dictionary folder: Right-click on it and click Properties. Under the Security Tab click “Edit...” and then “Add...”. Type “Network Service” and then click “Check Names”, make sure it has Modify and Full Control permissions and then click OK.
Equally important PostgreSQL needs to be able to “see” the data-directory (see my ServerFault.StackEx question), i.e. it needs to have read access to the parent directories above it. So Right-click on the pg_db folder and under the Security Permissions add Network Services again, but this time it only needs Read & Execute as well as List folder contents permissions.

6. Restart the Service

Go back to the Services window (if it was still open, refresh it) and Start the PostgreSQL service. You should be able to connect to it again in PGAdmin



postgresql

Как мне перенести базу данных PostgreSQL на новый жесткий диск?


Если у Вас PostgreSQL установлен на системном диске C, но вы хотите переместить базы данных на другой раздел или внешний жесткий диск, т.к на диске C мало места, это может быть сделано без переустановки PostgreSQL.

Первым делом, остановите службу PostgreSQL на время переноса.

Windows XP
Пуск > Панель Управления> Администрирование > Службы

Windows Vista/W7
Пуск > Поиск > Службы

Вам нужно, чтобы открылось такое окно:

postgres-001.jpg

Щелкните правой кнопкой мыши по службе PostgreSQL и выберите в меню «Стоп» для остановки службы.

Затем создайте на том диске куда вы хотите перенести базу папку Program Files в ней PostgreSQL и в ней data. Должен получиться путь I:/Program Files/PostgreSQL/data

Далее скопируйте или переместите все данные из первоначальной папки c:/program files/PostgreSQL/8.3/data в новую созданную Вами I:/Program Files/PostgreSQL/data. Это может занять много времени.


Редактирование реестра:
Теперь мы должны указать PostgreSQL новую папку расположения данных, а для этого нам нужно внести изменения в реестр

Windows XP
Перейдите Пуск > Выполнить и в текстовом поле наберите команду regedit, нажмите enter, должно открыться следующее окно:

Windows Vista/W7
Перейдите Пуск> Все программы>Стандартные > Выполнить и в текстовом поле наберите команду regedit, нажмите enter, должно открыться следующее окно:

postgres-002.jpg

В левой панели откройте папку : HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/pgsql-8.3, см. картинку ниже:

postgres-003.jpg

На картинке красной линией обведен ключ, который нужно изменить. Щелкните правой кнопкой мыши по имени ключа и выберите «Изменить», откроется окно со значением ключа:

«C:/Program Files/PostgreSQL/8.3/bin/pg_ctl.exe» runservice -w -N «pgsql-8.3» -D «C:/Program Files/PostgreSQL/8.3/data/»

Теперь Вам нужно изменить только часть, выделенную жирным шрифтом. Вы переместили базу и должны указать PostgreSQL новый путь, именно он и выделен. Нельзя допустить ошибку в пути, поэтому можно сделать так: открыть в проводнике нашу папку /data и кликнуть правой кнопкой мыши по любому файлу и выбрать Свойства, откроется такое окно:

postgres-004.jpg

В строке «Размещение» будет написан полный путь к папке, который нужно выделить и скопировать. И после этого вставить его вместо выделенной части ключа в реестре. Старый ключ выглядел так:

«C:/Program Files/PostgreSQL/8.3/bin/pg_ctl.exe» runservice -w -N «pgsql-8.3» -D «C:/Program Files/PostgreSQL/8.3/data/»

Должно получиться так:
«C:/Program Files/PostgreSQL/8.3/bin/pg_ctl.exe» runservice -w -N «pgsql-8.3» -D «I:/Program Files/PostgreSQL/8.3/data/»

Это все. Закройте все окна и перезагрузите компьютер.

Если перенесенная база данных работает нормально можно удалить исходную папку /data на диске C, если Вы не сделали этого раньше.

Join @AdmNtsRu on Telegram

Смотрите также:

Перейти к содержимому

Настройка 1С

Решения по использованию программ 1С. Техподдержка. Сопровождение. Услуги программистов.

Разберем сценарий переноса баз 1С PostgreSQL на другой диск или папку. Для этого требуется перенастроить запуск службы СУБД с новым параметрами. А точнее — изменить ключ «-D», за которым следует указание каталога данных.

Итак, ищем ветку в системном реестре (пример — в вашем случае название службы может отличаться, в зависимости от версии PostgreSQL):

HKLM\SYSTEM\CurrentControlSet\Services\postgresql-1c-13

Содержимое параметра ImagePath для службы «postgresql-1c-13 — PostgreSQL Server 13»:

«C:\Program Files\PostgreSQL\bin\pg_ctl.exe» runservice -N «postgresql-1c-13» -D «C:\PostgreSQL\data» -w

  1. Выполните резервное копирование ИБ (через Конфигуратор, средствами СУБД).
  2. Временно остановите службу Агента сервера 1С.
  3. Остановите службу PostgreSQL. Сделайте бэкап ветки реестра с параметрами службы. Для подстраховки, чтобы можно было вернуться к прежним настройкам, если при новых появятся ошибки.
  4. Скопируйте каталог с базами на другой диск.

    Пример команды с копированием папок и прав безопасности ниже (выполняйте от имени администратора).

    Таким образом, каталог PostgreSQL с базами (вложенная папка data) скопируется с диска C:\ на D:\.

robocopy C:\PostgreSQL D:\PostgreSQL /E /COPYALL /SECFIX
  1. Измените путь к базам в реестре — скорректируйте ImagePath для службы PostgreSQL (-D «D:\PostgreSQL\data»).

    «C:\Program Files\PostgreSQL\bin\pg_ctl.exe» runservice -N «postgresql-1c-13» -D «D:\PostgreSQL\data» -w

  2. Последовательно запустите службу PostgreSQL, а далее Агент сервера 1С.
  3. Проверьте вход в ИБ.

Пусть все получится, и PostgreSQL вместе с сервером 1С корректно примут новое расположение файлов БД.

__________
Если что-то не получается и требуется поддержка — наши программисты готовы помочь → +7-911-500-10-11

При установке нужно изменить кодировку на UTF8 (и сервер и клиент).
Перенос баз PostgreSQL на другой диск Windows

1. Останавливаем сервис postgresql.

Пуск — Выполнить, вводим services.msc и жмём Enter… Находим PostgreSQL Database Server, кликаем правой кнопкой мыши, и нажимаем Остановить.

2. Переносим базы.

Выбираем диск, на который необходимо перенести базы. Например диск E. На этом диске создаём папку PostgreSQL\data. В эту папку копируем содержимое  папки, которая создалась по умолчанию при установке PostgreSQL — C:\Program Files (x86)\PostgreSQL\9.1.2-1.1C\data.

3. Меняем путь к базам в реестре Windows.

Пуск — Выполнить, вводим regedit и жмём Enter.

В редакторе реестра переходим к ключу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pgsql-9.1.2-1.1C и открываем для изменения строковой параметр  ImagePath.  В нем меняем путь к базам.

Старый путь обычно выглядит так — «C:\Program Files (x86)\PostgreSQL\9.1.2-1.1C\bin\pg_ctl.exe» runservice -w -N «pgsql-9.1.2-1.1C» -D «C:\Program Files (x86)\PostgreSQL\9.1.2-1.1C\data\»

Параметр -D указывает на директорию где хранятся наши базы, поэтому меняем ее на — «E:\PostgreSQL\data\»

То есть полная строка будет выглядеть примерно так — «C:\Program Files (x86)\PostgreSQL\9.1.2-1.1C\bin\pg_ctl.exe» runservice -w -N «pgsql-9.1.2-1.1C» -D «E:\PostgreSQL\data\»

С предприятием 8.2 «стандартные» версии от 1С работают только до 9.1.9 включительно.
При использовании 8.2 и Postgre 9.1.9 файл \data\postgresql.conf уже имет правильные настройки.
Если возникает ругань «syntax error at or near «SECOND» at character 227″, а при попытке повторного создания «DATABASE не пригоден для использования» то в postgresql.conf нужно заменить соответствующие строки на

escape_string_warning = off
standart_conforming_strings = off

и вероятно (по некоторым источникам) снять коментарий с
backslash_quote = safe_encoding

  • Postgresql пароль по умолчанию windows
  • Postgresql открыть доступ по сети windows
  • Power media player скачать бесплатно для windows 10
  • Power dvd player for windows 10
  • Postgresql на windows как пользоваться