2017年12月8日 Linux安装postgresql

简介:

  PostgreSQL是加州大学伯克利分校计算机系开发的对象关系型数据库管理系统,目前拥有活跃的开源社区贡献,最近排名也不断前进,pgsql中其实有很多有点和设计理念都要比mysql更好一些,比如稳定性比较强;高并发读写情况下性能依然较好;支持丰富的几何类型并且在GIS领域地位领先;text支持各种长度,无需区分;nosql特性,支持array和json存储和搜索等,因为这些优点,pgsql应用场景也不断扩展,下面详细写一下pgsql入门的第一步,即先将pgsql安装至操作系统,过程如下:

  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.1

  

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

  2. 安装并初始化

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

tar -xvzf postgresql-10.1-1-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. 命令行界面简单操作

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

./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 退出交互式界面

  上面是一些最基本的操作,可以看出除了一些属性类的操作外,通用的sql语句和mysql几乎完全一样,只是数据类型表达有所不同;对于pgsql的安装和简单的使用就先说这些,另外pgsql还支持更多复杂的查询的操作,这个后续如果有涉及会继续分享;感谢查看,欢迎补充.^_^.


本文转自SanMaoSpace博客园博客,原文链接:http://www.cnblogs.com/freeweb/p/8006639.html,如需转载请自行联系原作者

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
11月前
|
Ubuntu Linux
任何Ubuntu用户都应安装的四大Linux应用程序
当然,这款程序不需要太多介绍。我们面对的是网上最庞大最完整的多媒体中心,由于丰富的插件,我们能够高度细化地定制其每一项功能。这是我们的Linux发行版不可或缺的必备软件。 我们可以通过运行以下命令来轻松安装Kodi:sudo apt install kodi。
|
11月前
|
Ubuntu Linux
计算机基础知识:linux系统怎么安装?
在虚拟机软件中创建一个新的虚拟机,并选择相应操作系统类型和硬盘空间大小等参数。将下载的 ISO 镜像文件加载到虚拟机中。启动虚拟机,进入安装界面,并按照步骤进行安装。安装完成后,可以在虚拟机中使用 Linux 系统。
|
11月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
11月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
9月前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
622 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
SQL Ubuntu 关系型数据库
PostgreSQL介绍和PostgreSQL包安装
PostgreSQL 是一个功能强大、可扩展的开源关系型数据库系统,以其可靠性、数据完整性和高性能著称。它支持复杂查询、事务、多版本并发控制及丰富的数据类型,适用于各种应用场景。本文介绍 PostgreSQL 的核心特性,并详细说明在多种 Linux 发行版上的安装与配置方法,帮助用户快速部署和使用该数据库系统。
1214 0
|
9月前
|
消息中间件 Kafka Linux
Linux下安装Kafka 3.9.1
本文介绍Kafka 3.9.1版本的安装与配置,包括通过ZooKeeper或KRaft模式启动Kafka。涵盖环境变量设置、日志路径修改、集群UUID生成、存储格式化及服务启停操作,适用于Linux环境下的部署实践。
1190 0
|
11月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
510 5
|
11月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。