|
141 | 141 |
|
142 | 142 | ��Portions copyright (c) 1996-2002, PostgreSQL Global Development
|
143 | 143 | Group
|
144 |
| - Portions Copyright (c) 1994-6 Regents of the University of |
| 144 | + Portions Copyright (c) 1994-6 Regents of the University of |
145 | 145 | California��
|
146 | 146 |
|
147 | 147 | ����Ϊ�κ�Ŀ��ʹ�ã��������ĺͷַ���������������ĵ�������ȡ�κη���
|
|
277 | 277 | ������� SQL������ע�������ص������ˡ�����
|
278 | 278 | http://www.commandprompt.com/ppbook ������һ������ PostgreSQL
|
279 | 279 | ���顣��http://www.intermedia.net/support/sql/sqltut.shtm��http://ourw
|
280 |
| - orld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM �� |
| 280 | + orld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM �� |
281 | 281 | http://sqlcourse.com ��һ�����������Ž̡̳�
|
282 | 282 |
|
283 | 283 | ��һ���� "Teach Yourself SQL in 21 Days, Second
|
|
320 | 320 | ��ӵ����ȡ����ǻ���һЩ����û�е����ԣ����û��������ͣ��̳У�
|
321 | 321 | ����Ͷ�汾���п����Լ����������õȡ�
|
322 | 322 |
|
323 |
| - |
324 | 323 | ����
|
325 | 324 | PostgreSQL
|
326 | 325 | ���������úͿ�Դ�����ݿ�������Ƶ����ܡ���ijЩ�������ȽϿ죬���
|
|
338 | 337 | ���ԣ��������ǵķ�����ʷ��ʾ���ǿ����ṩ�ȶ��ģ��ι̵ģ��������
|
339 | 338 | ���ʹ�õİ汾�������������ⷽ�����������������ݿ��������൱�ġ�
|
340 | 339 |
|
341 |
| - |
342 | 340 | ֧��
|
343 | 341 | ���ǵ��ʼ��б��ṩһ���dz���Ŀ�����Ա���û�����������������
|
344 | 342 | ����κ����⡣���Dz��ܱ�֤�϶��ܽ�����⣬���֮�£����� DBMS
|
|
347 | 345 | ��Ҫ�á�����һЩ��ҵ�Ե�Ԥ��װ��֧�֣����Ը��ṩ����Щ��Ҫ���ˡ
|
348 | 346 | �������֧�� FAQ ���� 1.6 С�ڡ���
|
349 | 347 |
|
350 |
| - |
351 | 348 | �۸�
|
352 | 349 | ���Ƕ��κ���;����ѣ��������úͷ�����Ŀ�ġ�����Բ������Ƶ����
|
353 | 350 | �IJ�Ʒ��������ǵĴ��룬������Щ����������İ�Ȩ������������
|
|
667 | 664 |
|
668 | 665 | 4.7) ��β鿴�������������ݿ��Լ��û��Ķ��壿
|
669 | 666 |
|
670 |
| - psql �����෴б������������ʾ��Щ��Ϣ���� \? ����������Щ���� pg_ |
| 667 | + psql �����෴б������������ʾ��Щ��Ϣ���� \? ����������Щ���� pg_ |
671 | 668 | ��ͷ��ϵͳ��Ҳ��������Щ��Ϣ�� psql -l �����г����е����ݿ⡣
|
672 | 669 |
|
673 | 670 | Ҳ���������ļ�
|
|
692 | 689 | ����ʹ����������Ϊֻ�᷵�ر���һС���֡�ʵ���ϣ���Ȼ MAX() �� MIN()
|
693 | 690 | ����ʹ��������ͨ���� ORDER BY �� LLIMIT
|
694 | 691 | ʹ������ȡ�����ֵ����СֵҲ�ǿ��Եģ�
|
695 |
| - SELECT col |
696 |
| - FROM tab |
697 |
| - ORDER BY col [ DESC ] |
698 |
| - LIMIT 1; |
| 692 | + SELECT col |
| 693 | + FROM tab |
| 694 | + ORDER BY col [ DESC ] |
| 695 | + LIMIT 1; |
699 | 696 |
|
700 | 697 | ��ʹ��ͨ������������� LIKE �� ~ ʱ������ֻ�����ض��������ʹ�ã�
|
701 | 698 | * �ַ����Ŀ�ʼ���ֱ�������ͨ�ַ�����Ҳ����˵��
|
|
740 | 737 | ������ ~ �����������ʽƥ�䣬�� ~*
|
741 | 738 | ������Сд�ص��������ʽƥ�䡣��дЩ�ص� LIKE ���ֳ�Ϊ ILIKE��
|
742 | 739 | ��Сд�صĵ�ʽ�Ƚ�ͨ��д����
|
743 |
| - SELECT * |
744 |
| - FROM tab |
745 |
| - WHERE lower(col) = 'abc'; |
| 740 | + SELECT * |
| 741 | + FROM tab |
| 742 | + WHERE lower(col) = 'abc'; |
746 | 743 | ����������ʹ�ñ������������ǿ��Դ���һ���ɱ����õĺ�������:
|
747 |
| - CREATE INDEX tabindex ON tab (lower(col)); |
| 744 | + CREATE INDEX tabindex ON tab (lower(col)); |
748 | 745 |
|
749 | 746 | 4.13) ��һ����ѯ����������һ���ֶ��Ƿ�Ϊ NULL��
|
750 | 747 |
|
751 | 748 | �� IS NULL �� IS NOT NULL ��������ֶΡ�
|
752 | 749 |
|
753 | 750 | 4.14) �����ַ�����֮����ʲô��ͬ��
|
754 | 751 |
|
755 |
| - ���� �ڲ����� ˵�� |
756 |
| - -------------------------------------------------- |
757 |
| - "char" char 1���ַ� character |
758 |
| - CHAR(#) bpchar |
759 |
| - �����ַ�����ʵ�����ݲ��㶨�峤��ʱ���Կո��� |
760 |
| - VARCHAR(#) varchar |
| 752 | + ���� �ڲ����� ˵�� |
| 753 | + -------------------------------------------------- |
| 754 | + "char" char 1���ַ� character |
| 755 | + CHAR(#) bpchar �����ַ�����ʵ�����ݲ��㶨�峤��ʱ���Կո��� |
| 756 | + VARCHAR(#) varchar |
761 | 757 | ָ������ȣ��䳤�ַ��������㶨�峤�ȵIJ��ֲ�����
|
762 |
| - TEXT text �����Ƚ����е�������� |
763 |
| - BYTEA bytea �䳤�ֽ����У��䳤�Ķ��������ݣ� |
| 758 | + TEXT text �����Ƚ����е�������� |
| 759 | + BYTEA bytea �䳤�ֽ����У��䳤�Ķ��������ݣ� |
764 | 760 | ��ϵͳ������һЩ������Ϣ���㽫�����ڲ����ơ�
|
765 | 761 | �����������������"varlena"���䳤�����ͣ�Ҳ����˵����ͷ���ĸ��ֽ��dz��
|
766 | 762 | ȣ�����������ݣ�������ʵ��ռ�õĿռ�������Ĵ�СҪ��һЩ��Ȼ����Щ���
|
|
776 | 772 |
|
777 | 773 | PostgreSQL ֧�� SERIAL
|
778 | 774 | �������͡������ֶ����Զ�����һ�����к����������磬
|
779 |
| - CREATE TABLE person ( |
780 |
| - id SERIAL, |
781 |
| - name TEXT |
782 |
| - ); |
| 775 | + CREATE TABLE person ( |
| 776 | + id SERIAL, |
| 777 | + name TEXT |
| 778 | + ); |
783 | 779 | ���Զ�ת��Ϊ��
|
784 |
| - |
785 |
| - CREATE SEQUENCE person_id_seq; |
786 |
| - CREATE TABLE person ( |
787 |
| - id INT4 NOT NULL DEFAULT nextval('person_id_seq'), |
788 |
| - name TEXT |
789 |
| - ); |
790 |
| - CREATE UNIQUE INDEX person_id_key ON person ( id ); |
| 780 | + CREATE SEQUENCE person_id_seq; |
| 781 | + CREATE TABLE person ( |
| 782 | + id INT4 NOT NULL DEFAULT nextval('person_id_seq'), |
| 783 | + name TEXT |
| 784 | + ); |
| 785 | + CREATE UNIQUE INDEX person_id_key ON person ( id ); |
791 | 786 | �ο� create_sequence �ֲ�ҳ��ȡ�������еĸ�����Ϣ���㻹������ÿ�е�
|
792 | 787 | oid �ֶ���Ϊһ��Ψһֵ���������������Ҫ�㵹���������ݿ⣬����Ҫʹ��
|
793 | 788 | pg_dump �� -o ѡ����� COPY WITH OIDS ѡ���Ա��� OID��
|
|
796 | 791 |
|
797 | 792 | һ�ַ������ڲ���֮ǰ���ú��� nextval() �����ж������������һ�� SERIAL
|
798 | 793 | ֵ��Ȼ������ʽ���롣ʹ�� 4.15.1 �������������α������������
|
799 |
| - new_id = execute("SELECT nextval('person_id_seq')"); |
800 |
| - execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise |
| 794 | + new_id = execute("SELECT nextval('person_id_seq')"); |
| 795 | + execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise |
801 | 796 | Pascal')");
|
802 | 797 | ����������������ѯ��ʹ�ô���� new_id �����ֵ�����磬��Ϊ person
|
803 | 798 | �����������ע���Զ������� SEQUENCE ��������ƽ�����
|
804 | 799 | <table>_<serialcolumn>_seq������ table �� serialcolumn
|
805 | 800 | �ֱ�����ı������ƺ���� SERIAL �ֶε����ơ�
|
806 | 801 | ���Ƶģ��� SERIAL ����ȱʡ�����������ú��� currval() �����ո�ֵ��
|
807 | 802 | SERIAL ֵ�����磬
|
808 |
| - execute("INSERT INTO person (name) VALUES ('Blaise Pascal')"); |
809 |
| - new_id = execute("SELECT currval('person_id_seq')"); |
| 803 | + execute("INSERT INTO person (name) VALUES ('Blaise Pascal')"); |
| 804 | + new_id = execute("SELECT currval('person_id_seq')"); |
810 | 805 | ��������ʹ�ô� INSERT ��䷵�ص� OID
|
811 | 806 | ����ȱʡֵ���������������ȱ����ֲ�Եķ������� Perl �ʹ�ô���
|
812 | 807 | Edmund Mergl �� DBD::Pg ģ��� DBI��oid ֵ����ͨ�� $sth->execute()
|
|
836 | 831 | ֵ�������� OID �ֶ��ϴ���һ�������Կ��ٷ��ʡ�
|
837 | 832 | OID ��һ�����������ݿ�ʹ�õ����������︳ֵ���������С��������� OID
|
838 | 833 | �ijɱ��ֵ����������һ�ݱ��Ĵ��ʼ OID �Ŀ����������������
|
839 |
| - CREATE TABLE new(old_oid oid, mycol int); |
840 |
| - SELECT old_oid, mycol INTO new FROM old; |
841 |
| - COPY new TO '/tmp/pgtable'; |
842 |
| - DELETE FROM new; |
843 |
| - COPY new WITH OIDS FROM '/tmp/pgtable'; |
| 834 | + CREATE TABLE new(old_oid oid, mycol int); |
| 835 | + SELECT old_oid, mycol INTO new FROM old; |
| 836 | + COPY new TO '/tmp/pgtable'; |
| 837 | + DELETE FROM new; |
| 838 | + COPY new WITH OIDS FROM '/tmp/pgtable'; |
844 | 839 | OID
|
845 | 840 | ��4�ֽڵ��������棬�ڳ���40��ʱ�������û���˱�����ֹ�����������Ǵ��
|
846 | 841 | ������˱���֮ǰ����������ơ�
|
|
851 | 846 |
|
852 | 847 | һЩԴ�����һЩ��һ����ĵ�ʹ��һЩ�и������÷����������������һ��
|
853 | 848 | �֣�
|
854 |
| - table, relation, class |
855 |
| - row, record, tuple |
856 |
| - column, field, attribute |
857 |
| - retrieve, select |
858 |
| - replace, update |
859 |
| - append, insert |
860 |
| - OID, serial value |
861 |
| - portal, cursor |
862 |
| - range variable, table name, table alias |
| 849 | + table, relation, class |
| 850 | + row, record, tuple |
| 851 | + column, field, attribute |
| 852 | + retrieve, select |
| 853 | + replace, update |
| 854 | + append, insert |
| 855 | + OID, serial value |
| 856 | + portal, cursor |
| 857 | + range variable, table name, table alias |
863 | 858 | ��һ��ͨ�����ݿ�������б���http://hea-www.harvard.edu/MST/simul/softw
|
864 | 859 | are/docs/pkgs/pgsql/glossary/glossary.html ��
|
865 | 860 |
|
866 | 861 | 4.18) Ϊʲô���յ�����ERROR: Memory exhausted in AllocSetAlloc()����
|
867 | 862 |
|
868 | 863 | ��ܿ�����ϵͳ�������ڴ��ù��ˣ������ں˶�ijЩ��Դ�нϵ͵�����ֵ������
|
869 | 864 | �� postmaster ֮ǰ������������
|
870 |
| - ulimit -d 262144 |
871 |
| - limit datasize 256m |
| 865 | + ulimit -d 262144 |
| 866 | + limit datasize 256m |
872 | 867 | ȡ�������õ�
|
873 | 868 | shell����������ֻ��һ���ܳɹ���������������Ľ������ݶ�������ñȽϸߣ
|
874 | 869 | ����Ҳ�����ò�ѯ��ɡ���������Ӧ���ڵ�ǰ���̣��Լ������������������к
|
|
894 | 889 | 4.21) ����δ���һ��ȱʡֵ�ǵ�ǰʱ����ֶΣ�
|
895 | 890 |
|
896 | 891 | ʹ�� CURRENT_TIMESTAMP��
|
897 |
| - CREATE TABLE test(x int, modtime timestamp DEFAULT |
898 |
| - CURRENT_TIMESTAMP); |
| 892 | + CREATE TABLE test(x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP); |
899 | 893 |
|
900 | 894 | 4.22) Ϊʲôʹ�� IN ���Ӳ�ѯ��ô����
|
901 | 895 |
|
902 | 896 | Ŀǰ������ͨ��Ϊ���ѯ��ÿһ��˳��ɨ���Ӳ�ѯ�Ľ���������Ӳ�ѯ�����ѯ
|
903 | 897 | ������Ӳ�ѯ�����������У������ѯ���غܶ��У�IN
|
904 | 898 | ִ�еúܿ졣Ϊ�˼ӿ����� IN ��ѯ��ִ�У������� EXISTS �滻 IN��
|
905 |
| - SELECT * |
906 |
| - FROM tab |
907 |
| - WHERE col IN (SELECT subcol FROM subtab); |
| 899 | + SELECT * |
| 900 | + FROM tab |
| 901 | + WHERE col IN (SELECT subcol FROM subtab); |
908 | 902 | ����
|
909 |
| - SELECT * |
910 |
| - FROM tab |
911 |
| - WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col); |
| 903 | + SELECT * |
| 904 | + FROM tab |
| 905 | + WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col); |
912 | 906 | ����Ҫ��ִ�еø��죬subcol
|
913 | 907 | Ӧ����һ�������С�����ϣ����δ���ķ����汾����������ơ�
|
914 | 908 |
|
915 | 909 | 4.23) ���������� outer join �������ӣ���
|
916 | 910 |
|
917 | 911 | PostgreSQL ���ñ��� SQL ��֧�������ӡ��������������ӣ�
|
918 |
| - SELECT * |
919 |
| - FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col); |
| 912 | + SELECT * |
| 913 | + FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col); |
920 | 914 | ��
|
921 |
| - SELECT * |
922 |
| - FROM t1 LEFT OUTER JOIN t2 USING (col); |
| 915 | + SELECT * |
| 916 | + FROM t1 LEFT OUTER JOIN t2 USING (col); |
923 | 917 | �������ȼ۵IJ�ѯ�� t1.col �� t2.col �������ӣ����ҷ��?t1
|
924 | 918 | ������δ���ӵ��У���Щ�� t2 ��û��ƥ����У�����[��]����(RIGHT OUTER
|
925 | 919 | JOIN)������ t2 ��δ���ӵ��С���ȫ�����ӣ�FULL OUTER JOIN�������� t1 ��
|
|
928 | 922 | ��INNER JOIN����
|
929 | 923 | �ڴ�ǰ�İ汾�У������ӿ����� UNION �� NOT IN
|
930 | 924 | ��ģ�⡣���磬����������ڱ� tab1 �� tab2 ֮���������ӣ�
|
931 |
| - SELECT tab1.col1, tab2.col2 |
932 |
| - FROM tab1, tab2 |
933 |
| - WHERE tab1.col1 = tab2.col1 |
934 |
| - UNION ALL |
935 |
| - SELECT tab1.col1, NULL |
936 |
| - FROM tab1 |
937 |
| - WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2) |
938 |
| - ORDER BY col1 |
| 925 | + SELECT tab1.col1, tab2.col2 |
| 926 | + FROM tab1, tab2 |
| 927 | + WHERE tab1.col1 = tab2.col1 |
| 928 | + UNION ALL |
| 929 | + SELECT tab1.col1, NULL |
| 930 | + FROM tab1 |
| 931 | + WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2) |
| 932 | + ORDER BY col1 |
939 | 933 |
|
940 | 934 | 4.24) ���ʹ���漰������ݿ�IJ�ѯ��
|
941 | 935 |
|
|
961 | 955 | 4.27) ����Щ���ݸ���ѡ�
|
962 | 956 |
|
963 | 957 | �м�����/�ӷ�ʽ�ĸ���ѡ���Щѡ��ֻ���������ݿ���и��£������ݿ�ֻ�
|
964 |
| - ܽ��ж�����ҳ |
965 |
| - http://gborg.PostgreSQL.org/genpage?replication_research |
| 958 | + ܽ��ж�����ҳ http://gborg.PostgreSQL.org/genpage?replication_research |
966 | 959 | ������г�����Щѡ���
|
967 | 960 | http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php
|
968 | 961 | ���ڽ���һ�����������ƵĽ��������
|
|
0 commit comments