PostgreSQL 8.0.0 �����ĵ���PostgreSQL �й� ������ | ||||
---|---|---|---|---|
Prev | Fast Backward | Fast Forward | Next |
psql ��һ�����ն�Ϊ������ PostgreSQL ǰ�ˡ��������㽻���ؼ����ѯ�������Ƿ����� PostgreSQL�� Ȼ����ѯ�Ľ�������⣬�����������һ���ļ������У� ���ṩ��һЩԪ����Ͷ����� shell ��������ʵ����д�ű��Լ��Դ���������Զ�����
�ڶ�ȡ��ʱ��������ӡ�������ݡ� ���ѡ���ڽű�����ʱ�Ƚ���ģʽʱ�����á����ѡ���Ч�����ñ��� ECHO Ϊ all��
�л�Ϊ�Ƕ������ģʽ����ȱʡ���ģʽ�Ƕ���ġ���
���� psql ��ִ��һ����ѯ�ִ��� command��Ȼ���˳�����һ���� shell �ű�������á�
command ������һ����ȫ���Ա������������IJ�ѯ�ִ���Ҳ����˵���������� psql���е����ԣ��� ������һ����б�����������Ͳ����� SQL �� psql Ԫ���Ҫ����ʹ�ã�������ִ����� psql��������� echo "\x \\ select * from foo;" | psql��
��������ִ�������� SQL �����ô������һ�������ﴦ�� �������ִ����������ȷ�� BEGIN/COMMIT ��������Ƿֳɶ������ ����ʹ� psql �ı���������������ͬ�ִ���ͬ��
������Ҫ���ӵ����ݿ����ơ���Ч�������������ϰ� dbname ����Ϊ��һ����ѡ�������
�����з����������IJ�ѯͬʱҲ������������� ��Ч�ڰѱ��� ECHO ����Ϊ queries��
������\d��������б���������ɵ�ʵ�ʲ�ѯ�� �����ʹ���������ѧϰ psql ���ڲ������� ���Ч����psql�����ñ���ECHO_HIDDEN��
ʹ�� filename��Ϊ��������Դ�����ǽ���ʽ�����ѯ�� �ڴ������ļ���psql ���������ѡ���ںܶ���Ч���ڲ����� \i��
��� filename �� -�����ַ�������ӱ������ȡ��
ʹ�����ѡ������ psql < filename ��С������ͨ�������߶��ذ�����Ԥ���������У�����ʹ�� -f����һЩ�ܺõ����ԣ� ������кŵĴ�����Ϣ�����ң�ʹ�����ѡ��п����м�С�������ɵĻ��ᡣ ��һ���棬���������������ֹ����룬 ʹ�� shell ���붨��ķ�ʽ�������ϣ��ܱ�֤���ɺ����Ѿ��õ�����ȫһ�����������ע���ظ����������
ʹ�� separator ��Ϊ��ָ�������Ч�� \pset fieldsep �� \f��
�����������з��������������� �����������б�ܿ�ͷ�������������� Unix �����ֵ�·����
��HTML��ʽ�������Ч�� \pset format html�� \H ���
�г����п��õ����ݿ⣬Ȼ���˳�������������ѡ������ԡ��������ڲ����� \list��
�����в�ѯ��������ļ� filename�����ѡ���Ч������ \o��
������������������ TCP �˿ڻ�ʹ�õ�ȱʡ���� Unix ���������ļ������ ȱʡ���ǻ�������PGPORT��ֵ�����û�����õĻ��DZ����������Ķ˿ڣ�ͨ���� 5432��
������������������ \pset�ķ�����ô�ӡѡ� Ҫע��������������õȺŷָ����ƺ�ֵ���������ÿո� ���Ҫ�������ʽ����Ϊ LaTeX����������� -P format=latex��
���� psql ��������ִ�д������� ȱʡʱpsql����ӡ��ӭ��������������Ϣ�� ���ʹ���˴�ѡ���Щ�������֡����ں� -c ѡ��һ��ʹ��ʱ����Ч���� psql ������ͨ������ QUIET ����ʵ��ͬ��Ч����
ʹ�� separator ��Ϊ��¼�ָ����� ��Ч��\pset recordsep���
���뵥��ģʽ���С���ζ��ÿ����ѯ�ڷ���������֮ǰ��Ҫ��ʾ�û��� �����ѡ��Ҳ����ȡ��ִ�С���ѡ����Ҫ���ڵ��Խű���
���뵥������ģʽ����ʱÿ��������ɻ��з���������ֺ�������
ע��: ע�����ģʽ�Ǹ���Щ���Ҫ������Ե��˵ģ����Dz���������ô�á� ʵ���ϣ��������һ������ʹ�� SQL ��Ԫ���ִ�е�˳��Բ��������û����Բ����������ġ�
�رմ�ӡ�����ƺͽ���м�����ע����Ϣ����Ч�� \t ���
�������������� HTML table ������ѡ� ���� \pset ��ȡϸ�ڡ�
�� psql �ں����ݿ�����֮��ʾ�����û����û����Ϳ��
���ѡ���Ѿ������ˣ���Ϊ���ڸ�������©���� ����ʾ�����ȱʡ�û�������ʾ���������Ҫ��Ŀ�������ȫ�����¡������ǹ������� -U �� -W ѡ��ȡ����
���û� username ����ȱʡ�û������ݿ����ӡ�����Ȼ�����������ô����Ȩ�ޡ���
����һ�α������䣬���ڲ����� \set ������ ע�⣬����б�������ֵ�Ļ�������������������õȺŷָ����ǡ�Ҫ����һ�������� ȥ���Ⱥš�����������������ĺ���Ľν��еģ�����Ϊ�ڲ�ʹ�ñ����ı������ܱ��ٴθ��ǡ�
��ӡ psql �汾Ȼ���˳���
���� psql ����һ�����ݿ�����ǰ��ʾ������ ���ѡ��������Ự��������Ч����ʹ����Ԫ���� \connect �ı��������ӵ����ݿ⡣
�ڵ�ǰ�汾����������Ҫ�������֤��psql �Զ����һ��������ʾ������ΪĿǰ�����������һ����hack��Ϊ������ �Զ�ʶ���п�����ֵ�ʧЧ����������ѡ��ǿ��һ����ʾ���� ���û������������ʾ����������Ҫ�������֤����ô������ͼ��ʧ�ܡ�
����չ���ʽģʽ����Ч�� \x��
����ȡ�����ļ���ϵͳ�� psqlrc ������� ~/.psqlrc ������ȡ����
��ʾ����psql�����в����İ���Ȼ���˳���
���������������ô psql �� shell ���� 0�� ������������������� 1���ڴ��þ���δ�ҵ��ļ��ȣ��� ��������ݿ������ʧЧ���һỰ���ٻ�Ծ�� 2�� ����ű��з��������������� ON_ERROR_STOP �� 3��
psql ��һ����ͨ�� PostgreSQL �ͻ���Ӧ�á�Ϊ����һ�����ݿ����ӣ�����Ҫ֪�����Ŀ�����ݿ⣬ ���������������Ͷ˿ں��Լ���ϣ�����ĸ��û�����ݽ������ӵ���Ϣ�� ���ǿ���ͨ�������в������� psql ��Щ��Ϣ���ֱ��� -d�� -h��-p���� -U�� ����и������������κ�ѡ��أ���ô���ᱻ���ͳ����ݿ������������û�������������ݿ������Ѿ������ˡ����� ����������Щѡ��DZ���ģ���ȱʡ���ڡ������ʡ���������� psql ��ͨ�� Unix �������뱾�������ķ����������� ������û�� unix �����ֵĻ����ϣ�ͨ�� TCP/IP �� localhost ���ӡ� ȱʡ�Ķ˿ں��DZ���ʱȷ���ġ���Ϊ���ݿ������ʹ��ͬ����ȱʡֵ�� �����ڴ���������£�����ܲ���Ҫ�����˿ںš�ȱʡ���û�������� Unix �û����������ݿ�ͬ���� Ҫע������㲻���������û������κ����ݿ�������������ݿ����ԱӦ�ø�������ķ���Ȩ�ޡ�
���ȱʡ��̫��ȷ����ô�����ͨ�����ü����������� PGDATABASE�� PGHOST��PGPORT ��/�� PGUSER Ϊ��Ӧ��ֵ�ķ�����Լ�����û���
�����Ϊ�κ�ԭ����������ݿ����������磬Ȩ������������û�����еȣ��� psql ������һ�������˳���
ͨ��״���£�psql �ṩһ������ psql ������֮���ӵĽ����ݿ����ģ��� =>����ʾ�������磬
$ psql testdb Welcome to psql 8.0.0, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g or terminate with semicolon to execute query \q to quit testdb=>
�û������������ʾ���¼���SQL ��ѯ�� ͨ����������н���������ֹ�ֺų���ʱ�͵��������� һ�е���ֹ��������������������������������Խ�ü��С��������ͳ�ȥ����ִ��û�д��� ����������ʾ����Ļ�ϡ�
���������ڽ���ʱ��psql ͬ������ѯ�� LISTEN �� NOTIFY. ���ɵ��첽֪ͨ�źš�
���� psql ��������κ��Բ������ŵķ�б�ܣ�'\'����ͷ�Ķ������� psql Ԫ�����Щ�������� psql �Լ�����ġ���Щ����Ҳ���� psql �������ڹ������д�ű���ԭ�� Ԫ����������Ľз���б�ܻ�б�����
һ�� psql ����ĸ�ʽ�Ƿ�б�ܺ������һ������ʣ�Ȼ������������� ����������ʺ�����������������հ��ַ������
Ҫ�ڲ�����������հף�������õ����Ű�����Χ������ Ҫ�������IJ�������������ţ�ǰ���һ����б�ܡ� �κΰ����ڵ�������Ķ����ᱻ��һ�������� C ���滻���� \n �����У���\t ��tab����\digits�� \0digits�� \0xdigits ��������ʮ���ƣ��˽��ƣ���ʮ����������ַ����滻����
���һ���������ŵIJ�����ð�ţ�:����ͷ�� ���ᱻ����һ��psql ���������Ҹñ�����ֵ�����ճ�Ϊ�����IJ���ֵ�� ����ע������ ecpg �� pl/pgsql �ı����÷�����
�á������š� ��"backticks" `�� ��Χ�����ݱ�����һ�������д��� shell�� ������������ɾ���˽�β�����У�����������ֵ���������������ݣ��ַ��������ڷ�������Ҳ��Ч��
��Щ������һ�� SQL ��ʶ�����ƣ��磬һ��������Ϊ������ ��Щ������ѭ SQL �����˫���ŵĹ��� ����˫���ŵı�ʶǿ�Ƴ�Сд�� ��˫���ű�����ĸ���ܴ�Сдת�������������ڱ�ʶ����ʹ�ÿհס� ��˫�����У��ɶԵ�˫�����ڽ�������з�����һ��˫���š����磬 FOO"BAR"BAZ ������ fooBARbaz���� "A weird"" name" ��� A weird" name��
�Բ����ķ�����������һ���������ŵķ�б��ʱֹͣ�� �������Ϊ��һ���µ�Ԫ����Ŀ�ʼ���������� \\��˫��б�ܣ���ʶ�����Ľ�β����������������� SQL ���������ڵĻ��������� SQL �� psql����������ɵ���һ�������ϡ� �������κ�����£�һ��Ԫ����IJ�����������������β��
����Ԫ�������Ѷ���ģ�
���Ŀǰ�ı������ʽ�Dz�����ģ��л��ɶ���ġ� ����Ƕ���ģ��л��ɲ����롣����������Ϊ�������ݡ����� \pset ��ȡһ����ͨ�õĽ��������
�ѵ�ǰ����Ŀ¼�ı䵽 directory�� û�в�������ı䵽��ǰ�û��ļ�Ŀ¼��
��ʾ: Ҫ��ӡ����ĵ�ǰ����Ŀ¼��ʹ�� \!pwd��
�����ڴ�ӡ�ı�ı�������Ϊһ����ѯ�Ľ������ȡ�����������á� ���������Ч�� \pset title title. ���������������Դ�� "caption"����Ϊ��ǰֻ��������һ�� HTML ���������ñ��⡣��
��һ���µ����ݿ⽨��һ�����ӣ�ʹ��/����һ���û����� ǰ������ӽ��رա���� dbname �� -����ô�ͼ����ǵ�ǰ���ݿ����ơ�
���ʡ�� username��������ǵ�ǰ�û�����
��Ϊһ������������κβ�������\connect ����ȱʡ�û������ȱʡ���ݿ����ӣ������㲻���κβ������� psql һ������
�������ʧ�ܣ��û��������ʾܾ��ȣ�����ô������ǰ�������--���ҽ����� psql ���ڽ���ģʽ����ˡ� ������е��Ƿǽ����Ľű������������ֹͣ��������һ������ ѡ��������������һ����Ϊ�û�ʹ�÷��㿼�ǣ���һ����Ϊ��֤�ű��������ɲ����˴�������ݿ�İ�ȫ���ƿ��ǵġ�
ִ��ǰ�ˣ��ͻ��ˣ�����������һ������ SQL COPY ����IJ����� ��ͬ���� SQL COPY �Ƿ������ڶ�дָ�����ļ����� psql ��д�ļ�����Ϊ���ص��ļ�ϵͳ�ͷ�����֮���·��ȡ����д�����ݡ� ����ζ���ļ������Ժ�Ȩ���DZ����û��ģ������Ƿ������ģ���˲���Ҫ SQL �����û�Ȩ�ޡ�
������������ģ�� SQL COPY ����ġ� Ҫע������ɴ˶�������һЩ����ķ�������Ӧ���� \copy ��� �����DZ����滻����ͷ�б�ܴ������������á�
\copy table from stdin | stdout �ֱ������������������/д�������ж��ӷ��������ͬһ��Դ��ȡ��ֱ�������� \. �������ﵽ EOF�� ������͵������������ͬ��λ�á�Ҫ�� psql �ı�������������/д�� ʹ�� pstdin ���� pstdout�����ѡ�����ڰѺ� SQL �ű�Ƕ��һ����ļ���������á�
��ʾ: �˲������� SQL COPY ����������Ч�� ��Ϊ�������ݱ���ͨ���ͻ���/���������ӡ����ڴ��������IJ�������һ�ַ��������С�
��ʾ PostgreSQL �İ�Ȩ�Ͱ汾��Ϣ��
����ÿ��ƥ��pattern�Ĺ�ϵ������ͼ�������������У��� ��ʾ�����У����ǵ����ͣ���ռ䣨�������ȱʡ�ģ����κ��������ԣ���NOT NULL��ȱʡ�ȣ���ֻҪ���ڡ� ���ʵ���������ϵ��һ�����κ��Ѷ����������������ΨһԼ����ص�����������Լ�����ʹ�����Ҳͬ����ʾ������ �����ϵ��һ����ͼ������ʾ��ͼ�Ķ��塣 ��"ƥ��ģʽ"�����涨�塣��
�� \d+ ��������Ҳ��һ���ģ�ֻ������ʾ������Ϣ���κ������й�����ע��Ҳ������ʾ�� ���о��DZ��г��ֵ� OID��
ע��: �����������κ�pattern���� \d�� ��Ч�� \dtvs������ʾһ�����б���ͼ�����е��б� ����ȫ�dz��ڷ���Ŀ��ǡ�
�г����п��þۼ��������Լ����Dz������������͡���������� pattern����ôֻ��ʾƥ�䣨������ʽ���ľۼ�������
�г����п��õı�ռ䡣��������� pattern�� ��ôֻ��ʾ��Щƥ��ģʽ�ı�ռ䡣������������ϸ����� +����ôÿ��������֮��ص�Ȩ��һ���г���
�г������ַ���֮��Ŀ���ת������������� pattern�� ��ֻ�г���Щƥ��ģʽ��ת����
�г���������ת����
��ʾ����ƥ�� pattern �����������û�и�����������ʾ���п��Ӷ��� ���Dz���������ֻ����Щ���������ݵĶ������ʾ������ ��"����"�����ۼ��������������������ͣ� ��ϵ������ͼ�����������У����������ʹ������������磺
=> \dd version Object descriptions Schema | Name | Object | Description ------------+---------+----------+--------------------------- pg_catalog | version | function | PostgreSQL version string (1 row)
������ COMMENT SQL �������ɶԶ����������
�г����п�������������� pattern����ôֻ��ʾƥ�����
�г����п��ú������Լ����ǵIJ����ͷ��ص��������͡���������� pattern����ôֻ��ʾƥ�䣨������ʽ���ĺ��������ʹ���� \df+ ����ʽ��ÿ�������ĸ�����Ϣ���������Ժ�����Ҳ����ʾ������
ע��: Ҫ���ҽ��ܻ��߷����ض����͵ĺ�����ʹ����ķ�ҳ������������������ \df �������
Ϊ�˼��ٻ��ң�\df ������ʾ�������͵� I/O ������ ������ͨ��������Щ���ܻ��߷������� cstring �ĺ���ʵ�ֵġ�
�г��������ݿ��顣��������� pattern�� ֻ��ʾ��Щƥ��ģʽ�����֡�
�ⲻ��ʵ�ʵ��������ƣ���ĸ i��s�� t��v��S �ֱ����������index���� ���У�sequence������table������ͼ��view����ϵͳ��system table���� �����������˳�������������������Щ��ĸ�����Щ�����һ���б� ��Ļ S ���б�������ϵͳ�������û�� S����ֻ��ʾ��ϵͳ���� ������������ϸ����� +����ô�����г���ÿ�����������������������еĻ���
��������� pattern����ôֻ�г�ƥ��ģʽ�Ķ���
���� \lo_list�ı�������ʾһ���������б�
�г����п���ģʽ�����ֿռ䣩����������� pattern ��һ��������ʽ������ôֻ�г�ƥ��ģʽ��ģʽ��������ʾ�DZ��ص���ʱģʽ�� ������������ϸ����� +����ôÿ��������֮��ص�Ȩ��ע��һ���г�������еĻ�����
�г����п��ò��������Լ����ǵIJ������ͷ��ص��������͡� ��������� pattern����ôֻ��ʾƥ��ģʽ�IJ�������
����һ�п��õı��������ص�Ȩ�ޡ� ��������� pattern�� ��ôֻ�г����ֿ���ƥ��ģʽ�ı�
�г������������ͻ�ֻ��ʾ��Щƥ�� pattern�ġ���������� \dT+ ��ʽ��ʾ������Ϣ��
�г������������û�����ֻ�г���Щƥ�� pattern ���û���
��������� filename�� ��༭���ļ������ڱ༭���˳��������ݿ����ز�ѯ�������� ���û�и�����������ѵ�ǰ��ѯ���������ݿ�����һ����ʱ�ļ�Ȼ������ͬ��ʽ�༭��
Ȼ�����һ���psql�������·�����ѯ�������� ��ʱ��������������һ�����С��������������������������ű������� \i ���ű����� ���ζ������ò�ѯ�ԷֺŽ�β�����߰����ֺţ������ͻ����ϱ�ִ�С�������ֻ���ڲ�ѯ��������ȴ���
��ʾ: psql ������������ PSQL_EDITOR��EDITOR �� VISUAL���Դ�˳����Ҫ�õ��ĸ��༭�����������Ķ�û�����ã���ô�� Unix ϵͳ��ʹ�� vi���� Windows ϵͳ���� notepad.exe��
��������ӡ��������һ���ո�ָ�����������һ�����С� �����������ʾ�ű������ʱ�����á����磺
=> \echo `date` Tue Oct 26 21:40:57 CEST 1999
����һ��������һ�������ŵ� -n����ô����д����β�����С�
��ʾ: �����ʹ�� \o �����ض�����IJ�ѯ�����������ܻ��� \qechoȡ���������
���ÿͻ����ַ����뷽ʽ����������ʱ������������ʾ��ǰ�ı��뷽ʽ��
Ϊ������IJ�ѯ���������ָ�����ȱʡʱ��������|���� ���� \pset ��ȡ�������ѡ���ͨ�÷�����
�ѵ�ǰ�IJ�ѯ���뻺���������ݷ������������ҰѲ�ѯ������洢����ѡ�� filename ���߰��������һ����������ִ�� command �� Unix shell�� ����һ�� \g ʵ���ϵ�Ч��һ���ֺš�һ�����в�����\g ��"һ����"�� \o����Ĵ���Ʒ��
����ָ�� SQL ���������������û�и��� command ����ô psql ���г��ɻ������������������� command ��һ���Ǻţ�"*"��������ʾ���� SQL ������������
ע��: Ϊ���û�������������ֵ������Ҫ������˼��� \help alter table ����ȷ�ġ�
�� HTML ��ѯ�����ʽ����� HTML ��ʽ�Ѿ������л���ȱʡ�Ķ�����ı���ʽ�� ���������Ϊ�˼��ݺͷ��㣬���� \pset ��ȡ�����������ѡ������ݡ�
���ļ�filename�ж�ȡ���������ݵ����Ӽ������������ִ�в�ѯ��
ע��: �����������Ļ�Ͽ���������У����������������ñ��� ECHO Ϊ all��
�г����������������ݿ�����ֺ����ǵ��������Լ��ַ������롣���������ƺ����һ�� "+" �����Կ��������ݿ��������
�����ݿ����ȡ OID Ϊ loid �Ĵ������д�� filename� ע�������������������� lo_export ��ЩС������ lo_export ����ʱ�����������ݿ���������û�Ȩ�ޣ� �������ڷ��������ļ�ϵͳ�ϡ�
��ʾ: ʹ�� \lo_list �鿴������ OID��
���ļ��洢Ϊһ�� PostgreSQL ������Դ���һ���ö����ע��ѡ����磺
foo=> \lo_import '/home/peter/pictures/photo.xcf' 'a picture of me' lo_import 152801
��Ӧ�����˴����õ�һ�������ʶ 152801������㻹����ʸö���Ӧ�ð���������ʶ��ס�� ��ˣ����ǽ������Ǹ�ÿ���������һ������ɶ���ע�⡣�����Ϳ����� \lo_list �������Щע�⡣
ע������������������˵� lo_import ��һЩ������Ϊ���������DZ����û��ڱ����ļ�ϵͳ�ϲ����� �������Է������û��ڷ������ļ�ϵͳ�ϲ�����
��ʾһ��Ŀǰ�洢�ڸ����ݿ�������� PostgreSQL ���������ǵ������ߵ��б�
�����ݿ���ɾ��OIDΪ loid �Ĵ����
��ʾ: ʹ�� \lo_list ���Ҵ����� OID��
�Ѻ���IJ�ѯ������浽�ļ� filename ����߰Ѻ���IJ�ѯ�������һ�������� Unix shell ִ�� command�� ���û��������������ѯ�������Ϊ�������
"��ѯ���"�������б�������Ӧ�ʹ����ݿ������������ʾ�� ͬ�����и��ָ�����ѯ���ݿ�ķ�б�������������� \d��������û�д�����Ϣ��
��ʾ: Ҫ���ı���ɢ��ѯ���֮���������� \qecho��
��ӡ��ǰ��ѯ���������������
������������Ӱ���ѯ����������ѡ�parameter ����Ҫ���õ�ѡ������һ����value ������Ҳȡ��������
�ɵ��ڵĴ�ӡѡ���У�
���������ʽΪ unaligned��aligned��html�� �� latex֮һ������ʹ��Ψһ����д������Ҳ��ζ��һ����ĸ���ˡ���
"Unaligned" �������룩��һ����¼�������ֶζ������һ�У� �õ�ǰ��Ч����ָ����ָ�������Ҫ����������ЩҪ�����������ȡ�������tab�ָ������ŷָ����� "Aligned" �����룩ģʽ�DZ��ģ�����ɶ��ģ���ʽ�����˵��ı������Ҳ��ȱʡ�� "HTML" �� "LaTeX" ģʽ�ѱ����Ϊ�������ĵ���Ķ�Ӧ������ԡ����ǻ������������ĵ��� �����ܶ��� HTML �仯������̫������ LaTeX ��������һ���������ĵ���װ������
�ڶ�������������һ�����֡�ͨ��������Խ�����Խ��ı߽��Խ����ߣ� �����������ȡ����ʵ�ʵĸ�ʽ����HTMLģʽ� ���������ֱ�ӷ����border=...���ԣ���������ģʽ� ֻ��ֵ 0 ���ޱ߽磩��1 ���ڲ��ָ��ߣ��� 2 �����ܣ������塣
����������չ��ʽ֮���л���������չ��ʽʱ�����е�����������У� �ֶ����������������ҡ� ���ģʽ���������Ž�ͨ����"ˮƽ"ģʽ����Ļʱ�����á�
�����������ģʽ��֧����չ��ʽ��
�ڶ���������һ���ִ������Դ����ֶε�ֵΪ null ʱ�Ĵ�ӡ����� ȱʡ��ʲô��������������������һ�����ִ������� ��ˣ����ǿ���ѡ�� \pset null '(null)'��
�����ڷǶ���ģʽʱ����ָ����� �������ǾͿ��Դ�����������ϣ����tab�ŷָ��������Ҫ���� tab ��ָ����� ���� \pset fieldsep '\t'��ȱʡ��ָ����� '|' ��һ���������ţ���
�л�ȱʡ��ע (x rows)��
�����ڷǶ���ģʽʱ�ļ�¼�ָ�����ȱʡ�ǻ��з���
����ȫ��ʾ��ֻ��ʾ��¼֮���л��� ��ȫ��ʾ����ʾ����ͷ��������ֽ�ע����Ϣ�� �����ģʽ�£�ֻ��ʾ��¼ģʽ��ֻ��ʾʵ�ʵı����ݡ�
Ϊ�κ�����ӡ�ı����ñ��⡣ ��������������ڸ�������һ�������Ա�ǡ� ����������������ñ��⡣
�������������� HTML table �������κ����ԡ����磬������ cellpadding �� bgcolor��ע������ܲ���Ҫ���������� border ����Ϊ�Ѿ��� \pset border ���ù��ˡ�
���Ʋ�ѯ��psql��������ķ�ҳ������������˻������� PAGER�� ���������ָ��������ʹ��ϵͳȱʡ������ more����
����ر��˷�ҳ������ʹ������������ˣ�����ֻ����Ҫ��ʱ��ʹ�÷�ҳ����Ҳ����˵�� ����ǵ��նˣ������Ǹ���ܿ���������Ļƥ�䡣 ��psql �ھ�����ʱ��ҳʱ���Ǻ��������� \pset pager ���ط�ҳ��������Ҳ���ѷ�ҳ������Ϊ always�������������κ�����¶�ʹ�÷�ҳ����
������ ���� �ڿ�����Щ��ͬ��ʽ�����ʾ����
��ʾ: �кܶ�����\pset�Ŀ���������� \a��\C��\H�� \t��\T���� \x��
ע��: �������� \pset�Ǵ���ġ� �Ժ��������ý���ʾ��ǰ��ӡѡ��״̬��
�˳�psql����
���������Ч�� \echo �����������������д���� \o���õ����ͨ����
���ã���գ���ѯ��������
����������ʷ��ӡ�����Ǵ�ŵ� filename�� ���ʡ�� filename�� ��ʷ�����������������ѡ��ֻ���� psql ���ó�ʹ�� GNU Readline ������Ч��
ע��: �ڵ�ǰ�汾������ GNU ��ʷ�⣩�����DZ�����ˣ� ʵ���ϣ��ڳ������ʱ�Զ�������������ʷ��ÿ�� psql ��������װ����������ʷ��
�����ڲ����� name Ϊ value ������������˶���һ��ֵ�� ����Ϊ������Щֵ�����ӽ�������û�и����ڶ���������ֻ���������ֵ��Ҫ����һ��������ʹ�� \unset ���
��Ч�ı������������ַ������ֺ��»��ߡ� ��������� ���� ��ȡϸ�ڡ�
��������������κα���Ϊ����ֵ�� psql��һЩ��������Դ��������ڹ��ڱ����Ľ��������ĵ���
ע��: ������������ȫ�� SQL ���� SET ��һ���ġ�
�л��������/�ֶ�������Ϣͷ���м�����ע�� ���������Ч�� \pset tuples_only���ṩ��ҪΪ�˷��㡣
��������ʹ��HTML���ģʽʱ�������� table ���������ԡ� ���������Ч�� \pset tableattr table_options��
����ǰ��ѯ������������ļ� filename ���߶��� Unix ���� command��
�л���չ�и�ʽ����Ч�� \pset expanded��
����һ�����з���Ȩ���б�����ݿ������б���ͼ�����е��б� ��������κ�pattern������һ��������ʽ�� ֻ��ʾƥ��ı���ͼ�����С�
���� GRANT �� REVOKE �������÷���Ȩ�ޡ� ���� GRANT ��ȡ������Ϣ��
���� \dp��"��ʾȨ��"���ı�����
���ص�һ�������� Unix shell ����ִ�� Unix ���� command�� �������ᱻ��һ�����ͣ�shell ������ȫ��������
��ù��ڷ�б������İ�����Ϣ��
���� \d �������һ�� pattern ����������Ҫ��ʾ�Ķ������֡�* ��ʾ"�κ��ַ�����"�� �� ? ��ʾ"�κε����ַ�"���������ʾ���� Unix �� shell �ļ���ģʽ���ݡ��� ���û�Ҳ����ʹ��������ʽ��ʾ���������ַ���[0-9] �����Ķ�����ƥ��"��������"�� Ҫ���κ���Щģʽƥ���ַ��������淽ʽ�������Ǿ�Ӧ����˫���Ű�Χ���ǡ�
һ�������������ŵģ�����ģʽ�ᱻ������һ��ģʽ����ģʽ�������һ����������ģʽ�� ���磬 \dt foo*.bar* ��ʾ������foo ��ͷ��ģʽ����� bar ��ͷ�ı����֡� ���û�г��־�㣬��ô���ģʽֻƥ���ڵ�ǰģʽ����·���пɼ��Ķ���
�����ȫʡ�� pattern ������ ��ô \d ������ʾ�����ڵ�ǰģʽ����·���пɼ��Ķ��� Ҫ���������ݿ��е����ж���ʹ��ģʽ *.*��
psql �ṩ����ͨ�� Unix ���� shell �����ı����滻���ԡ� ����ֻ�Ǽ�����/��ֵ�ԣ� �����ֵ�������κγ��ȵ��κ�ֵ��Ҫ����һ��������ʹ�� psql Ԫ���� \set��
testdb=> \set foo bar
�ѱ���"foo" ����Ϊֵ "bar"�� Ҫ�������������ݣ��ڱ�����ǰ�����ð��Ȼ�������������б�������
testdb=> \echo :foo bar
ע��: \set �IJ������Ӻ���������һ�����滻���� �������Թ�����Ȥ�����ã��� \set :foo 'something' ������ ��÷ֱ���Perl�� PHP����������"�����ӣ�soft links��"��"���� ����"�� ���ҵ��ǣ����� ���ҵģ���������Щ���첻�����κ����õ����顣��һ���棬 \set bar :foo ��һ���dz���Ч�Ŀ��������ķ�����
����㲻���ڶ�����������\set�� ��ôֻ���������������û��ֵ�� Ҫ���ã���ɾ����һ��������ʹ������ \unset��
psql���ڲ���������������˳�� ������������ĸ�����ֺ��»��ߡ� ��һЩ���ñ����� psql ���������������һЩѡ�����ã� ��Щѡ��������ʱ����ͨ���ı������ֵ���߸ı�һЩӦ�õı���״̬���ı䡣 �����������Щ��������������;���������Dz�������ô������Ϊ��������Կ��ܻ�ܿ��÷dz���֡� ͨ������������Դ��ı��������ɴ�д��ĸ��ɣ����ܻ������ֺ��»��ߣ��� Ϊ�˱�֤��δ��������ȵļ����ԣ������ʹ�������ı����� ������һ����������Դ��ı����б�
����� on��ȱʡ������ôÿ�� SQL ����ڳɹ���ɺ��Զ��ύ�� Ҫ�Ƴ�����ģʽ�µ��ύ�����������һ�� BEGIN ���� START TRANSACTION SQL ��� ����� off ����δ���ã�SQL ������ύ��֪������ȷ�ط��� COMMIT ���� END�� �ر��Զ��ύ��ģʽ��ͨ��Ϊ����ȷ����һ�� BEGIN ʵ�ֵģ� ���Ƿ����κ���δ��һ��������в����Լ����� BEGIN �������������������Ҳ������Щ�������������ִ�е����� ������ VACUUM����ǰ�档
ע��: �ڹر��Զ��ύ��ģʽ�£��������ȷ�����κ�ʧ�ܵ���������ִ�� ABORT ���� ROLLBACK�� ��Ҫע������㲻�ύ���˳��Ự����Ĺ����ᶪʧ��
ע��: �Զ��ύ��ʽ�� PostgreSQL ��ͳ����Ϊ�� ���ǹر��Զ��ύ���ӽ� SQL �淶�������ϲ���ر��Զ��ύ����Ӧ������� .psqlrc �ļ�����������
�����������ŵ����ݿ����ơ� ÿ������һ�����ݿ����ᶼ���������ֵ���������������������ǿ���ɾ����
�����Ϊ all�� ����Ļ������Լ��̻���һ���ű����������ڷ�����ִ��ǰ��д��������� Ҫ�ڳ�������ʱ������Щ��ʹ�� -a�������Ϊ queries�� psql ֻ���ڲ�ѯ����������֮ǰ��ӡ������ ʵ��������ܵ�������ѡ���� -e��
�������������������һ����б�������ѯ���ݿ�ʱ��������ʾ��ѯ�� ���������ѧϰ PostgreSQL �ڲ��Ķ������������Լ��ij������ṩ���ƹ��ܡ���������øñ�����ֵΪ "noexec"����ѯֻ����ʾ��������ʵ���ϲ����͵���������ִ�С�
��ǰ�Ŀͻ����ַ������롣
��������������Ϊ ignorespace�� �Կո�ʼ���н����������ʷ�б� �������Ϊ���� ignoredups�� ����ǰ��ʷ��¼��ƥ�����Ҳ���������ʷ��¼��ֵ ignoreboth�����������Ľ�ϡ� ���ɾ���˱���������ֵΪ�κ��������ֵ��ͬ�Ķ����� ���н���ģʽ������ж�����������ʷ�б�
ע��: ����������ܵش� Bash ���������ġ�
����������ʷ�������ĸ�����ȱʡֵ�� 500��
Note: ����������ܵش� Bash���������ġ�
��ǰ�������ӵ����ݿ������������ ������ÿ���������ݿ�����ʱ�������������������õģ����ǿ���ɾ����
���ɾ���˱�������һ�������� psql�Ự����һ�� EOF ��ͨ���� Control-D������ֹӦ�á��������Ϊһ������ֵ����ô��Ӧ����ֹǰ����ֵ�� EOF �ַ��������ԡ� ��������˴˱�������û������ֵ��ȱʡ�� 10��
ע��: ����������ܵش� Bash ���������ġ�
���Ӱ���oidֵ����Ϊ��һ�� INSERT �� lo_insert ����ص�ֵ�� �˱���ֻ��֤����һ�� SQL ����Ľ����ʾ֮ǰ��Ч��
ȱʡʱ������ǽ����Ľű�����һ��������һ������� SQL ��������ڲ�Ԫ��������������С� ���� psql �Ĵ�ͳ���ԣ� ������ʱ�����Dz�̫ϣ���������������������������ű���������ֹͣ�� ����ýű��Ǵ�����һ���ű����õģ��Ǹ��ű�Ҳ�ᰴͬ���ķ�ʽֹͣ�� ��������Ľű����Ǵ�һ�ν����� psql �Ự�е��õĶ����� -f ѡ����õģ�psql �����ش������ 3����ʾ�������������������������𣨴������ 1����
��ǰ���������ӵ����ݿ�������Ķ˿ڡ� ������ÿ���������ݿ�����ʱ�������������������õģ����ǿ���ɾ����
��Щָ��psql ��ʾ����ʾ������ȥ��ʲô�� ��������� ��ʾ����
���������Ч��������ѡ�� -q�� �����ڽ���ģʽ��û��ʲô�á�
���������Ч������������ѡ�� -S�������������ʱɾ������������
���������Ч��������ѡ�� -s��
��ǰ�����������ӵ����ݿ��û��� ������ÿ���������ݿ�����ʱ�������������������õģ����ǿ���ɾ��/���á�
���ѡ���������Ϊֵ default��verbose������ terse �Կ��ƴ���������С�
һ�����ӵ� psql ��������������������������滻��"����"��������� SQL ��䡣���������ͬ�����DZ�����ǰ���һ��ð�ţ�:����
testdb=> \set foo 'my_table' testdb=> SELECT * FROM :foo;
�����ѯ��my_table��������ֵ�����ֿ����ģ� �������������������ԳƵ����Ż�б���������뱣֤������Ķ�����������ġ� �����滻�������������������� SQL ������淢����
����������ܵ�һ��ʱ�ֵ�Ӧ����ͨ��ʹ��һ������������������ OID ����һ��������泡���� ��һ�������õ�������Ƶĵط��ǰ�һ���ļ������ݿ�����һ���ֶ�����ȥ�� ���Ȱ��ļ�װ�ص�һ������Ȼ����������������
testdb=> \set content '\'' `cat my_file.txt` '\'' testdb=> INSERT INTO my_table VALUES (:content);
���������һ������������ my_file.txt ���ܰ��������š���Щ��Ҫ�����������ڴ��������ʱ���ᵼ������� ����ʹ�ó��� sed�����������
testdb=> \set content '\'' `sed -e "s/'/\\\\\\'/g" < my_file.txt` '\''
�۲���ȷ�����ķ�б�ܣ�6����������������������� psql ���������к����� sed -e "s/'/\\\'/g" < my_file.txt ���ݸ�shell�� shell ����˫������Ķ������䴦��Ȼ���ò��� -e �� s/'/\\'/gִ�� sed���� sed������Щʱ�� ������˫��б���滻Ϊ������б��Ȼ������滻�� ������ʱ������Ϊ���� Unix ����ʹ��ͬһ�������ַ��Ǹ����¡� �����з����ζ����ʵ������ܲ��ò��������з�б�ܣ���Ϊ SQL �ı�����ͬ��Ҳ�������ֽ��͡� ��������������������ⲿ���ļ���
��Ϊð��Ҳ���ԺϷ��ij����� SQL �����������������Ӧ�ã� ���û�����ñ������ַ����� "ð��+����" ���ᱻ�ı䡣 ���κ�������㶼�����÷�б������ð���Ա��������ڱ����͡� ��������ð����� SQL ����Ƕ���ѯ���Եı����� ECPG����������Ƭ�κ�����ת����ð����� PostgreSQL ��չ������г�ͻ����
psqlʹ�õ���ʾ�����Ը������ϲ�ÿͻ������������� PROMPT1��PROMPT2���� PROMPT3 ����������ʾ������۵��ִ��������������С�Prompt 1 �� psql ����һ��������ʱ��ʹ�õ�������ʾ���� Prompt 2 ����һ�����������ڴ���������ʱ����Ϊ��ѯû����һ���ֺŽ�����������û�йرգ���ʾ����ʾ���� Prompt 3 ��������һ�� SQL COPY ����͵ȴ������ն��ϼ����¼ʱʹ�á�
��Ӧ����ʾ��������ֵ�ǰ������ӡ�ģ���������һ���ٷֺţ�%������ʱijЩ�������ı����滻�� �滻Ϊ����ȡ������һ���ַ����Ѷ�����滻�ǣ�
���ݿ������������ȫ�������������������������ͨ�� Unix �����ֽ��еľ��� [local]�� ������� Unix �����ֲ��DZ����ȱʡλ�ã����� [local:/dir/name]��
���ݿ��������������ɾȥ��һ�������IJ���ʣ�µĶ����� �������������ͨ�� Unix �����֣����� [local]��
���ݿ���������������Ķ˿ںš�
���ݿ�Ự���û����� �����ֵ����չ������һ�����ݿ�Ự��������Ϊ SET SESSION AUTHORIZATION ������ı䡣��
��ǰ���ݿ����ơ�
���� %/�� ��������ݿ������ȱʡ���ݿ������"~" �������ߣ�tilde������
����Ự�û������ݿⳬ���û���ʹ�� "#"��������">"�� �����ֵ����չ������һ�����ݿ�Ự��������Ϊ SET SESSION AUTHORIZATION ������ı䡣��
���� prompt 1 ͨ���� =����������ǵ���ģʽ���� ^��������Ự�����ݿ�Ͽ������ \connect ʧ�ܿ��ܷ������� !������ prompt 2 �����б� -��*��һ�������ţ�һ��˫���Ż���һ����Ԫ�����棬��ȡ���� psql�Ƿ�ȴ���������루��Ϊ��ѯû����ֹ����������һ�� /* ... */ע�����棬������Ϊ�������Ż�����Ԫ����չ���棩������ prompt 3 �����в����ͳ��κζ�����
����״̬�����������������һ�����ִ���������������� *�� �����һ��ʧ�ܵ���������� !���������ж�����״̬ʱΪ ? �����磬��Ϊû�����ӣ���
��� digits �� 0x ��ͷ�� ��ô�����ַ������ͳ�һ��ʮ���������ֲ����滻Ϊ��Ӧ��ʮ�������룩���ַ��� �����һ�������� 0�����ַ������ͳ�һ���˽������ֲ����滻Ϊ��Ӧ�ģ��˽����룩���ַ��� ������Ϊ��һ��ʮ�������֡�
psql����name��ֵ������ ���� �ڻ�ȡϸ�ڡ�
command������� ������ͨ����"�����ţ�back-tick��" �滻��
��ʾ�������ն˿����ַ�����Щ�ַ����Ըı���ɫ��������������ʾ�ı��ķ�� ���߸ı��ն˴��ڵı��⡣Ϊ���� Readline ���б༭������ȷ���У� ��Щ���ɴ�ӡ�Ŀ����ַ�������Ƴɲ��ɼ��ģ��������� %[ �� %] ��Χ���ǡ� ����ʾ������ܳ�����Щ�����Ķ����ԡ�
testdb=> \set PROMPT1 '%[%033[1;33;40m%]%n@%/%R%[%033[0m%#%] '
�����Ľ������ VT100 ���ݵĿ���ʾ��ɫ���ն��ϵ�һ�����壨1;���ڵ��֣�33;40����
Ҫ����ʾ�������ٷֺţ�����%%��ȱʡ��ʾ����Ч�� '%/%R%# ' ���� prompts 1 �� 2���Լ�'>> ' ���� prompt 3��
ע��: ����������ܵش�tcsh ���������ġ�
psql Ϊ�˱༭�ͼ��������еķ���֧�� Readline ����ʷ�⡣ ������ʷ�� psql �˳���ʱ���Զ����棬�� psql ������ʱ��װ�ء� ��֧�� Tab ���룬���ܸò�����������һ�� SQL �������ر��ġ� �����ijЩԭ���㲻ϲ�� tab ���룬��������漸�з�����ļ�Ŀ¼��һ���� .inputrc ���ļ���ر�������ԣ�
$if psql set disable-completion on $endif
���ⲻ��psql �����ԣ� �� Readline �ġ��ο������ĵ���ȡ����ϸ�ڡ���
�����ѯ�����һҳ��Ų��£���ô���DZ����������� ���͵�ֵ�� more ���� less�� ȱʡ����ƽ̨��صġ����ǿ����� \pset ����رշ�ҳ����
ȱʡ���ӵ����ݿ�
ȱʡ���Ӳ���
\e ����ʹ�õı༭������Щ�����ǰ��������˳����ģ��������������ʹ�á�
\! ����ִ�е����
�洢��ʱ�ļ���Ŀ¼��ȱʡ�� /tmp��
������֮ǰ��psql ��ͼ��ȡϵͳ�� psqlrc �ļ���ִ�������û���Ŀ¼���ļ� ~/.psqlrc �������� ���� Windows ��û��������ļ����ֽ� %APPDATA%\postgresql\psqlrc.conf���� ���� PREFIX/share/psqlrc.sample ��ȡ�������ȫϵͳ���ļ�����Ϣ�� �ɽ����������ÿͻ��˻��߷������ķ��ʹ�� \set��SET�����
ϵͳ�� psqlrc ���û��Լ��� ~/.psqlrc ������ͨ���ں��渽��һ�����ߺ� PostgreSQL �汾�ŵķ��������汾��أ� ���� ~/.psqlrc-8.0.0�� ƥ��汾��ص��ļ����ް汾���ļ����ȶ�ȡ��
��������ʷ�洢�� ~/.psql_history�������� Windows ���� %APPDATA%\postgresql\psql_history��
һЩ psql�����ڰ汾����һ������ĸ�ķ�б�����Ԫ����ĵ�һ������ֱ�Ӹ���������棬 �����ÿհ�������ڼ�����ԭ�����������Ȼ��ijЩ�̶��ϱ�֧�֣������Ҳ�����������ϸ���ͣ���Ϊ�Ҳ���������ʹ�á� ����������յ�Ī���������Ϣ����������÷�������
testdb=> \foo Field separator is "oo".
���ܲ�������Ҫ�Ķ�����
psql ֻ����ͬ�汾�ķ�����ƽ�ȵع����� �ⲻ��ζ��������ϻ���ȫʧ�ܣ����ǿ�����С�Ļ��߲���ôС�����⡣ ����������İ汾��ͬ����б���������ر�����ʧЧ�ġ�
psql ����һ��"����̨Ӧ��"�ķ�ʽ�����ġ� ��Ϊ Windows ����̨���ں�ϵͳ��������ʹ�ò�ͬ�ı��룬 ������ psql ��ʹ�� 8 λ�ַ���ʱ������ȡ�����ע���ʩ�� ��� psql ��һ��������Ŀ���̨����ҳ�� ��ô����������ʱ��ᾯ���㡣Ҫ�Ŀ���̨����ҳ�����������DZ������ģ�
ͨ������ cmd.exe /c chcp 1252 ���ô���ҳ����1252 �������ڵ���Ĵ���ҳ�����ɺ��������ֵ����ע������ GB2312 �Ĵ���ҳ�� 936���� �����ʹ�� Cygwin��������� /etc/profile ���������������
�ѿ���̨��������Ϊ "Lucida Console"����Ϊ��դ���壨�������壩������ ANSI ����ҳ�¹�����
��һ��������ʾ����ΰ�һ����ѯ�ֳɶ���н������롣ע����ʾ���ı仯��
testdb=> CREATE TABLE my_table ( testdb(> first integer not null default 0, testdb(> second text) testdb-> ; CREATE TABLE
�����ٿ������壺
testdb=> \d my_table Table "my_table" Attribute | Type | Modifier -----------+---------+-------------------- first | integer | not null default 0 second | text |
����ʾ����ɸ���Ȥ�Ķ�����
testdb=> \set PROMPT1 '%n@%m %~%R%# ' peter@localhost testdb=>
����������������˱����뿴һ�ۣ�
peter@localhost testdb=> SELECT * FROM my_table; first | second -------+-------- 1 | one 2 | two 3 | three 4 | four (4 rows)
������� \pset �����ò�ͬ�ķ�����ʾ��
peter@localhost testdb=> \pset border 2 Border style is 2. peter@localhost testdb=> SELECT * FROM my_table; +-------+--------+ | first | second | +-------+--------+ | 1 | one | | 2 | two | | 3 | three | | 4 | four | +-------+--------+ (4 rows) peter@localhost testdb=> \pset border 0 Border style is 0. peter@localhost testdb=> SELECT * FROM my_table; first second ----- ------ 1 one 2 two 3 three 4 four (4 rows) peter@localhost testdb=> \pset border 1 Border style is 1. peter@localhost testdb=> \pset format unaligned Output format is unaligned. peter@localhost testdb=> \pset fieldsep "," Field separator is ",". peter@localhost testdb=> \pset tuples_only Showing only tuples. peter@localhost testdb=> SELECT second, first FROM my_table; one,1 two,2 three,3 four,4
�������ọ̈���д�����
peter@localhost testdb=> \a \t \x Output format is aligned. Tuples only is off. Expanded display is on. peter@localhost testdb=> SELECT * FROM my_table; -[ RECORD 1 ]- first | 1 second | one -[ RECORD 2 ]- first | 2 second | two -[ RECORD 3 ]- first | 3 second | three -[ RECORD 4 ]- first | 4 second | four