linux下postgres的安装

时间:2022-11-22 06:15:58

软件包的下载

在浏览器中访问https://www.enterprisedb.com/download-postgresql-binaries 然后选择适合自己的版本,我选择的是linux64位下的10.0.7版本,下载后得到一下的包:postgresql-10.7-1-linux-x64-binaries.tar.gz

安装并初始化

解压并安装到制定的目录

tar -zxvf postgresql-10.7-1-linux-x64-binaries.tar.gz -C /opt/postgres

现在postgres的安装目录就是/opt/postgres/pgsql

创建postgres用户并设置密码

useradd postgres
passwd postgres

注意:这里设置密码是linux用户postgres的登录密码,不是pgsql服务器的密码

创建postgres的数据存放目录,给postgres用户授权目录访问权限

mkdir /opt/postgres/pg_data
chown postgres /opt/postgres/pg_data

然后切换到postgres用户来操作数据库,pgsql数据库就以postgres为默认用户,执行: su - postgres 切换

切换之后建议修改~/.bash_profile将pgsql的bin目录加至环境变量中,方便直接使用pgsql相关命令,下面初始化数据库:

/opt/postgres/pgsql/bin/initDb -D /opt/postgres/pg_data

等待执行完毕,没什么问题就初始化成功了.

启动数据库

/opt/postgres/pgsql/bin/pg_ctl  -D  /opt/postgres/pg_data/ -l logfile start

这里-l指定日志文件位置,这里直接输出在家目录下的logfile中,这个可以自己指定,这里-D指定数据目录,默认如果不加数据目录直接报错找不到,可以刚才说的环境变量配置文件中~/.bash_profile加入一行: export PGDATA=/monchickey/pgsql_data 然后source进去即可,这样pgsql会自动去找PGDATA环境变量值,找不到才会报错

pgsql默认的端口号为5432,通过netstat命令或者lsof命令都可以看到监听情况

现在可以看到pgsql默认监听的是localhost或127.0.0.1,目前只能本机访问,如果远程访问就连接不上了,具体的配置文件是data目录下的postgresql.conf,可以通过修改这个配置文件来调整各个参数,比如:listen_addresses可以修改绑定的地址,默认是localhost,port可以修改监听的端口号,默认是5432,max_connections可以修改最大客户端连接数量,默认是100等等,这里就不再详细说了

停止postgresql的命令为

/opt/postgres/pgsql/bin/pg_ctl  -D  /opt/postgres/pg_data/  stop

这样postgres就安装完成了