如何在FreeBSD 12上安装PostgreSQL
如何在FreeBSD 12上安装PostgreSQL
PostgreSQL或Postgres是一种功能强大的对象关系高性能数据库管理系统(ORDBMS),使用灵活的BSD样式许可发布。 PostgreSQL非常适合大型数据库,并具有许多高级功能。
在本教程中,我们将向您展示如何在FreeBSD上安装和配置PostgreSQL数据库服务器。我们将在FreeBSD 12.0系统上安装最新版本的PostgreSQL 11。
先决条件
对于本指南,我们将使用具有1 GB RAM内存和2个CPU的FreeBSD 12。如果部署规模较大,那么您将需要更多。您还需要root特权才能安装软件包。
我们要做什么:
- 更新和升级包
- 安装PostgreSQL 11
- 配置PostgreSQL认证
- 设置新用户和数据库
- 测试中
步骤1-更新和升级套件
首先,我们将使用FreeBSD的pkg软件包管理工具更新软件包存储库,并将所有软件包升级到最新版本。
使用以下命令更新所有可用的存储库,并将所有软件包升级到最新版本。
pkg update
pkg upgrade
所有安装完成后,请转到下一步。
第2步-安装PostgreSQL 11
在这一步中,我们将安装最新的稳定版本PostgreSQL11。默认情况下,FreeBSD信息库提供PostgreSQL软件包的多个版本。
您可以使用以下命令来检查PostgreSQL软件包的所有可用版本。
pkg search postgresql
您将获得PostgreSQL数据库服务器的多个版本。
现在,使用以下命令安装PostgreSQL 11软件包。
pkg install postgresql11-server postgresql11-client
安装完成后,将获得以下结果。
接下来,我们需要在启动服务之前将PostgreSQL服务添加到系统引导并初始化数据库。
使用以下命令将PostgreSQL添加到系统引导中。
sysrc postgresql_enable=yes
现在,使用以下命令初始化PostgreSQL数据库。
/usr/local/etc/rc.d/postgresql initdb
您将得到如下结果。
Advertisements.banner-1 {text-align:center; padding-top:10pximportant; padding-bottom:10pximportant; padding-left:0pximportant; padding-right:0pximportant; width:100%important; box-sizing:border-boximportant; background -color:#eeeeeeimportant; border:1px实心#dfdfdf}
现在启动PostgreSQL服务并检查其状态。
service postgresql start
service postgresql status
PostgreSQL服务已启动并在FreeBSD 12.0上运行。
另外:
您可以使用下面的sockstat命令检查PostgreSQL服务使用的系统端口。Advertisements.large-leaderboard-2{text-align:center; padding-top:10pximportant; padding-bottom:10pximportant; padding-left:0pximportant; padding-right:0pximportant; width:100%important; box-sizing:border-boximportant; background -color:#eeeeeeimportant; border:1px实心#dfdfdf}
sockstat -l4 -P tcp
您将获得PostgreSQL服务使用的端口“ 5432”。
第3步-配置PostgreSQL身份验证
在这一步中,我们将为PostgreSQL设置身份验证方法。 PostgreSQL支持不同的身份验证方法,例如信任身份验证(默认),基于密码的身份验证,Kerberos,GSSAPI,LDAP,RADIUS和PAM。
对于本指南,我们将使用MD5设置基于密码的身份验证。转到“ / var / db / postgresql / data11”目录,使用vim编辑器编辑“ pg_hba.conf”文件。
cd /var/db/postgres/data11
vim pg_hba.conf
现在,如下所示将所有本地连接的身份验证方法更改为“ md5”。
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
保存并关闭。
现在重新启动PostgreSQL服务。
service postgresql restart
结果,已启用使用md5进行PostgreSQL服务器的基于密码的身份验证。
第4步-设置新用户和数据库
在这一步中,我们将在PostgreSQL上建立一个新的用户和数据库。我们将为默认用户“ postgres”创建一个新密码,并创建一个新用户和数据库。
使用以下命令登录到“ postgres”用户。
su - postgres
现在登录到交互式PostgreSQL shell’psql’。
psql
然后为“ postgres”用户创建一个新密码。
password postgres
TYPE THE PASSWORD
接下来,我们将使用数据库“ hakase_db”创建一个名为“ hakase”的新用户。并将用户的特权授予数据库。
在下面运行以下PostgreSQL查询。
create database hakase_db;
create user hakase with encrypted password 'hakase123#';
grant all privileges on database hakase_db to hakase;
现在退出PostgreSQL交互式shell。
q
结果,已经创建了默认“ postgres”用户的密码。并且已经建立了新的用户和数据库。
步骤5-测试
登录到“ postgres”用户,然后运行“ psql”命令进入PostgreSQL交互式外壳。
su - postgres
psql
使用以下查询在PostgreSQL服务器上显示列表用户和数据库。
du
l
结果中将得到新用户“ hakase”和数据库“ hakase_db”。
输入“ q”退出psql shell。
接下来,我们将使用以下命令使用创建的用户“ hakase”登录到数据库“ hakase_db”。
psql -U hakase -d hakase_db -W
Type the hakase password
现在创建一个新表“ user_table”,并将一些数据插入其中。
create table user_table (id int, name text, site text);
insert into user_table (id,name,site) values (1,'Hakase-Labs','howtoforge.com');
使用以下查询显示表的内容。
select * from user_table;
您将得到如下结果。
最终,在FreeBSD 12系统上的PostgreSQL 11安装和配置已经成功完成。
链接
- https://www.freebsd.org/doc/
- https://wiki.postgresql.org/wiki/