PostgreSQL on Linux安装部署及基本使用
发表于:2024-12-01 作者:千家信息网编辑
千家信息网最后更新 2024年12月01日,◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆PostgreSQL安装部署◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆前言:项目中使用到了Postgr
千家信息网最后更新 2024年12月01日PostgreSQL on Linux安装部署及基本使用◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
◆◆◆◆◆◆◆◆PostgreSQL安装部署◆◆◆◆◆◆◆◆
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
前言:项目中使用到了PostgreSQL,目前只涉及安装部署,及基本使用,通过几天的学习,对PG有个初步了解,做此整理。
环境:PostgreSQL 9.6+Redhat 6.3
一、安装数据库
1、删除系统中旧版本PostgreSQL
(1)查看现有版本:
rpm -qa | grep postgres
(2)检查pg服务,停服务
查看服务:service postgresql-9.4 status
停:service postgresql-9.4 stop
查看进程:ps -ef | grep postgres
停:kill -9 12345
(3)删除现有版本
rpm --nodeps -e postgresql94-libs-9.4.10-1PGDG.rhel6.x86_64
rpm --nodeps -e postgresql94-server-9.4.10-1PGDG.rhel6.x86_64
rpm --nodeps -e postgresql94-contrib-9.4.10-1PGDG.rhel6.x86_64
rpm --nodeps -e postgresql94-9.4.10-1PGDG.rhel6.x86_64
2、下载新版本
https://yum.postgresql.org/9.6/redhat/ 本地址为redhat平台9.6版本下载链接,如需下载其他版本,将9.6改为其它版本即可。如9.3:https://yum.postgresql.org/9.3 然后选择平台
(1)基础安装,需要下载四个介质:
postgresql96-libs-9.6.2-2PGDG.rhel6.x86_64.rpm
postgresql96-server-9.6.2-2PGDG.rhel6.x86_64.rpm
postgresql96-9.6.2-2PGDG.rhel6.x86_64.rpm
(2)扩展安装,两个介质:
postgresql96-contrib-9.6.2-2PGDG.rhel6.x86_64.rpm
postgresql96-devel-9.6.2-2PGDG.rhel6.x86_64.rpm
3、安装PostgreSQL
(1)基础包按照如下顺序安装:
rpm -ivh postgresql96-libs-9.6.2-2PGDG.rhel6.x86_64.rpm
rpm -ivh postgresql96-9.6.2-2PGDG.rhel6.x86_64.rpm
rpm -ivh postgresql96-server-9.6.2-2PGDG.rhel6.x86_64.rpm
(2)扩展:
rpm -ivh postgresql96-contrib-9.6.2-2PGDG.rhel6.x86_64.rpm
rpm -ivh postgresql96-devel-9.6.2-2PGDG.rhel6.x86_64.rpm
注:安装server可能缺少系统依赖包openssl,或需要升级如本次安装server时报错:libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit) is needed by postgresql96-server-9.6.2-2PGDG.rhel6.x86_64
删除旧版本openssl:
rpm -qa opensssl
rpm --nodeps -e openssl
下载openssl-1.0.1e-48.el6.x86_64.rpm安装后,即可继续安装server。
根据提示的具体版本下载安装即可。
4、将初始化数据指定到自定义路径
PostgreSQL默认将数据文件等配置文件初始化到/var/lib/pgsql/9.6/data,实际应用中,我们希望将其放置到自定义的路径下(单独挂载的文件系统),这就需要初始化数据前,将路径指定到自定义路径
修改postgres用户.bash_profile中$PGDATA变量到自定义路径。
注意:这个自定义路径要有postgres:postgres权限,注意赋权。
5、初始化数据库(初始化过程会建Postgres主库,无主库则PostgreSQL无法启动)
service postgresql-9.6 initdb
6、启动数据库
service postgresql-9.6 start
二、使用数据库
0、简介postgreSQL数据库结构,以便有清晰的管理思路。
(1)postgreSQL对象层次:服务器、数据库、模式、表或其他类型对象。而用户与schema清晰分离开了。创建user与创建schema完全不相关。创建user后,赋予其指定数据库/schema的权限,即可访问对应db和shema。
而创建schma是在某个db下进行,创建后,可在schema下创建表等对象,用户对其有对应权限才可以对其做对应操作。
安装postgresql后,启动PostgreSQL服务,进入默认的postgres用户。
1、使用postgres用户(超级用户,类似oracle的sysdba)登录数据库:
#su - postgres ####postgres系统用户即为默认的postgreSQL操作用户,类似oracle的oracle用户。
$psql ####进入postgres用户后执行psql即可登录到pg中,这样默认是登录到:postgres用户 postgres库;类似oracle的sqlplus / as sysdba
注意:安装后,psql可执行程序在/usr/pgsql-9.6/bin/psql,如果postgres用户下不能执行psql,进行如下配置:
(1)查看postgres用户的psql对应环境变量:
whereis psql
返回:psql: /usr/sbin/psql /usr/share/man/man1/psql.1
(2)将该路径软链接到刚安装的psql实际存在的路径/usr/pgsql-9.6/bin/psql
ln -s /usr/pgsql-9.6/bin/psql /usr/sbin/psql
2、创建db,user,并将所建db指定给指定user管理,赋权
CREATE USER postgr WITH PASSWORD 'postgr';
CREATE DATABASE dsgdb OWNER postgr;
GRANT ALL PRIVILEGES ON DATABASE dsgdb to postgr;
3、基本操作
对数据库结构、表结构等的操作可以登陆数据库后使用\?命令列出。下边列出最基本的常用命令:
\l #列出当前PostgreSQL中有哪些数据库,拥有者、字符集、权限等;
\dn #列出当前库中所有schema;
\d #列出当前数据库中的表、视图、序列;
\d tablename #查看指定表的表结构;
select current_database(); #查看当前登陆的数据库;
select * from current_user; #查看当前登陆的用户;
\c dbname username #切换登陆的数据库、用户;
3、使用指定用户登录指定库:
#su - postgres
$psql -d dsgdb -U postgr #psql后边-d参数指定db,-U参数指定登陆用户,其他参数可psql --help查看
set search_path to dsg_test; #设置模式搜索路径为某个schema;默认是public;
set search_path to public; #模式搜索路径切换回默认的public;
◆◆◆◆◆◆◆◆PostgreSQL安装部署◆◆◆◆◆◆◆◆
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
前言:项目中使用到了PostgreSQL,目前只涉及安装部署,及基本使用,通过几天的学习,对PG有个初步了解,做此整理。
环境:PostgreSQL 9.6+Redhat 6.3
一、安装数据库
1、删除系统中旧版本PostgreSQL
(1)查看现有版本:
rpm -qa | grep postgres
(2)检查pg服务,停服务
查看服务:service postgresql-9.4 status
停:service postgresql-9.4 stop
查看进程:ps -ef | grep postgres
停:kill -9 12345
(3)删除现有版本
rpm --nodeps -e postgresql94-libs-9.4.10-1PGDG.rhel6.x86_64
rpm --nodeps -e postgresql94-server-9.4.10-1PGDG.rhel6.x86_64
rpm --nodeps -e postgresql94-contrib-9.4.10-1PGDG.rhel6.x86_64
rpm --nodeps -e postgresql94-9.4.10-1PGDG.rhel6.x86_64
2、下载新版本
https://yum.postgresql.org/9.6/redhat/ 本地址为redhat平台9.6版本下载链接,如需下载其他版本,将9.6改为其它版本即可。如9.3:https://yum.postgresql.org/9.3 然后选择平台
(1)基础安装,需要下载四个介质:
postgresql96-libs-9.6.2-2PGDG.rhel6.x86_64.rpm
postgresql96-server-9.6.2-2PGDG.rhel6.x86_64.rpm
postgresql96-9.6.2-2PGDG.rhel6.x86_64.rpm
(2)扩展安装,两个介质:
postgresql96-contrib-9.6.2-2PGDG.rhel6.x86_64.rpm
postgresql96-devel-9.6.2-2PGDG.rhel6.x86_64.rpm
3、安装PostgreSQL
(1)基础包按照如下顺序安装:
rpm -ivh postgresql96-libs-9.6.2-2PGDG.rhel6.x86_64.rpm
rpm -ivh postgresql96-9.6.2-2PGDG.rhel6.x86_64.rpm
rpm -ivh postgresql96-server-9.6.2-2PGDG.rhel6.x86_64.rpm
(2)扩展:
rpm -ivh postgresql96-contrib-9.6.2-2PGDG.rhel6.x86_64.rpm
rpm -ivh postgresql96-devel-9.6.2-2PGDG.rhel6.x86_64.rpm
注:安装server可能缺少系统依赖包openssl,或需要升级如本次安装server时报错:libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit) is needed by postgresql96-server-9.6.2-2PGDG.rhel6.x86_64
删除旧版本openssl:
rpm -qa opensssl
rpm --nodeps -e openssl
下载openssl-1.0.1e-48.el6.x86_64.rpm安装后,即可继续安装server。
根据提示的具体版本下载安装即可。
4、将初始化数据指定到自定义路径
PostgreSQL默认将数据文件等配置文件初始化到/var/lib/pgsql/9.6/data,实际应用中,我们希望将其放置到自定义的路径下(单独挂载的文件系统),这就需要初始化数据前,将路径指定到自定义路径
修改postgres用户.bash_profile中$PGDATA变量到自定义路径。
注意:这个自定义路径要有postgres:postgres权限,注意赋权。
5、初始化数据库(初始化过程会建Postgres主库,无主库则PostgreSQL无法启动)
service postgresql-9.6 initdb
6、启动数据库
service postgresql-9.6 start
二、使用数据库
0、简介postgreSQL数据库结构,以便有清晰的管理思路。
(1)postgreSQL对象层次:服务器、数据库、模式、表或其他类型对象。而用户与schema清晰分离开了。创建user与创建schema完全不相关。创建user后,赋予其指定数据库/schema的权限,即可访问对应db和shema。
而创建schma是在某个db下进行,创建后,可在schema下创建表等对象,用户对其有对应权限才可以对其做对应操作。
安装postgresql后,启动PostgreSQL服务,进入默认的postgres用户。
1、使用postgres用户(超级用户,类似oracle的sysdba)登录数据库:
#su - postgres ####postgres系统用户即为默认的postgreSQL操作用户,类似oracle的oracle用户。
$psql ####进入postgres用户后执行psql即可登录到pg中,这样默认是登录到:postgres用户 postgres库;类似oracle的sqlplus / as sysdba
注意:安装后,psql可执行程序在/usr/pgsql-9.6/bin/psql,如果postgres用户下不能执行psql,进行如下配置:
(1)查看postgres用户的psql对应环境变量:
whereis psql
返回:psql: /usr/sbin/psql /usr/share/man/man1/psql.1
(2)将该路径软链接到刚安装的psql实际存在的路径/usr/pgsql-9.6/bin/psql
ln -s /usr/pgsql-9.6/bin/psql /usr/sbin/psql
2、创建db,user,并将所建db指定给指定user管理,赋权
CREATE USER postgr WITH PASSWORD 'postgr';
CREATE DATABASE dsgdb OWNER postgr;
GRANT ALL PRIVILEGES ON DATABASE dsgdb to postgr;
3、基本操作
对数据库结构、表结构等的操作可以登陆数据库后使用\?命令列出。下边列出最基本的常用命令:
\l #列出当前PostgreSQL中有哪些数据库,拥有者、字符集、权限等;
\dn #列出当前库中所有schema;
\d #列出当前数据库中的表、视图、序列;
\d tablename #查看指定表的表结构;
select current_database(); #查看当前登陆的数据库;
select * from current_user; #查看当前登陆的用户;
\c dbname username #切换登陆的数据库、用户;
3、使用指定用户登录指定库:
#su - postgres
$psql -d dsgdb -U postgr #psql后边-d参数指定db,-U参数指定登陆用户,其他参数可psql --help查看
set search_path to dsg_test; #设置模式搜索路径为某个schema;默认是public;
set search_path to public; #模式搜索路径切换回默认的public;
数据
用户
数据库
路径
版本
服务
登陆
权限
系统
结构
登录
参数
对象
文件
模式
介质
变量
命令
基础
实际
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
北京亿速云服务器虚拟主机
数据库技术及应用清华
熵增与数据库的关系
安庆睿昱网络技术有限公司
国家网络安全应急体系示范工程
新乡友邦网络技术有限公司
ice服务器怎么开服
检测到正在用移动数据库
十佳简历网络安全
数据库图书馆管理功能设计
软件测试需要的数据库知识
服务器与客户英文简称
农批软件开发公司
网络安全工程师技能等级证书
软件开发工程师证书有哪些
群集服务器工具
红河州网络安全周启动
成都华为服务器
金华集成显卡服务器
郴州网络安全和信息化委员会
重庆默极软件开发有限公司
htap 数据库
两台wincc服务器如何同步
build服务器
万维网服务器的安全配置
对5g应用有利的网络安全股
方舟非主机服务器抄家
检测到正在用移动数据库
企业分析常用数据库
深圳源码软件开发有限公司