在postgresql中通过命令行执行sql文件
通过命令行执行初始化sql脚本是比较常见的需求,命令行下执行如下操作即可:
若是执行的命名只是创建用户,编辑用户,创建数据库的话可以不指定-d参数。
psql-Uusername-dmyDataBase-a-finit.sql
如果是远程数据库加入-h参数指定主机地址即可
psql-hhost-Uusername-dmyDataBase-a-finit.sql
补充:PostgreSQL操作-psql基本命令
一、建立数据库连接
接入PostgreSQL数据库:psql-hIP地址-p端口-U数据库名
之后会要求输入数据库密码
二、访问数据库
1、列举数据库:\l
2、选择数据库:\c数据库名
3、查看该某个库中的所有表:\dt
4、切换数据库:\cinterface
5、查看某个库中的某个表结构:\d表名
6、查看某个库中某个表的记录:select*fromappslimit1;
7、显示字符集:\encoding
8、退出psgl:\q
列出当前数据库所有表
\dt列出表名
SELECTtablenameFROMpg_tables; WHEREtablenameNOTLIKE'pg%' ANDtablenameNOTLIKE'sql_%' ORDERBYtablename;
列出数据库名
\l或
SELECTdatnameFROMpg_database;
切换数据库
\c数据库名
1、通过命令行查询
\d数据库——得到所有表的名字
\d表名——得到表结构
2、通过SQL语句查询
"select*frompg_tables"
——得到当前db中所有表的信息(这里pg_tables是系统视图)
"selecttablenamefrompg_tableswhereschemaname='public'"
——得到所有用户自定义表的名字(这里"tablename"字段是表的名字,"schemaname"是schema的名字。用户自定义的表,如果未经特殊处理,默认都是放在名为public的schema下)
General \copyrightshowPostgreSQLusageanddistributionterms \g[FILE]or;executequery(andsendresultstofileor|pipe) \h[NAME]helponsyntaxofSQLcommands,*forallcommands \qquitpsql QueryBuffer \e[FILE][LINE]editthequerybuffer(orfile)withexternaleditor \ef[FUNCNAME[LINE]]editfunctiondefinitionwithexternaleditor \pshowthecontentsofthequerybuffer \rreset(clear)thequerybuffer \s[FILE]displayhistoryorsaveittofile \wFILEwritequerybuffertofile Input/Output \copy...performSQLCOPYwithdatastreamtotheclienthost \echo[STRING]writestringtostandardoutput \iFILEexecutecommandsfromfile \o[FILE]sendallqueryresultstofileor|pipe \qecho[STRING]writestringtoqueryoutputstream(see\o) Informational (options:S=showsystemobjects,+=additionaldetail) \d[S+]listtables,views,andsequences \d[S+]NAMEdescribetable,view,sequence,orindex \da[S][PATTERN]listaggregates \db[+][PATTERN]listtablespaces \dc[S][PATTERN]listconversions \dC[PATTERN]listcasts \dd[S][PATTERN]showcommentsonobjects \ddp[PATTERN]listdefaultprivileges \dD[S][PATTERN]listdomains \det[+][PATTERN]listforeigntables \des[+][PATTERN]listforeignservers \deu[+][PATTERN]listusermappings \dew[+][PATTERN]listforeign-datawrappers \df[antw][S+][PATRN]list[onlyagg/normal/trigger/window]functions \dF[+][PATTERN]listtextsearchconfigurations \dFd[+][PATTERN]listtextsearchdictionaries \dFp[+][PATTERN]listtextsearchparsers \dFt[+][PATTERN]listtextsearchtemplates \dg[+][PATTERN]listroles \di[S+][PATTERN]listindexes \dllistlargeobjects,sameas\lo_list \dL[S+][PATTERN]listprocedurallanguages \dn[S+][PATTERN]listschemas \do[S][PATTERN]listoperators \dO[S+][PATTERN]listcollations \dp[PATTERN]listtable,view,andsequenceaccessprivileges \drds[PATRN1[PATRN2]]listper-databaserolesettings \ds[S+][PATTERN]listsequences \dt[S+][PATTERN]listtables \dT[S+][PATTERN]listdatatypes \du[+][PATTERN]listroles \dv[S+][PATTERN]listviews \dE[S+][PATTERN]listforeigntables \dx[+][PATTERN]listextensions \l[+]listalldatabases \sf[+]FUNCNAMEshowafunction'sdefinition \z[PATTERN]sameas\dp Formatting \atogglebetweenunalignedandalignedoutputmode \C[STRING]settabletitle,orunsetifnone \f[STRING]showorsetfieldseparatorforunalignedqueryoutput \HtoggleHTMLoutputmode(currentlyoff) \psetNAME[VALUE]settableoutputoption (NAME:={format|border|expanded|fieldsep|footer|null| numericlocale|recordsep|tuples_only|title|tableattr|pager}) \t[on|off]showonlyrows(currentlyoff) \T[STRING]setHTML