微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Linux服务器源码安装postgresql

  1. 下载软件包

pgsql有很多类型的包,对于不同linux发行版都有对应的编译好的包,安装很方便,另外如果对于通用的linux平台可以编译源码安装或者安装官方编译好的二进制包,源码包的安装仅仅比二进制安装多出一个编译步骤,其余的都一样,所以这里使用安装方式是安装编译好的二进制包

pgsql官网地址:https://www.postgresql.org/,进入后点击download就来到下载页,这里点击Linux下面的Other Linux选项,然后点击下方的tar.gz archive下载二进制归档
  

在这里插入图片描述

然后就来到最终的pgsql下载页了,地址为:https://www.enterprisedb.com/download-postgresql-binaries,如下图下载10.14版本

在这里插入图片描述

如上图根据机器的位数下载对应的包,我这里下载的是x86-64的包,为:postgresql-10.14-linux-x64-binaries.tar.gz,下载之后准备安装
2. 安装并初始化

解压数据库并放到指定目录:

tar -xvzf postgresql-10.14-linux-x64-binaries.tar.gz
解压出来之后目录为pgsql
mv pgsql/ /monchickey/
  现在pgsql的安装目录就是/monchickey/pgsql

创建pgsql用户设置密码

useradd postgres
passwd postgres
两次输入密码并确认
  注意:这里设置密码是linux用户postgres的登录密码,不是pgsql服务器的密码

创建pgsql数据目录: mkdir /monchickey/pgsql_data

给postgres用户授权目录访问权限: chown postgres /monchickey/pgsql_data/

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

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

/monchickey/pgsql/bin/initdb -D /monchickey/pgsql_data/
  等待执行完毕,没什么问题就初始化成功了,提示如下:
  

在这里插入图片描述

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

启动之后此时执行: ps -ef | grep postgres 就可以看到相关进程如下:

在这里插入图片描述


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

在这里插入图片描述


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

停止postgresql的命令为: /monchickey/pgsql/bin/pg_ctl -D /monchickey/pgsql_data/ stop

3. 命令行界面简单操作

pgsqlMysqL一样可以通过交互式提示符连接操作,连接方式如下:

./bin/psql -h 127.0.0.1 -d postgres -U postgres -p 5432
  其中-h参数指定服务器地址,认为127.0.0.1,认不指定即可,-d指定连接之后选中的数据库认也是postgres,-U指定用户认是当前用户,-p 指定端口号,认是"5432",其它更多的参数选项可以执行: ./bin/psql --help 查看

登录进去认界面如下所示:

在这里插入图片描述


命令提示符前面的就是当前的数据库,使用 \l 查看当前的数据库列表

在这里插入图片描述


认postgres,template0和1这3个库是不允许操作的,创建新的数据库执行: CREATE DATABASE test WITH OWNER=postgres ENCODING=‘UTF-8’; 这样就创建好了数据库test,然后可以执行命令 \c test 切换当前数据库为test,然后执行 \d 可以查看当前数据库下的所有表:

在这里插入图片描述


创建一个简单的数据表可以执行下面的命令:

CREATE TABLE student (
id integer NOT NULL,
name character(32),
number char(5),
CONSTRAINT student_pkey PRIMARY KEY (id)
);

在这里插入图片描述


创建表之后可以使用 \d student; 查看表的详细信息,如下:

在这里插入图片描述


现在可以插入一条测试数据: INSERT INTO student (id, name, number) VALUES (1, ‘张三’, ‘1023’);

然后可以查询这条数据: SELECT * FROM student WHERE id=1;
  

在这里插入图片描述


最后可以执行 \q 退出交互式界面。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐