postgresql中怎么用psql命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postgresql中怎么用psql命令相关的知识,希望对你有一定的参考价值。

连接数据库, 默认的用户和数据库是postgres
psql -U user -d dbname

切换数据库,相当于mysql的use dbname
\\c dbname
列举数据库,相当于mysql的show databases
\\l
列举表,相当于mysql的show tables
\\dt
查看表结构,相当于desc tblname,show columns from tbname
\\d tblname

\\di 查看索引

创建数据库:
create database [数据库名];
删除数据库:
drop database [数据库名];
*重命名一个表:
alter table [表名A] rename to [表名B];
*删除一个表:
drop table [表名];

*在已有的表里添加字段:
alter table [表名] add column [字段名] [类型];
*删除表中的字段:
alter table [表名] drop column [字段名];
*重命名一个字段:
alter table [表名] rename column [字段名A] to [字段名B];
*给一个字段设置缺省值:
alter table [表名] alter column [字段名] set default [新的默认值];
*去除缺省值:
alter table [表名] alter column [字段名] drop default;
在表中插入数据:
insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......);
修改表中的某行某列的数据:
update [表名] set [目标字段名]=[目标值] where [该行特征];
删除表中某行数据:
delete from [表名] where [该行特征];
delete from [表名];--删空整个表
创建表:
create table ([字段名1] [类型1] <references 关联表名(关联的字段名)>;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;);
\\copyright 显示 PostgreSQL 的使用和发行条款
\\encoding [字元编码名称]
显示或设定用户端字元编码
\\h [名称] SQL 命令语法上的说明,用 * 显示全部命令
\\prompt [文本] 名称
提示用户设定内部变数
\\password [USERNAME]
securely change the password for a user
\\q 退出 psql

可以使用pg_dump和pg_dumpall来完成。比如备份sales数据库:
pg_dump drupal>/opt/Postgresql/backup/1.bak
参考技术A

连接数据库, 默认的用户和数据库是postgres

psql -U user -d dbname

切换数据库,相当于mysql的use dbname

\\c dbname

列举数据库,相当于mysql的show databases

\\l

列举表,相当于mysql的show tables

\\dt

查看表结构,相当于desc tblname,show columns from tbname

\\d tblname

\\di 查看索引

创建数据库:

create database [数据库名];

找不到 PostgreSQL 命令 psql,添加到 $PATH 时遇到问题

【中文标题】找不到 PostgreSQL 命令 psql,添加到 $PATH 时遇到问题【英文标题】:PostgreSQL command psql not found, trouble adding to $PATH 【发布时间】:2014-05-07 05:21:29 【问题描述】:

我正在尝试将 PostgreSQL 添加到我的 $PATH 变量中。我试过这个看看psql在哪里

whereis psql

我得到一个空响应。我确实安装了 PostgreSQL.app,所以我从 GUI 中单击“打开 psql”,它提示终端打开并显示:

 /Applications/Postgres.app/Contents/MacOS/bin/psql; exit;

所以我尝试将以上内容添加到我的~/.bash_profile 中的$PATH 变量中(这可能有其自身的问题,因为我不知道您是否可以将带有.app 扩展名的路径添加到$PATH)但是当我重新启动终端并执行echo $PATH | grep Postgres.app 我什么都没得到。

【问题讨论】:

【参考方案1】:

来自 Postgres documentation page:

sudo mkdir -p /etc/paths.d && echo /Applications/Postgres.app/Contents/Versions/latest/bin | sudo tee /etc/paths.d/postgresapp

重启你的终端,它就会出现在你的路径中。

【讨论】:

【参考方案2】:

这是一种帮助隔离您可能遇到的问题的方法。

第 1 步:查看是否可以在不使用 Bash 点文件的情况下将 PostgreSQL 添加到 PATH。

$ export PATH=/Applications/Postgres.app/Contents/MacOS/bin:$PATH;
$ which psql

如果可行的话……

第 2 步:验证在启动新用户会话时是否正在获取 ~\.bash_profile

~/.bash_profile 末尾添加以下内容:

echo "From bash_profile.";

现在重新启动 Terminal.appiTerm 并查看是否出现有关您的提示的消息。

如果可行的话……

第 3 步:将 PATH 添加到 ~/.bash_profile

~/.bash_profile:

export PATH=/Applications/Postgres.app/Contents/MacOS/bin:$PATH;

重启终端并运行:

$ which psql

如果您没有看到:

/Applications/Postgres.app/Contents/MacOS/bin/psql

那么可能是时候放弃尝试将 PostgreSQL 作为 Mac 软件包安装并使用 Homebrew。

注意:这是psql 而不是pgsql

【讨论】:

在设置变量和whereis 命令之间是否需要重新启动终端?有没有比关闭和打开 Terminal.app 更合法的重置终端的命令? 不,不要在 步骤 1 中重新启动终端。运行导出 cmd 后,echo $PATH; 返回什么? 我认为是自制时间:)。只是brew install postgresql 吗? 希望我能提供更多帮助。 Postgres.app 的官方安装文档与我的答案postgresapp.com/documentation 非常相似,但我很难过。祝你好运! 无论如何,Homebrew 方法都非常有效。谢谢大家的帮助!

以上是关于postgresql中怎么用psql命令的主要内容,如果未能解决你的问题,请参考以下文章

Postgresql psql脚本执行命令该怎么写

postgresql数据库常规操作管理

PostgreSQL操作-psql基本命令

PostgreSQL 基础知识:psql 提示和技巧

PostgreSQL-psql命令详解

postgresql 数据库有 用sql语句备份的方法吗