写在前面
使用的Ubuntu版本:18.04
安装
-
安装postgresql
$ sudo apt-get install postgresql
-
如果失败可以更新一下包
sudo apt-get update
-
-
安装成功后,可以查看psql的版本
psql --version
-
如果安装成功则输出
psql (PostgreSQL) 9.5.25
可以看出,这里的PostgreSQL版本为
9.5
安装成功后,postgresql会自动创建:一个数据库用户
postgres
(默认无密码)、一个数据> 库postgres
、一个Linux用户postgres
-
-
修改一下Linux用户
postgres
的密码sudo passwd postgres
-
切换到Linux用户
postgres
su postgres
-
进入数据库命令行
psql
-
执行成功则输出
psql (9.5.25) Type "help" for help. postgres=#
-
Postgresql的服务默认是开启的,如果没有,可以使用以下命令:
sudo /etc/init.d/postgresql start # 开启服务 sudo /etc/init.d/postgresql stop # 关闭服务 sudo /etc/init.d/postgresql restart # 重启服务
-
-
查看
Postgresql
的数据库目录(数据存储在哪)在psql的命令行下,执行
SHOW data_directory;
postgres=# SHOW data_directory; data_directory ------------------------------ /var/lib/postgresql/9.5/main (1 row)
/var/lib/postgresql/9.5/main
就是数据库目录
配置(可选)
要使其他计算机能够连接到你的 PostgreSQL 服务器
-
编辑该文件
sudo vi /etc/postgresql/9.5/main/postgresql.conf
/etc/postgresql/
9.5
/main/postgresql.conf其中
9.5
是PostgreSQL的版本,要根据本地的版本而定找到
*#listen_addresses = 'localhost'*
,修改为listen_addresses = '*'
如果要允许 IPv4 和 IPv6 连接,请将 ‘localhost’ 替换为 ‘::’
listen_addresses = '::'
修改数据库目录
-
创建一个数据库目录(你需要的位置)
mkdir 目录名
例如我创建的是
mkdir /home/test/pg_db
-
关闭Postgresql服务
sudo service postgresql stop
-
复制数据(从默认数据库目录复制到你指定的数据库目录)
sudo cp -rf postgresql的默认数据库目录 你指定的数据库目录
我执行的是
sudo cp -rf /var/lib/postgresql/9.5/main /home/test/pg_db
-
权限设置
sudo chown -R postgres:postgres 你指定的数据库目录 sudo chmod 700 你指定的数据库目录
我执行的是
sudo chown -R postgres:postgres /home/test/pg_db sudo chmod 700 /home/test/pg_db
-
修改postgresql的
data_directory
(配置文件中指定的数据库目录)sudo vi /etc/postgresql/9.5/main/postgresql.conf
将
data_directory = '/var/lib/postgresql/9.5/main' # use data in another directory
修改为:data_directory = '你指定的数据库目录'
我执行的是
data_directory = '/home/test/pg_db'
-
启动Postgresql服务
sudo service postgresql start