Postgresql部署及简单操作

这篇具有很好参考价值的文章主要介绍了Postgresql部署及简单操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、介绍

2、什么是PostgreSQL

3、PostgreSQL 的特点

4、数据库定为

5、环境准备 

6、编译安装

6.1 安装依赖包

6.2 下载安装包

6.3 创建用户

6.4 创建 postgresql数据目录并授权

 6.5 上传压缩包并解压

6.6 编译postgresql源码 

6.7 配置环境变量

6.8 初始化数据库

5.9  配置文件修改

6.10 配置服务

 6.11 启动服务

 7、 数据库创建及使用

7.1 在默认配置条件下,本机访问PostgreSQL

7.2 创建数据库新用户如qztest 

7.3 创建用户数据库,如qztestdb

 7.4 将qztestdb数据库的所有权限都赋予qztest

7.5 使用命令 \q 退出psql

7.6 以qztestdb的身份连接数据库qztestdb

7.7 创建表、索引、并插入数据

8、 开启远程访问

8.1 编辑配置文件

8.2 重启数据库服务

8.3 此后即可从其它机器上登录,例如用Navicat for PostgreSQL


1、介绍

PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。

2、什么是PostgreSQL

PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS)。 用于安全地存储数据; 支持最佳做法,并允许在处理请求时检索它们。

PostgreSQL(也称为Post-gress-Q-L)由PostgreSQL全球开发集团(全球志愿者团队)开发。 它不受任何公司或其他私人实体控制。 它是开源的,其源代码是免费提供的。

PostgreSQL是跨平台的,可以在许多操作系统上运行,如Linux,FreeBSD,OS X,Solaris和Microsoft Windows等。

3、PostgreSQL 的特点

PostgreSQL可在所有主要操作系统(即Linux,UNIX(AIX,BSD,HP-UX,SGI IRIX,Mac OS X,Solaris,Tru64)和Windows等)上运行。

PostgreSQL支持文本,图像,声音和视频,并包括用于C/C++,Java,Perl,Python,Ruby,Tcl和开放数据库连接(ODBC)的编程接口。

PostgreSQL支持SQL的许多功能,例如复杂SQL查询,SQL子选择,外键,触发器,视图,事务,多进程并发控制(MVCC),流式复制(9.0),热备(9.0))。

在PostgreSQL中,表可以设置为从“父”表继承其特征。

可以安装多个扩展以向PostgreSQL添加附加功能。

4、数据库定为

Postgresql部署及简单操作,数据库内容集,postgresql,数据库

5、环境准备 

操作系统

centos

CPU

4核

内存

16G

Postgresql版本

postgresql-11.4

6、编译安装

6.1 安装依赖包

yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

6.2 下载安装包

wget https://ftp.postgresql.org/pub/source/v11.4/postgresql-11.4.tar.gz

6.3 创建用户

#查看用户是否存在
id postgres

#添加用户组及用户
groupadd postgres
useradd -g postgres  postgres

#再次查看可以查看对应的uid gid 
id postgres

Postgresql部署及简单操作,数据库内容集,postgresql,数据库

6.4 创建 postgresql数据目录并授权

选择对应的磁盘空间较大的盘创建数据目录

mkdir -p /pg/postgresql/data
chown -R postgres:postgres /pg

 6.5 上传压缩包并解压

rz filename

Postgresql部署及简单操作,数据库内容集,postgresql,数据库

#解压
tar -zxvf postgresql-11.4.tar.gz

6.6 编译postgresql源码 

#进入postgresql解压目录
cd /pg/postgresql-11.4

#编译 指定安装目录
./configure --prefix=/pg/postgresql

Postgresql部署及简单操作,数据库内容集,postgresql,数据库

PostgreSQL配置脚本选项

Postgresql部署及简单操作,数据库内容集,postgresql,数据库

#安装
make && make install

 Postgresql部署及简单操作,数据库内容集,postgresql,数据库

编译后结果如下

Postgresql部署及简单操作,数据库内容集,postgresql,数据库

 至此,postgresql安装完成

6.7 配置环境变量

# 切换到postgres用户
su - postgres

# 编辑postgres用户环境变量
vim .bash_profile

# 添加如下内容
export PGHOME=/pg/postgresql
export PGDATA=/pg/postgresql/data
PATH=$PATH:$HOME/bin:$PGHOME/bin 

# 使环境变量生效
source .bash_profile

Postgresql部署及简单操作,数据库内容集,postgresql,数据库

6.8 初始化数据库

initdb

Postgresql部署及简单操作,数据库内容集,postgresql,数据库

此时,postgresql数据目录下已经生成对应的文件。

#进入postgresql目录
cd /pg/postgresql/data
#查看
ll -h

 Postgresql部署及简单操作,数据库内容集,postgresql,数据库

5.9  配置文件修改

修改数据目录下的postgresql.conf  及 pg_hba.conf文件

postgresql.conf   配置PostgreSQL数据库服务器的相应的参数。

pg_hba.conf        配置对数据库的访问权限

初期测试使用时,可以简单修改部分配置,其他值使用默认值

修改 postgresql.conf

vim postgresql.conf
修改 listen_addresses 为 * ,代表所有主机皆可访问
listen_addresses = '*' 

Postgresql部署及简单操作,数据库内容集,postgresql,数据库

修改 pg_hba.conf(允许任意用户从任意机器上以密码方式访问数据库)

vim pg_hba.conf
添加如下记录
host    all     all             0.0.0.0/0            trust
host    all     all             127.0.0.1/32         trust

Postgresql部署及简单操作,数据库内容集,postgresql,数据库

6.10 配置服务

如需配置为服务启动方式,可以按照如下步骤操作

切换至管理员用户root
# 进入postgresql源码目录
cd /pg/postgresql-11.4/contrib/start-scripts

# 此目录下有各系统的启动目录,需先将其添加执行权限
chmod +x  linux 

# 将启动服务拷贝至启动服务下
cp linux  /etc/init.d/postgresql

 Postgresql部署及简单操作,数据库内容集,postgresql,数据库

Postgresql部署及简单操作,数据库内容集,postgresql,数据库

因启动服务命令里配置上了默认安装路径目录及数据目录,如与默认路径不一致,需手动调整

vim  /etc/init.d/postgresql

修改 prefix及PGDATA 路径

prefix=/pg/postgresql
PGDATA="/pg/postgresql/data"

 Postgresql部署及简单操作,数据库内容集,postgresql,数据库

 6.11 启动服务

a)  通过服务启动postgresql
/etc/init.d/postgresql  start

b)  通过服务关闭postgresql
/etc/init.d/postgresql  stop

Postgresql部署及简单操作,数据库内容集,postgresql,数据库

c)  通过pg_ctl 启动
#  将postgresql安装路径bin目录下的命令赋权给postgres用户
cd  /pg/postgresql/bin
chown -R  postgres:postgres  .

# 切换至postgres用户启动服务
 su - postgres

# 启动服务
pg_ctl -D /pg/postgresql/data/ -l logfile  start

# 关闭服务
pg_ctl -D /pg/postgresql/data/ -l logfile  stop

 Postgresql部署及简单操作,数据库内容集,postgresql,数据库

至此,便可以通过客户端连接数据库进行操作了

数据库创建及使用

 7、 数据库创建及使用

7.1 在默认配置条件下,本机访问PostgreSQL

切换到Linux用户postgres,然后执行psql

psql

Postgresql部署及简单操作,数据库内容集,postgresql,数据库

此时就在数据库postgres中了。使用 psql -d [databasename] 可登录其他数据库。注意:执行psql命令时,必须确认已配置postgresql的环境变量。

7.2 创建数据库新用户如qztest 

postgres=# create user qztest with password 'qztestuat2023!';
CREATE ROLE
注意:语句要以分号结尾。密码要用单引号括起来。

7.3 创建用户数据库,如qztestdb

postgres=# CREATE DATABASE qztestdb OWNER qztest;
----------------------------------------------------------------------
另一种方式创建数据库:createdb qztestdb

 7.4 将qztestdb数据库的所有权限都赋予qztest

postgres=# GRANT ALL PRIVILEGES ON DATABASE qztestdb TO qztest;

7.5 使用命令 \q 退出psql

postgres=# \q
或者输入quit退出

7.6 以qztestdb的身份连接数据库qztestdb

psql -d qztestdb

7.7 创建表、索引、并插入数据

qztestdb=# create table  test1(id int  not null  primary key,name  varchar(20),age int );
CREATE TABLE
qztestdb=# create index idx_test1_name on test1(name);
CREATE INDEX
qztestdb=# insert into test1 values(1,'lisi',28);
INSERT 0 1
qztestdb=# insert into test1 values(2,'测试',20);
INSERT 0 1
qztestdb=# insert into test1 values(3,'前置',22);
INSERT 0 1
qztestdb=# insert into test1 values(4,'chinalife',59);
INSERT 0 1
qztestdb=# insert into test1 values(5,'小新',51);
INSERT 0 1
qztestdb=# insert into test1 values(6,'张三',58);
INSERT 0 1
qztestdb=# insert into test1 values(7,'历史',64);
INSERT 0 1
qztestdb=# insert into test1 values(8,'网二',11);
INSERT 0 1
qztestdb=# insert into test1 values(9,'码子',28);
INSERT 0 1
qztestdb=# insert into test1 values(10,'小红',99);
INSERT 0 1

Postgresql部署及简单操作,数据库内容集,postgresql,数据库

查询表:
qztestdb=# select * from test1;

Postgresql部署及简单操作,数据库内容集,postgresql,数据库

8、 开启远程访问

8.1 编辑配置文件

文件:postgresql.conf


位置:vim /pg/postgresql/data/postgresql.conf
添加/修改:在所有IP地址上监听,从而允许远程连接到数据库服务器:
listening_address: '*'

Postgresql部署及简单操作,数据库内容集,postgresql,数据库

 文件:pg_hba.conf

位置:vim /pg/postgresql/data/pg_hba.conf
添加/修改:允许任意用户从任意机器上以密码方式访问数据库,把下行添加为第一条规则:
host    all             all             0.0.0.0/0               md5

 和上面安装时候配置一样.

8.2 重启数据库服务

pg_ctl -D /pg/postgresql/data/ -l logfile  restart

8.3 此后即可从其它机器上登录,例如用Navicat for PostgreSQL

主机名或IP: 192.*.*.*

端口:          5432

初始数据库:    xxx

用户:          xxx

密码:          ******  

(数据库用户xxf的密码,不是Linux用户xxf的密码)

参考链接一,参考链接二文章来源地址https://www.toymoban.com/news/detail-668967.html

到了这里,关于Postgresql部署及简单操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用docker部署postgreSQL数据库

    随着docker的广泛应用,为了提供便利的管理,PostgreSQL数据库也支持docker的安装方式。下面详细介绍docker安装PostgreSQL数据库的方法。 1、查看下载数据库镜像命令 访问dockerhub官网:https://registry.hub.docker.com/ 地址,下载指定版本的postgresql数据库。 2、执行下载命令 在安装有doc

    2024年02月11日
    浏览(54)
  • postgresql | 数据库| 生成2000W条的简单测试表

    前言: 数据库学习的过程中,很可能需要数据量比较大的表来进行模拟测试,那么,测试表的创建需要遵循的是贴近实际的生产环境,尽量的模仿实际的生产环境。 因此,学习数据库的时候,快速的创建一个具有足够数据量的大表是非常有必要的。 OK,本文将就如何创建一

    2024年02月10日
    浏览(33)
  • Dapper 操作 PostgreSQL 数据库完全指南

    Dapper 是一个高性能的 ORM 框架,可用于简化与数据库的交互。本文将详细介绍如何使用 Dapper 操作 PostgreSQL 数据库,包括连接配置、CRUD 操作以及示例代码。 首先,确保你的项目中已经添加了 Dapper 和 Npgsql 包。你可以使用以下命令进行安装: 在 appsettings.json 中添加 PostgreSQL

    2024年02月11日
    浏览(62)
  • 数据库管理系统PostgreSQL部署安装完整教程

            PostgreSQL是一个开源的关系型数据库管理系统,它支持大量的数据类型和复杂的查询语言,可以用于各种应用程序。它是一个高性能的数据库,可以处理大量的数据,并且具有良好的可扩展性和可靠性。 目录 一.Linux系统安装PostgresSQL(Centos7) 1.更新yun源 2.安装Po

    2024年02月09日
    浏览(74)
  • Linux C++ 链接数据库并对数据库进行一些简单的操作

                    包含了连接数据库的头文件和库文件                 MYSQL 数据库链接句柄                 mysql_init(MYSQL* mysql) 用来初始化数据库连接句柄,需要传入一个句柄并返回一个指向句柄的指针                 mysql_real_connect(连接句柄,用

    2024年02月14日
    浏览(37)
  • MyBatis:使用注解让数据库操作更简单

    目录 一、简介 二、配置 三、基于注解的基本使用 四、测试 总结 在Java开发中,数据库操作是一个常见而重要的任务。为了方便地执行SQL语句,获取结果集,处理异常等,我们通常需要使用JDBC(Java Database Connectivity)API,这是一个标准的数据库访问接口。然而,使用JDBC也有

    2024年02月11日
    浏览(43)
  • navicat导入sql数据库文件的简单操作步骤

    目录 前言必读 一、概念 二、操作步骤 (一)新建连接  (二)新建数据库 (三)数据库导入sql文件 读者手册(必读)_云边的快乐猫的博客-CSDN博客 在很多项目当中都有sql文件导入到MySQL数据库的需要,因为有sql数据库文件,这个项目才能正常运行起来,那么现在就来学习

    2024年02月03日
    浏览(54)
  • python连接并简单操作SQL server数据库

    环境: pycharm 、SQLserver版本2019 1.首先,在pycharm中点击File,找到setting——project:***,点击”+“,引入pymssql库 2.编写代码连接数据库,并对数据库进行查询等简单操作(此处仅展示查询)  3.在sql server中由于之前使用windows验证模式进入数据库管理器,所以要身份验证修改,

    2024年02月08日
    浏览(52)
  • 简单易用,灵活强大:用SQLAlchemy实现Python操作数据库

    什么是SQLAlchemy? SQLAlchemy是一个Python的SQL工具和ORM框架,可以通过Python代码直接操作关系型数据库,也可以使用ORM模型进行对象关系映射。它支持多种数据库,并提供了强大的SQL表达式和查询API。 SQLAlchemy可以分为两个部分:Core和ORM。 Core:提供了底层的SQL表达式和查询API,

    2024年02月04日
    浏览(70)
  • quarkus数据库篇之一:比官方demo更简单的基础操作

    这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 《quarkus数据库篇》系列是《quarkus实战》的子系列,目标是与大家一起在quarkus框架下完成常用的数据库操作,如配置、增删改查、事物等 本篇敢号称 比官方demo更简单 ,是因为官方关于操作数据库的

    2024年02月13日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包