一、通用区别
postgresql 的客户端命令行 psql 命令在很大程度上接受很多和mysql类似的命令行参数,比如 -h 都是帮助。
这里列举一些明显的区别:
mysql -u 对应的是 psql -U,在psql里头用大写的U参数指定数据库用户。
mysql -P (指定端口号)对应的是 psql -p,在psql里头用小写的p参数指定端口号。
mysql -p 指定密码,在psql里不允许命令行上放密码,可以用.pgpass密码文件代替,详情请阅读这里 代替。
二、SQL 级别的
1、mysql 的 show table 在 postgresql 里头是啥?
在 psql 命令行工具里:
\d table_name
不加 table_name 的:
\d
显示全部表。
2、mysql 的 show create table 在 postgresql 里头对应的是啥?
最简单的做法:
pg_dump -h db_ip_address -U db_user -t table_name -s db_name
3、mysql 里头的 show database 在 postgresql 里头对应的是啥命令?
在 psql 命令行工具里:
\l
或者直接在shell命令行下:
psql -h db_ip_address -U db_superuser -l
mysql 里头的 use database 在 postgresql 对应的是啥?
在 psql 命令行工具里:
\c db_name
或者在shell命令行上给psql加上 -d 参数:
psql -h db_ip_address -U db_superuser -d db_name
4、mysql 里头的 auto_increment 在 postgresql 里头对应怎么弄?
postgresql 里头有个类型,叫 serial,等同于 mysql 里头的 int auto_increment 的定义,也就是说,在mysql里头下面的SQL代码:
create table
(
id int auto_increment
)
等效于 postgresql 里头的:
create table
(
id serial
)
postgresql 里头还有个 bigserial,是8字节的整数,如果需要特别大范围的序列号,可以用bigserial。
5、mysql 的 show full processlist 在 postgresql 里头对应是啥?
select * from pg_stat_activity;
爽的地方是,pg_stat_activity是一个系统视图(view),因此你可以对它加条件,甚至是排序什么的,比如:
select client_addr, count(1)
from pg_stat_activity
group by client_addr order by count(1) desc;
看看哪个客户端连接最多。
6、mysql 的 show global variables 对应的 postgresql 命令是什么?
在psql里头执行下面的SQL:
show all;
命令行级别的
7、mysql 的-e 参数,在psql 里头对应的是啥?
psql -h db_ip_address -U dbuser -d db_name -c $'select * from table'
如果需要输出tab分隔的数据,需要利用postgresql的copy命令:
psql -h db_ip_address -U dbuser -d db_name \
-c $'copy(select * from table) to stdout' > some_file
把你的查询放在一个 copy () to stdout 里头,就可以了。psql 支持100%的管道,所以你可以将结果重定向到任何文件,或者中间做任何处理。
本文来在老何的一千零一夜系列
分享到:
相关推荐
虽然两者对XML的支持有限,但在数据访问和管理方面,MySQL提供了如`OPTIMIZETABLE`命令和`myisamchk-analyze`工具,用于回收未使用的空间和更新查询优化器所需的统计数据。 综上所述,MySQL与PostgreSQL在数据库...
总的来说,“dbconvert_mysql_postgresql.zip”是一个专注于数据库迁移的工具,它旨在帮助用户跨越PostgreSQL和MySQL之间的技术鸿沟,使数据迁移变得更为便捷。这个工具的应用可以极大地节省时间,减少潜在错误,...
MySQL、PostgreSQL、Oracle比较; 数据库基础知识.ppt
mysql2postgresql, 转换mysql模式到 PostgreSQL mysql2postgresql转换mysql模式和数据到 PostgreSQL用法使用命令在xml格式中创建转储: mysqldump --xml -u USER_NAME DB_NAME> DUMP_FILE_NAME
本文档详细介绍了MySQL和PostgreSQL数据库高可用的分析实践,涵盖了高可用原理、MySQL高可用和PostgreSQL高可用等方面的知识点。 一、高可用原理 高可用是指系统在无中断的情况下执行其功能的能力,是进行系统设计...
了解如何在Python环境中安装和使用此类库,以及对MySQL和PostgreSQL数据库的基本知识,对于进行跨数据库的数据迁移至关重要。在实际操作中,正确配置数据库连接参数,理解数据迁移的潜在问题,以及熟悉所使用的库的...
报文格式的共同拥有的部位是报文长度,命令类型和具体命令的语句,除这以外 MySQL 会比 PostgreSQL 多一个序列号,然后比较直观的区别则是命令的长度和命令类型两者位置不同。 注意事项 在报文通信的过程中需要...
在本文中我们选用MySQL 4.0.2-alpha与PostgreSQL 7.2进行比较,这样的比较不想仅仅成为一份性能测试报告,因为至少从我个人来看,对于一个数据库,稳定性和速度并不能代表一切。对于一个成熟的数据库,稳定性肯定会...
C#提供了ADO.NET(ActiveX Data Objects .NET)框架,它是一组用于访问数据的类库,允许开发者与多种数据库系统进行交互,包括MySQL和PostgreSQL。ADO.NET提供了如SqlConnection、SqlDataAdapter和SqlCommand等类,...
Qt 5.9.3 MySQL和PostgreSQL本地编译驱动,Qt自带的的MySQL和PostGreSQL驱动在程序出包后,报错:“Driver not loaded”,使用本地源码编译生成的驱动替换后即可正常连接数据库。
国外大牛写的一个mysql数据库转换postgresql的脚本。亲试可以无错误运行。
【将网站从MySQL改为PostgreSQL】的转换过程和原因 MySQL和PostgreSQL都是流行的开源关系型数据库管理系统(RDBMS),但它们之间存在一些显著差异。这篇文章主要讲述了作者为何从MySQL迁移到PostgreSQL,以及迁移...
C#提供了丰富的库和API来与各种数据库系统进行交互,包括MySQL和PostgreSQL。这两种数据库系统在开源社区中非常受欢迎,它们各自具有不同的特点和优势。本文将详细介绍如何使用C#连接到MySQL和PostgreSQL数据库。 #...
医疗信息系统中常用的两种数据库技术是MySQL和PostgreSQL。在这两种数据库技术中,由于它们各自独特的特性和优势,医疗信息系统开发者会根据特定需求选择最合适的数据库解决方案。以下是在医疗领域中MySQL和...
upsert, 在 MySQL,PostgreSQL和SQLite3上,更新 使用INSERT或者 IGNORE,透明地为MySQL和PostgreSQL创建函数( UDF ) ; 更新程序 让我们轻松更新传统 RDBMS,如 MySQL,PostgreSQL和SQLite3-hey外观 NoSQL 。 在...