总结在linux中postgresql的一些操作
1. 进入postgresql操作页面
[root@zjzs ~]# su postgres
[postgres@zjzs ~]# psql
…
postgres=# \q
2. 创建用户和数据库
1.创建用户
postgres=# create user user_name password ‘user_password’;
2.创建数据库
postgres=# create database user_database owner user_name;
3.授权
postgres=# grant all privileges on database user_datebase to user_name;
3.数据库导入导出命令
1.查找postgesql位置
[root@zjzs ~]# which PostgreSQl
2.定位到postgresql的安装目录bin下
[root@zjzs ~]# cd /data/pgsql-11/bin
3.执行导出命令
[root@zjzs bin]# ./pg_dump -U user_name user_datebase > /root/123.sql
这样就把数据库导出到root下的123.sql文件中了
4.导入数据库文件
1、同样定位到bin文件下
2、执行导入命令
[root@zjzs bin]# ./psql -U user_name user_datebase < /root/123.sql
输入数据库密码开始导入(注意!命令导入前需要创建数据库)
4. postgresql数据库指定数据目录
1.查看现有数据目录
[root@zjzs ~]# su - postgres -c “psql”
postgres=# show data_directory;
2.退出
postgres=# \q
3.关闭数据库服务
[root@zjzs ~]# systemctl stop postgresql-12.service
4.创建新的数据目录
任意有sudo权限的用户或者root用户
[root@zjzs ~]# sudo mkdir /data/postgresql
[root@zjzs ~]# sudo chown -R postgres:postgres /data/postgresql
[root@zjzs ~]# sudo chmod 700 /data/postgresql
5.拷贝原始数据路径下的数据至新目录
切换到postgres用户 确保文件权限正确
[root@zjzs ~]# su postgres
[postgres@zjzs ~]# cp -rf /var/lib/pgsql/12/data/ /data/postgresql/
[postgres@zjzs ~]# sudo vim /usr/lib/systemd/system/postgresql-12.service
6.重新启动服务
[root@zjzs ~]# systemctl daemon-reload
[root@zjzs ~]# systemctl start postgresql-12.service
7.确定配置生效
[root@zjzs ~]# su - postgres -c “psql”
postgres=# show data_directory;