服务器安装了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;
....
数据库安装路径:
/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
(完)