Quantcast
Channel: panjj 最新博客
Viewing all articles
Browse latest Browse all 59

使用SSH操作远程PostgreSQL数据库

$
0
0
服务器安装了PostgreSQL 9.2数据库,而数据库不允许外部ip连接;手头只有个SSH账号,怎么操作建立一个数据库呢?今天做了初步的试探。之所以模拟自己的ubuntu服务器环境,因为下面的指令,会与环境有所差别,使用指令之前仔细检查实际的环境参数。

数据库安装路径:
/opt/PostgreSQL/9.2

SSH账号:
178.90.22.11
root
root123

数据库的内部账号:
postgres
1234567


开始动工了,首先在本地终端 用SSH登录到远程服务器终端:
ssh root@178.90.22.11

这时远程会提示数据密码,输入root123回车  完成登陆(第一次可能要自动生成一个密钥,只需回车确认即可)。


这时已经成功进入远程服务器的终端,关键的时刻到了,怎么在终端,建立一个PostgreSQL数据库呢?


我们需要登录到服务器的数据库控制台,才能执行PostgreSQL语句,所以先登录到数据库控制台,我们用psql指令操作:

/opt/PostgreSQL/9.2/bin/psql postgres postgres

诠释:psql在/opt/PostgreSQL/9.2/bin/路径下,postgres postgres是postgres账号登录到postgres 数据库(默认的名称)


这时数据库要求输入数据库的密码(Password for user postgres:),输入1234567回车,成功进入数据库控制台,这时你会看到:
psql.bin (9.2.1)
Type "help" for help.
postgres=#

这时可以建立一个全新的数据库了,比如建立一个名叫2gooDB的,编码是utf-8的,模式为template0的,属于postgres账号的数据库:
在#后输入:
CREATE DATABASE 2gooDB OWNER postgres ENCODING 'utf-8' TEMPLATE template0;

PostgreSQL指令还挺严格的,注意一条语句结尾加上分号,表示语句的结束。
指令参考:http://www.postgresql.org/docs/9.2/static/sql-createdatabase.html

数据建立好了,如果发现起初没有规划好,想删除刚建立的数据库 2gooDB:
DROP DATABASE IF EXISTS 2gooDB;

至于修改数据库,指令选项就多点了,比如:
ALTER DATABASE name RENAME TO new_name;
ALTER DATABASE name OWNER TO new_owner;
ALTER DATABASE name SET TABLESPACE new_tablespace;
....

修改指令还真没有用过,以上三条指令应该好理解,确实没有把握,你只能删除后,再重新建立了。

各数据库之间的切换,MySQL 是use指令,PostgreSQL是

\c dbname

列出该数据库的所有表信息

\d

查看执行一条语句耗时:

\timing

提示 Timing is on.

select id from table1;

结果:Time: 162.181 ms

列出各数据库的信息(数据库名 用户 编码等信息):

\l

数据库已经建立好,剩下的建表,数据初始化,都交给Django来做吧。

最后退出psql控制台指令:

\q

(完)


Viewing all articles
Browse latest Browse all 59

Trending Articles