Как установить PostgreSQL 11 на FreeBSD 12

by itisgood

Добро пожаловать в сегодняшнюю статью о том, как установить PostgreSQL 11 на FreeBSD 12.

PostgreSQL – это самая совершенная система объектно-реляционных баз данных с открытым исходным кодом, которая позволяет вам управлять обширными наборами данных.

Он поставляется с функциями, которые гарантируют отказоустойчивость и целостность данных.

Проверьте страницу выпуска PostgreSQL 11 на наличие новых функций.

Приложение сервера базы данных PostgreSQL может варьироваться от обслуживания небольших веб-сайтов до распределенных и сложных приложений.

Он имеет поддержку всех функций РСУБД и дополнительную поддержку объектно-ориентированных моделей баз данных.

Установка PostgreSQL 11 на FreeBSD 12

Прежде чем вы сможете начать установку, я ожидаю, что у вас есть сервер FreeBSD 12, работающий с подключением к Интернету.

Вы также должны запустить установку как пользователь root или пользователь с привилегиями sudo.

Шаг 1. Обновите все пакеты репозитория

Первое действие бизнеса – обновление доступных каталогов удаленных репозиториев.

$ sudo pkg update
 Updating FreeBSD repository catalogue…
 FreeBSD repository is up to date.
 All repositories are up to date.

Если вы хотите обновить пакеты до более новых версий, доступных в репозитории, выполните:

sudo pkg upgrade

Шаг 2: Установка PostgreSQL 11 на FreeBSD 12

Загрузите и установите серверные и клиентские пакеты PostgreSQL с помощью менеджера пакетов pkg.

sudo pkg install postgresql11-server postgresql11-client

После установки запустите и включите службу PostgreSQL для запуска при загрузке системы.

sudo sysrc postgresql_enable=yes

Затем инициализируйте базу данных, запустив;

# /usr/local/etc/rc.d/postgresql initdb
 The files belonging to this database system will be owned by user "postgres".
 This user must also own the server process.
 The database cluster will be initialized with locale "C".
 The default text search configuration will be set to "english".
 Data page checksums are disabled.
 creating directory /var/db/postgres/data11 … ok
 creating subdirectories … ok
 selecting default max_connections … 100
 selecting default shared_buffers … 128MB
 selecting dynamic shared memory implementation … posix
 creating configuration files … ok
 running bootstrap script … ok
 performing post-bootstrap initialization … ok
 syncing data to disk … ok
 WARNING: enabling "trust" authentication for local connections
 You can change this by editing pg_hba.conf or using the option -A, or
 --auth-local and --auth-host, the next time you run initdb.
 Success. You can now start the database server using:
 /usr/local/bin/pg_ctl -D /var/db/postgres/data11 -l logfile start

Запустите службу

# /usr/local/etc/rc.d/postgresql start
 2019-02-01 21:45:15.425 UTC [1586] LOG:  listening on IPv6 address "::1", port 5432
 2019-02-01 21:45:15.426 UTC [1586] LOG:  listening on IPv4 address "127.0.0.1", port 5432
 2019-02-01 21:45:15.430 UTC [1586] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
 2019-02-01 21:45:15.436 UTC [1586] LOG:  ending log output to stderr
 2019-02-01 21:45:15.436 UTC [1586] HINT:  Future log output will go to log destination "syslog".

Шаг 3. Разрешить удаленные подключения

По умолчанию доступ к серверу баз данных PostgreSQL осуществляется только с локального хоста.

# sockstat -4 -6 | grep 5432
postgres postgres   1586  3  tcp6   ::1:5432              :
postgres postgres   1586  5  tcp4   127.0.0.1:5432        :

Чтобы включить удаленные подключения, установите текстовый редактор vim для редактирования файла конфигурации.

sudo pkg install vim

Откройте файл /var/db/postgres/data11/postgresql.conf и прокрутите вниз до раздела CONNECTIONS AND AUTHENTICATION  в строке 54.

sudo vim /var/db/postgres/data11/postgresql.conf

Раскомментируйте listen_address и строку и измените их, как показано ниже.

listen_addresses = '*'

Подстановочный знак * указывает службе PostgreSQL прослушивать все интерфейсы.

Но вы можете ограничиться конкретным IP-адресом.

listen_addresses = '192.168.1.20'

Перезапустите сервис PostgreSQL

#  service postgresql restart
 2019-02-02 05:37:14.791 UTC [2649] LOG:  listening on IPv6 address "::", port 5432
 2019-02-02 05:37:14.792 UTC [2649] LOG:  listening on IPv4 address "0.0.0.0", port 5432
 2019-02-02 05:37:14.797 UTC [2649] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
 2019-02-02 05:37:14.821 UTC [2649] LOG:  ending log output to stderr
 2019-02-02 05:37:14.821 UTC [2649] HINT:  Future log output will go to log destination "syslog".

Теперь служба должна быть привязана ко всем сетевым интерфейсам

# sockstat -4 -6 | grep 5432
 postgres postgres   2649  3  tcp6   *:5432                *:*
 postgres postgres   2649  5  tcp4   *:5432                *:*

Шаг 4: Установите пароль администратора PostgreSQL

Пользователь и группа postgres создаются по умолчанию при установке сервера PostgreSQL. Вам нужно будет сбросить пароль для этого пользователя на тот, который вы запомните.

# passwd  postgres
Changing local password for postgres
New Password:
Retype New Password:

Вы также можете использовать

$ su - postgres
$ psql -c "alter user postgres with password 'StrongPassword'"
ALTER ROLE

Шаг 5: Проверка работоспособности базы данных PostgreSQL 11

Добавьте тестовую базу данных пользователя:

su - postgres
createuser test_dbuser

Предоставьте созданному пользователю право собственности на test_db:

createdb test_db -O test_dbuser

Войдите в базу данных test_db:

# psql test_db
 psql (11.1)
 Type "help" for help
test_db=#

Установите пароль пользователя:

test_db=# alter user test_dbuser with password 'MyDBpassword';
ALTER ROLE

Создайте таблицу и добавьте несколько фиктивных данных.

test_db=# create table test_table ( id int,first_name text, last_name text ); 
CREATE TABLE
test_db=# insert into test_table (id,first_name,last_name) values (1,'John','Doe'); 
INSERT 0 1

Чтобы отобразить данные таблицы

test_db=#  select * from test_table;
  id | first_name | last_name 
 ----+------------+-----------
   1 | John       | Doe
 (1 row)

Удалить таблицу

test_db=# DROP TABLE test_table;
DROP TABLE

Удалить тестовую базу данных

$ dropdb test_db;

You may also like

Leave a Comment