
正文
postgresql怎么退出命令行的简单介绍
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
【PostgreSQL】在 Linux 下操作 PostgreSQL 的指令
切换到 postgres 用户: sudo su - postgres
打开 PostgreSQL 控制台: psql ;退出控制台: quit
管理指令:
其他指令:
相关问答
Q1: 如何在CentOS 7/6.5/6.4 下安装PostgreSQL 9.3 与 phpPgAdmin
PostgreSQL是一个强大开源的对象关系类型数据库系统,它能运行于几乎所有主要的操作系统,包括Linux、Unix(AIX、BSD、HP-UX、SGI IRIX、Mac OS、Solaris、Tru64)、Windows OS。在这篇教程里,我们将学习如何在CentOS7/6.5/6.4 server 中建立PostgreSQL。
1.安装PostgreSQL
首先根据你的服务器架构添加PostgreSQL库:
对CentOS 6.x 32bit:
rpm -Uvh - 1.noarch.rpm
对CentOS 6.x 64bit:
rpm -Uvh
对CentOS 7 64bit:
rpm -Uvh
对于其它的发行版,可查看以下链接并建立库:
使用以下命令来更新库:
yum update
使用以下命令来安装PostgreSQL:
yum install postgresql93-server postgresql93-contrib
使用以下命令来初始化PostgreSQL数据库:
在CentOS 6.x 系统中:
service postgresql-9.3 initdb
在CentOS 7系统中:
/usr/pgsql-9.3/bin/postgresql93-setup initdb
然后启动PostgreSQL服务并使之开机自启:
在CentOS 6.x 系统中:
service postgresql-9.3 start
chkconfig postgresql-9.3 on
在CentOS 7系统中:
systemctl enable postgresql-9.3
systemctl start postgresql-9.3
2.调整Iptables/Firewall
接下来调整防火墙出站规则:
在CentOS 6.x系统中:
vi /etc/sysconfig/iptables
并添加以下行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
退出并保存文件。重启iptables服务:
service iptables restart
在CentOS系统中:
firewall-cmd --permanent –add-port=5432/tcp
firewall-cmd --permanent –add-port=80/tcp
firewall-cmd --reload
3.访问PostgreSQL常用的命令提示符
默认情况下数据库名和用户名都是postgres。切换至用户以执行相关操作:
su – postgres
输入以下命令登陆:
psql
会有以下样例输出:
psql (9.3.5)
Type "help" for help.
Postgres=#
可通过输入\q退出postgresql返回命令终端:
4.设置用户密码
登陆至postgres命令提示符界面
su – postgres
psql
然后使用命令设置密码
postgres=# \password postgres
Enter new password:
Enter it again:
postgres=# \q
输入命令以建立PostgreSQL系统管理工具
postgres=# CREATE EXTENSION adminpack;
CREATE EXTENSION
5.创建用户和数据库
例如:用户名:senthil 密码:centos 数据库名:mydb
转到postgres用户
su – postgres
创建用户senthil
$ createuser senthil
创建数据库
$ createdb mydb
现在登陆至psql提示符界面,为用户senthil设置密码及授权对数据库mydb的访问:
$ psql
psql (9.3.5)
Type "help" for help.
postgres=# alter user senthil with encrypted password 'centos';
ALTER ROLE
postgres=# grant all privileges on database mydb to senthil;
GRANT
postgres=#
6.删除用户和数据库
首先转到postgres界面
su – postgres
输入命令
$ dropdb database-name
删除用户名可输入
$ dropuser user-name
7.配置PostgreSQL-MD5认证
MD5认证需要客户端提供一个MD5-encrypted 密码以便身份验证。你需要编辑 /var/lib/pgsql/9.3/data/pg_hba.conf文件:
vi /var/lib/pgsql/9.3/data/pg_hba.conf
添加或修改的行如下:
[...]
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.1.0/24 md5
# IPv6 local connections:
host all all ::1/128 md5
[...]
重启postgresql服务以应用更改
在CentOS 6.x系统中
service postgresql-9.3 restart
在CentOS 7系统中
systemctl restart postgresql-9.3
8.配置PostgreSQL-Configure TCP/IP
默认情况下,TCP/IP连接是不可行的,所以其他计算机用户不能连接到postgresql。编辑文件 /var/lib/pgsql/9.3/data/postgresql.conf可以允许连接:
vi /var/lib/pgsql/9.3/data/postgresql.conf
找到下面的行:
[...]
#listen_addresses = 'localhost’
[...]
#port = 5432
[...]
把两行都取消并设置为你的postgresql服务器IP地址或设置为“*”监听所有客户端。如下所示:
listen_addresses = '*'
port = 5432
重启以应用更改
在CentOS6.x系统中:
/etc/init.d/postgresql-9.3 restart
在CentOS7系统中:
systemctl restart postgresql-9.3
9.使用phpPgAdmin管理PostgreSQL
phpPgAdmin是使用PHP编写的基于web的管理工具,用于管理PostgreSQL。它只适用与PostgreSQL RPM库。
如果你没有添加PostgreSQL库,你可以添加EPEL库。
可根据下面的链接在CentOS 6.x中建立EPEL库
CentOS 7的话参考下面的链接
使用命令更新库
yum update
现在输入命令安装phpPgAdmin:
yum install phpPgAdmin httpd
注意phpPgAdmin区分大小写,要准确使用上面所示的大小写!
默认你可以使用访问phpPgAdmin。若要远程访问需要继续:
编辑文件/etc/httpd/conf.d/phpPgAdmin.conf
vi /etc/httpd/conf.d/phpPgAdmin.conf
修改如下加粗的部分:
[...]
Alias /phpPgAdmin /usr/share/phpPgAdmin
Location /phpPgAdmin
IfModule mod_authz_core.c
# Apache 2.4
Require all granted
#Require host example.com
/IfModule
IfModule !mod_authz_core.c
# Apache 2.2
Order deny,allow
Allow from all
# Allow from .example.com
/IfModule
/Location
启动或重启Apache服务
在CentOS 6.x系统中
service httpd start
chkconfig httpd on
在CentOS 7系统中
systemctl enable httpd
systemctl start httpd
现在打开浏览器并转到。终于看到下面的界面了!
使用你之前创建的用户登录,我的是用户senthil密码CentOS。
你可能会遇到:Login failed。
这是因为SELLinux可能限制用户连接到PostgreSQL,只需输入以下命令更改即可:
setsebool -P httpd_can_network_connect_db 1
现在你应该能正常登录了。
我的phpPgAdimn如下:
OK!现在你就可以使用图形化界面的phpPgAdmin创建、删除和管理数据库了。
Q2: postgresql命令 linux中怎么退出
直接在命令行输入:quit或者是exist即可完成退出。 备注:其实最简单的方法就是关闭登录窗口,或者切换用户的形式完成退出当前用户的数据库操作。
Q3: 如何退出postgresq数据库
启动数据库服务器(posgres用户)
[postgres@localhost bin]$ postgres D /opt/postgresql/data/ /opt/postgresql/log/pg_serverlog
[]
当然如果设置了环境变量
PGDATA=/opt/postgresql/data
export PGDATA
后可使用pg_ctl工具进行启动:
[postgres@localhost log]$ pg_ctl start l /opt/postgresql/log/pg_serverlog
pg_ctl: another server might be running; trying to start server anyway
pg_ctl: could not start server
Examine the log output
[postgres@localhost log]$
因为之前已经启动所以打印another server might be running此时查看日志有如下信息:
[postgres@localhost log]$ cat pg_serverlog
FATAL: lock file postmasterpid already exists
HINT: Is another postmaster (PID ) running in data directory /opt/postgresql/data?
[postgres@localhost log]$
当然最简的启动方式是
[postgres@localhost ~]$ pg_ctl start
server starting
[postgres@localhost ~]$ LOG: database system was shut down at :: CST
LOG: autovacuum launcher started
LOG: database system is ready to accept connections
如果要在操作系统启动时就启动PG可以在/etc/rcd/rclocal 文件中加以下语句
/opt/postgresql/bin/pg_ctl start l /opt/postgresql/log/pg_serverlog D /opt/postgresql/data
关闭服务器
最简单方法
[postgres@localhost ~]$ pg_ctl stop
waiting for server to shut down done
server stopped
与Oracle相同在关闭时也可采用不同的模式简介如下
SIGTERM
不再允许新的连接但是允许所有活跃的会话正常完成他们的工作只有在所有会话都结束任务后才关闭这是智能关闭
SIGINT
不再允许新的连接向所有活跃服务器发送 SIGTERM(让它们立刻退出)然后等待所有子进程退出并关闭数据库这是快速关闭
SIGQUIT
令 postgres 向所有子进程发送 SIGQUIT 并且立即退出(所有子进程也会立即退出)而不会妥善地关闭数据库系统这是立即关闭这样做会导致下次启动时的恢复(通过重放 WAL 日志)我们推荐只在紧急的时候使用这个方法
SIGKILL
此选项尽量不要使用这样会阻止服务器清理共享内存和信号灯资源那样的话你只能在启动服务器之前自己手工做这件事另外SIGKILL 直接把 postgres 杀掉而不会等它把信号中继给它的子进程因此我们还需要手工杀掉每个独立子进程
使用方法举例
[postgres@localhost ~]$ pg_ctl stop o SIGTERM
LOG: received smart shutdown request
LOG: autovacuum launcher shutting down
waiting for server to shut downLOG: shutting down
LOG: database system is shut down
done
server stopped
[postgres@localhost ~]$
最快速关闭方法kill postgres 进程
[postgres@localhost ~]$ kill INT `head /opt/postgresql/data/postmasterpid`
[postgres@localhost ~]$ LOG: received fast shutdown request
LOG: aborting any active transactions
LOG: autovacuum launcher shutting down
LOG: shutting down
LOG: database system is shut down
附postgre启动后的进程如下:
[postgres@localhost ~]$ ps ef|grep post
root : pts/ :: su postgres
postgres : pts/ :: bash
postgres : pts/ :: /opt/postgresql/bin/postgres
postgres : ? :: postgres: writer process
postgres : ? :: postgres: wal writer process
postgres : ? :: postgres: autovacuum launcher process
postgres : ? :: postgres: stats collector process
postgres : pts/ :: ps ef
postgres : pts/ :: grep post
[postgres@localhost ~]$
postgresql怎么退出命令行的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、postgresql怎么退出命令行的信息别忘了在本站进行查找喔。






