Skip to main content

Postgresql_02 切换数据目录

在Linux系统中,Postgresql的默认数据文件是放在/var/lib/postgresql,但是有时候,我们通过mount命令挂载了一个很大的disk,需要把数据库文件放在挂载的空间上,下边就是切换数据文件的方法:

1.查看默认的数据目录

20180903220036

2.停止Postgresql 数据库

[code]
$ sudo systemctl stop postgresql
$ sudo systemctl status postgresql
Output:
postgresql.service – PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor prese
Active: inactive (dead) since Mon 2016-09-12 15:40:23 IST; 3s ago
Process: 1553 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 1553 (code=exited, status=0/SUCCESS)
Sep 07 19:27:27 ubuntu-16 systemd[1]: Starting PostgreSQL RDBMS…
Sep 07 19:27:27 ubuntu-16 systemd[1]: Started PostgreSQL RDBMS.
Sep 12 15:20:23 ubuntu-16 systemd[1]: Stopped PostgreSQL RDBMS.
[/code]

3.复制默认的数据文件和脚本

[code]
sudo rsync -av /var/lib/postgresql /mnt/data_vol/
[/code]

4.修改配置文件

[code]
$ sudo vi /etc/postgresql/9.5/main/postgresql.conf
Output:
….
….
….
#——————————————————————————
# FILE LOCATIONS
#——————————————————————————
# The default values of these variables are driven from the -D command-line
# option or PGDATA environment variable, represented here as ConfigDir
data_directory = ‘/mnt/data_vol/postgresql/9.5/main’ # use data in another directory
# (change requires restart)
hba_file = ‘/etc/postgresql/9.5/main/pg_hba.conf’ # host-based authentication file
# (change requires restart)
ident_file = ‘/etc/postgresql/9.5/main/pg_ident.conf’ # ident configuration file
….
….
….
[/code]

5.重启数据库

[code]
sudo systemctl start postgresql
[/code]

最后重新执行第一步,看是否修改成功。

Postgresql_01 数据库简介

如果用开源的数据库,大家一定知道Mysql和Postgresql。今天因为业务需要,就安装了一把Postgresql数据库,就顺手整理下。

1.PostgreSQL

PostgreSQL是一个功能强大的开源数据库系统。经过长达15年以上的积极开发和不断改进,PostgreSQL已在可靠性、稳定性、数据一致性等获得了业内极高的声誉。目前PostgreSQL可以运行在所有主流操作系统上,包括Linux、Unix(AIX、BSD、HP-UX、SGI IRIX、Mac OS X、Solaris和Tru64)和Windows。PostgreSQL是完全的事务安全性数据库,完整地支持外键、联合、视图、触发器和存储过程(并支持多种语言开发存储过程)。它支持了大多数的SQL:2008标准的数据类型,包括整型、数值值、布尔型、字节型、字符型、日期型、时间间隔型和时间型,它也支持存储二进制的大对像,包括图片、声音和视频。PostgreSQL对很多高级开发语言有原生的编程接口,如C/C++、Java、.Net、Perl、Python、Ruby、Tcl 和ODBC以及其他语言等,也包含各种文档。

大家也可以参考百度百科或者它的主页postgresql

总而言之:Postgresql是开源的关系型数据库,符合标准的sql规范,所以常见的sql语法和Mysql,Oracle都一样。

2.unbunt 安装

Linux 安装Postgresql很简单,直接用下边的命令就可以:

[code]
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib

[/code]

安装成功后,切换到postgres用户,如果输入psql命令,能看到下边的提示,就说明成功了。
[code]
su postgres
psql
[/code]
20180903220026

3.创建用户

[code]
psql
create user db_user with password ‘password’;
create database commerceDB owner db_user ;
grant all privileges on database commerceDB to db_user ;
[/code]

下边是MySQL和postgresql的大概区别:
MySQL与PostgreSQL比较 哪个数据库更好

开源的组件,没有那个好不好,只有适合不适合自己的业务场景的区别。