Для установки PostgreSQL на сервер Ubuntu 14.04:
sudo apt-get update sudo apt-get install -y postgresql postgresql-contrib
Создайте базу данных и пользователя для доступа к ней
sudo -u postgres createuser -P USER_NAME_HERE sudo -u postgres createdb -O USER_NAME_HERE DATABASE_NAME_HERE
Протестируйте подключение к PostgreSQL
psql -h localhost -U USER_NAME_HERE DATABASE_NAME_HERE
PostgreSQL попросит вас ввести пароль. Затем вы должны увидеть что-то вроде этого:
psql (9.3.5) SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256) Type "help" for help. DATABASE_NAME_HERE=>
Для выхода введите:
\q
Добавить поддержку PostGIS в базу данных
sudo apt-get install -y postgis postgresql-9.3-postgis-2.1 sudo -u postgres psql -c "CREATE EXTENSION postgis; CREATE EXTENSION postgis_topology;" DATABASE_NAME_HERE
Включение удаленного доступа через интернет
Добавьте следующую строку в /etc/postgresql/9.3/main/postgresql.conf
listen_addresses = '*'
В файле /etc/postgresql/9.3/main/pg_hba. conf в разделе "IPv4 local connections" замените следующую строку:
host all all 127.0.0.1/32 md5
На:
host all all 0.0.0.0/0 md5
Затем перезапустите сервер PostgreSQL:
/etc/init.d/postgresql restart
Далее откройте pgAdmin3 и создайте новое соединение, используя эти настройки:
Name: (describe what this connection is for here) Host: Port: 5432 Username: USERNAME_HERE Password: PASSWORD_HERE
С такими же настройками вы сможете подключиться, используя QGIS.
Обс: Если вы сделали что-то не так и хотите очистить и переустановить все файлы PostgreSQL, чтобы создать совершенно новую установку, вот шаги:
Чтобы удалить весь PostgreSQL из вашей системы:
apt-get --purge remove postgresql\*
Просто очистить пакет postgres недостаточно, поскольку это просто пустой мета-пакет.
Как только все пакеты PostgreSQL будут удалены, запустите:
rm -r /etc/postgresql/ rm -r /etc/postgresql-common/ rm -r /var/lib/postgresql/ userdel -r postgres groupdel postgres
Sources:
http://www.saintsjd.com/2014/08/13/howto-install-postgis-on-ubuntu-trusty.html
https://stackoverflow.com/questions/13514128/postgresql-server-remote-connection
http://www.thegeekstuff.com/2014/02/enable-remote-postgresql-connection/
https://stackoverflow.com/questions/2748607/how-to-thoroughly-purge-and-reinstall-postgresql-on-ubuntu
В зависимости от разрешений перед копированием файла вы можете скопировать их с помощью cp -a
, что сохранит разрешения. Это, конечно, означает, что для вашего файла должны быть установлены разрешения -rw-rw----
перед копированием.
В качестве второго варианта, почему бы не изменить права доступа к файлу сразу после копирования:
chmod 660 $copiedFile