Добро пожаловать в сегодняшнюю статью о том, как установить 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;