postgresql命令
·
# 1、切换用户
su -i -u postgres
# 上面命令不行,用下面的
su - postgres
# 2、导入sql脚本
# 用户模式下即可导入
psql -U your_user -d your_database -h your_ip -f /home/fsm/xxx.sql
# 3、进入postgres用户后,再进入sql界面
psql
# 或者进入某个数据库,无需输入密码
psql -U your_username -d your_databasename
# 3.1、查看已有数据库
\l
# 3.2、创建数据库
CREATE DATABASE your_database;
# 3.3、创建新用户并设置密码:
CREATE USER your_user WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE your_database TO your_user;
ALTER DATABASE your_database OWNER TO your_user;
# 3.4、修改用户密码
ALTER USER your_user WITH PASSWORD 'your_password';
# 3.5、修改模式所属用户
\c your_database
ALTER SCHEMA your_schema OWNER TO your_user;
# 3.6、删除数据库,先关闭所有链接
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'your_database';
DROP DATABASE IF EXISTS your_database;
# 3.7、退出psql
\q
数据库导出与导入
最好确保导出的数据库与导入的数据库版本一致;
1、导出服务器
# 1、创建所有用户公用文件夹
mkdir alluser
chmod o+w ./alluser
# 2、进入到数据库用户
su - postgres
# 3、导出数据库为sql文件
# 3.1 --no-owner --no-privileges表示不导出角色和权限数据
# 3.2 需要输入数据库用户的密码
# 3.3、如果出现权限错误无法导出,请使用超级用户(postgres)执行pg_dump
pg_dump --no-owner --no-privileges -h 127.0.0.1 -U your_user -d your_database -f /home/alluser/xxx.sql
# 4、下载xxx.sql,复制到导入数据库的服务器
2、导入服务器
# 1、建立所有用户公用文件夹,并将xxx.sql文件上传到该文件夹下
mkdir alluser
chmod o+w ./alluser
# 2、文件赋权限
chmod +x ./xxx.sql
# 3、进入数据库用户
su - postgres
# 4、将文件xxx.sql导入数据库
# 4.1、/home/alluser/output.log 2>&1是输出日志
# 4.2、注意如果数据库存在旧的数据,导入可能报错。所以确保为新建的空数据库
# 4.3、注意不要用navicat工具运行sql文件,可能会报错。
psql -h 127.0.0.1 -U your_user -p 5433 -d your_database -f /home/alluser/xxx.sql > /home/alluser/output.log 2>&1
更多推荐


所有评论(0)