生产环境,最好不要装pgAdmin,或者其他可视化的数据库管理软件,防止其他别有用心的人操作数据库,最好使用psql命令来维护,下面是常用的psql命令和操作流程
修改编码
最好使用powershell,更强大一些,颜色也舒服一些。
如果你的数据库使用的是utf-8编码,且数据库存的有中文数据,则需要设置一下powershell的显示编码也为utf-8,如果不设置,查询出来的中文为乱码,powershell的默认编码是GBK,只需要输入以下即可:
#改为utf-8
chcp 65001
#改为gbk
chcp 936
以上是临时修改,下次打开powershell依旧会还原为GBK编码。
连接数据库
psql有很多参数,以下只说明常用的连接参数,具体可输入psql --help
psql -h 127.0.0.1 -p 5432 -U postgres -W 123456 -d testdb
-h HostName主机名,默认是local socket,即127.0.0.1
-p 端口,默认端口是5432,可省略
-U 用户名,默认用户名是你当前电脑的登录用户名,需要修改需要的用户名或者postgres
-W 密码
-w 无密码
-d 需要连接的数据库,可选
当然你可以不指定连接的数据库,即不带-d参数,这时就不会连接到数据库,只是登录成功,后面可以使用\c database
命令进行连接。
设置数据库客户端编码
连接到数据库后,默认的客户端显示编码是GBk,可以使用show client_encoding;
或者\encoding
进行查看。
为了中文显示正常,则需要把数据库客户端编码也设置为utf-8。
#显示数据库客户端编码
\encoding
#设置数据库客户端编码
\encoding utf8
常用数据库管理命令
如果你是在linux环境下,pg有个很好用的命令,可以查看当前数据库信息:pg_lsclusters
。该命令可以查看如:版本(主要版本)、名称、端口、状态(在线或停机)、所有者、数据目录和日志文件。
- 查询sql语法,比如SELECT,CREATE,INSERT, UPDATE等
\h SELECT
- 查看所有数据库
\l
\list
- 切换数据库
\c database
- 查看当前连接数据库中所有表
\d
\dt
- 查看表结构
\d tablename
- 退出
\q
其他参考文章:
https://zhuanlan.zhihu.com/p/699390829
https://blog.csdn.net/Go_going_/article/details/140082355