初次接触Postgresql,安装完Postgresql之后发现网上有很多创建数据库的命令,比如createdb,dropdb等这些简单的命令,无奈打开Postgresql安装目录下的sql Shell命令,发现这些命令并不好用,通过一番了解之后总结如下:
1.psql,createdb,dropdb这些命令是在dos命令下直接可以使用的,当然首先是需要将Postgresql的bin目录配置到环境变量中,你会发现在bin目录下有这些命令的exe文件。如在C:\Users\Administrator>该路径下,直接使用psql,createdb这些命令。
2.如果没有配置关于用户,主机,端口这些环境变量则需要将这些加入到命令行中,如:
C:\Users\Administrator>createdb –h localhost –U postgres–p 5432 demo
点击回车之后,会让输入数据库的密码,输入之后,你可以通过GUI工具查看已经完成了创建。上述命令的意思是:
-h localhost 是为了确定登录的主机
-U postgres 是确定登录数据库的用户名,其中postgres是安装Postgresql数据库时默认的用户
-p 5432 是确定端口号,默认的端口号是5432,如同MysqL的3306
3.为了不用每次使用psql,createdb,dropdb这些命令时都要输入-h,-U,-p这些参数,可以选择在环境变量中加入配置,如下:
PGHOST=localhost 配置登录主机
PGPORT=5432 配置端口号
在环境变量中加入这些配置之后就可以直接使用psql,createdb,dropdb等命令而不需要加入-h,-p这些参数。
ERROR: database"demo" is being accessed by other users
描述: There is 1 other sessionusing the database.
的错误,我要删除的数据库是demo。在GUI工具如:pgAdmin中,我们可以看到数据库是在连接状态,当然可以通过GUI工具直接关闭连接或者删除,当然我们可以通过命令行的方式来处理,首先要关闭指定数据库连接,这里是testdb,如下:
SELECT pg_terminate_backend(pg_stat_activity.pid) FROMpg_stat_activity WHERE datname=’testdb’ AND pid<>pg_backend_pid();
原文链接:https://www.f2er.com/postgresql/193646.html