Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
####### # # E-scripts on PostGres. # # Note 1: use the eev command (defined in eev.el) and the # ee alias (in my .zshrc) to execute parts of this file. # Executing this file as a whole makes no sense. # An introduction to eev can be found here: # # (find-eev-quick-intro) # http://angg.twu.net/eev-intros/find-eev-quick-intro.html # # Note 2: be VERY careful and make sure you understand what # you're doing. # # Note 3: If you use a shell other than zsh things like |& # and the for loops may not work. # # Note 4: I always run as root. # # Note 5: some parts are too old and don't work anymore. Some # never worked. # # Note 6: the definitions for the find-xxxfile commands are on my # .emacs. # # Note 7: if you see a strange command check my .zshrc -- it may # be defined there as a function or an alias. # # Note 8: the sections without dates are always older than the # sections with dates. # # This file is at <http://angg.twu.net/e/postgres.e> # or at <http://angg.twu.net/e/postgres.e.html>. # See also <http://angg.twu.net/emacs.html>, # <http://angg.twu.net/.emacs[.html]>, # <http://angg.twu.net/.zshrc[.html]>, # <http://angg.twu.net/escripts.html>, # and <http://angg.twu.net/>. # ####### # «.tutorial-2023» (to "tutorial-2023") # «.pgtut» (to "pgtut") # «.commands_on_template1» (to "commands_on_template1") # «.postgres-git» (to "postgres-git") # «.eepitch-edrxdb» (to "eepitch-edrxdb") # «.pq» (to "pq") # «.libpq» (to "libpq") # «.libpq-upstream» (to "libpq-upstream") # «.postgres-upstream» (to "postgres-upstream") # «.testlibpq» (to "testlibpq") # «.gdb-ing-psql» (to "gdb-ing-psql") # «.psql-prefers-socket:log» (to "psql-prefers-socket:log") # «.allow-tcp-access» (to "allow-tcp-access") # «.plpgsql» (to "plpgsql") # «.luapsql» (to "luapsql") # «.squeeze» (to "squeeze") # «.emacs-libpq» (to "emacs-libpq") # «.emacs-libpq-vc-inst» (to "emacs-libpq-vc-inst") # (find-es "sql") ##### # # tutorial-2023 # 2023jan22 # ##### # «tutorial-2023» (to ".tutorial-2023") # (find-status "postgresql-13") # (find-vldifile "postgresql-13.list") # (find-udfile "postgresql-13/") # (find-fline "/usr/share/postgresql/13/") # (find-status "postgresql-client-13") # (find-vldifile "postgresql-client-13.list") # (find-udfile "postgresql-client-13/") # (find-fline "/usr/share/postgresql/13/man/man1/") # (find-fline "/usr/share/postgresql/13/man/man7/") # (find-status "postgresql-doc-13") # (find-vldifile "postgresql-doc-13.list") # (find-udfile "postgresql-doc-13/") # file:///usr/share/doc/postgresql-doc-13/html/index.html # file:///usr/share/doc/postgresql-doc-13/html/tutorial.html # file:///usr/share/doc/postgresql-doc-13/html/tutorial-createdb.html # file:///usr/share/doc/postgresql-doc-13/html/user-manag.html # file:///usr/share/doc/postgresql-doc-13/html/database-roles.html # https://www.postgresql.org/docs/current/tutorial.html # (find-sh "locate createdb") # (find-sh "locate -i postgres | grep -i tutorial") # (find-udfile "postgresql-doc-13/tutorial/") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) dropdb -e edrxdb sudo sudo -u postgres dropuser -e edrx sudo sudo -u postgres createuser -e --createdb edrx createdb -e edrxdb * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-man "1 psql") # (find-man "1 psql" "-d dbname" "--dbname=dbname") export PAGER=cat psql edrxdb help \h \? * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) export PAGER=cat psql edrxdb CREATE TABLE weather ( city varchar(80), temp_lo int, temp_hi int, prcp real, date date ); CREATE TABLE cities ( name varchar(80), location point ); INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27'); INSERT INTO cities VALUES ('San Francisco', '(-194.0, 53.0)'); INSERT INTO weather (city, temp_lo, temp_hi, prcp, date) VALUES ('San Francisco', 43, 57, 0.0, '1994-11-29'); INSERT INTO weather (date, city, temp_hi, temp_lo) VALUES ('1994-11-29', 'Hayward', 54, 37); \pset pager off SELECT * FROM weather; SELECT city, (temp_hi+temp_lo)/2 AS temp_avg, date FROM weather; \q ##### # # pgtut # 2023jan22 # ##### # «pgtut» (to ".pgtut") # (find-fline "/usr/share/doc/postgresql-doc-13/tutorial/") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -Rv ~/usrc/pgtut/ mkdir ~/usrc/pgtut/ cd /usr/share/doc/postgresql-doc-13/tutorial/ for i in *.source; do j=$(basename $i .source).sql echo $j col -x < $i >> ~/usrc/pgtut/$j done # (find-fline "~/usrc/pgtut/") # (code-c-d "pgtut0" "/usr/share/doc/postgresql-doc-13/tutorial/") # (code-c-d "pgtut" "~/usrc/pgtut/") # (find-pgtut0file "") # (find-pgtut0file "README") # (find-pgtut0file "README" "with the -s (single-step) flag") # (find-pgtut0file "complex.c") # (find-pgtut0file "funcs.c") # (find-pgtut0file "Makefile") # (find-pgtutfile "") # (find-pgtutfile "basics.sql") # (find-pgtutfile "funcs.sql") # (find-pgtutfile "complex.sql") # (find-pgtutfile "syscat.sql") # (find-pgtutfile "advanced.sql") # https://git.postgresql.org/gitweb/?p=postgresql.git;a=tree;f=src/tutorial * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) apti postgresql postgresql-client postgresql-doc # Success. You can now start the database server using: # # pg_ctlcluster 13 main start # (code-c-d "pgdoc" "/usr/share/doc/postgresql-doc/") # (code-c-d "pghtml" "/usr/share/doc/postgresql-doc/html/") # (code-c-d "pgtut" "/usr/share/doc/postgresql-doc/tutorial/") # (find-sh "apt-cache showsrc postgresql") ##### # # creating an dropping users and databases by commands on template1 # 2006jul10 # ##### # «commands_on_template1» (to ".commands_on_template1") * (eepitch-shell) sudo -u postgres psql template1 DROP DATABASE edrxdb; DROP USER edrx; CREATE USER edrx CREATEDB NOCREATEUSER; CREATE DATABASE edrxdb; \q # When PAGER is "less" or "more" we get this message in shell buffers: # WARNING: terminal is not fully functional # For some reason "PAGER=cat sudo -u postgres psql template1" doesn't # work, we need either the zsh 2-line solution or "\pset pager off". # (find-man "1 psql") * (eepitch-shell) sudo -u postgres zsh PAGER=cat psql template1 SELECT * FROM PG_DATABASE; \q exit; # exit "sudo -u postgres zsh" * (eepitch-shell) sudo -u postgres psql template1 \pset pager off SELECT * FROM PG_DATABASE; \q ##### # # Postgres from git # 2023jan23 # ##### # «postgres-git» (to ".postgres-git") # https://git.postgresql.org/gitweb/?p=postgresql.git # https://www.postgresql.org/download/ # https://git.postgresql.org/git/postgresql.git * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # rm -Rfv ~/bigsrc/postgresql/ cd ~/bigsrc/ git clone https://git.postgresql.org/git/postgresql.git cd ~/bigsrc/postgresql/ # Cloning into 'postgresql'... # remote: Enumerating objects: 20738, done. # remote: Counting objects: 100% (20738/20738), done. # remote: Compressing objects: 100% (9303/9303), done. # fetch-pack: unexpected disconnect while reading sideband packet # fatal: early EOF # fatal: index-pack failed export PAGER=cat git branch --list -a git for-each-ref git log --oneline --graph --all -20 # (find-fline "~/bigsrc/") # (find-fline "~/bigsrc/postgresql/") # (find-gitk "~/bigsrc/postgresql/") # (code-c-d "postgresql" "~/bigsrc/postgresql/") # (find-postgresqlfile "") ##### # # eepitch-edrxdb # 2006jul25 # ##### # «eepitch-edrxdb» (to ".eepitch-edrxdb") # (find-efile "progmodes/sql.el") # Note: this is not the right way to run psql in a comint buffer - it # doesn't understand prompts correctly, etc... sql.el probably knows # the right way. (defun eepitch-edrxdb () (interactive) (eepitch '(ee-with-pager-cat (find-comintprocess "psql edrxdb" "psql edrxdb")))) * (eepitch-edrxdb) * (eepitch-kill) * (eepitch-edrxdb) CREATE TABLE weather ( city varchar(80), temp_lo int, temp_hi int, prcp real, date date ); ##### # # some fossils # 2006jul10 # ##### # (find-fline "/etc/postgresql/postgresql.env") # (find-man "1 createdb") # (find-man "1 createuser") # (find-man "1 dropdb") # (find-man "1 dropuser") # (find-man "1 pg_dump") # (find-man "1 pg_dumpall") # (find-man "1 pg_restore") # (find-man "1 pg_wrapper") # (find-man "1 psql") # (find-man "1 vacuumdb") # (find-fline "/etc/postgresql/postmaster.conf") # (find-fline "/var/lib/postgres/data/") # (find-fline "/usr/lib/postgresql/share/pgaccess") * (eechannel-xterm "postgres") * (eechannel "postgres") sudo -u postgres zsh psql DROP USER edrx; DROP USER sudo -u postgres createuser -e --createdb --no-adduser edrx CREATE USER edrx CREATEDB NOCREATEUSER; sudo -u postgres dropuser -e edrx sudo -u postgres createuser -e --createdb --no-adduser edrx psql -d edrx ##### # # basic administrative commands: creating a user # 2005jan09 # ##### * (eechannel-xterm "postgres") * (eechannel "postgres") # At the start only the user "postgres" can do things. # The next commands are to be run by "postgres" user. # sudo -u postgres zsh # Dropping and recreating the user "edrx" - the easy way # (find-man "1 createuser") # (find-man "1 dropuser") # dropuser -e edrx createuser -e --createdb --no-adduser edrx # Basic psql usage: "\" commands # (find-man "1 psql") # PAGER=cat \ psql template1 \l \? \h -- \h * \h SELECT \q # Dropping and recreating the user "edrx" - the SQL way # psql template1 DROP USER edrx; CREATE USER edrx CREATEDB NOCREATEUSER; \q exit # Now that the user edrx exists... # (find-sh "psql -c '\\h *' template1") # (find-sh "psql -c '\\h *' template1" "CREATE USER") # (find-man "1 pg_dump") # (find-sh "pg_dump template1") # (find-man "1 dropdb") # (find-man "1 clusterdb") # (find-man "1 createdb") # (find-man "1 createuser") # (find-man "1 dropdb") # (find-man "1 dropuser") # (find-man "1 pg_dump") # (find-man "1 pg_dumpall") # (find-man "1 pg_restore") # (find-man "1 pg_wrapper") # (find-man "1 psql") # (find-man "1 vacuumdb") psql /home/edrx/e(edrx:pe)# sudo -u postgres zsh /home/edrx/e(postgres:pe)# psql psql (pg_wrapper): No database specified sudo -u postgres psql -c '\\l' template1 sudo -u postgres psql -c '\\?' template1 # (find-sh "sudo -u postgres psql -c '\\l' template1") # (find-sh "sudo -u postgres psql -c '\\?' template1") DROP USER edrx; DROP USER sudo -u postgres createuser -e --createdb --no-adduser edrx CREATE USER edrx CREATEDB NOCREATEUSER; DROP USER edrx; CREATE USER edrx CREATEDB NOCREATEUSER; ##### # # pq # 2024oct17 # ##### # «pq» (to ".pq") # (find-epackage-links 'pq) # (find-epackages 'pq) # (find-epackage 'pq) (setq *pq* (pq:connectdb "dbname=andreas")) (pq:query *pq* "select version()") (pq:query *pq* "create table local_variables(name text, value text)") (dolist (el (buffer-local-variables)) (pq:query *pq* "insert into local_variables values ($1, $2)" (car el) (cdr el))) (pq:query *pq* "select name, length(value) from local_variables where value ~ 'mode'") (["major-mode" 24] ["change-major-mode-hook" 86] ["hi-lock-mode-major-mode" 24] ["eldoc-mode-major-mode" 24] ["font-lock-major-mode" 24] ["font-lock-mode-major-mode" 24]) ##### # # libpq: calling postgres from C # 2006jun22 # ##### # «libpq» (to ".libpq") # (find-udfile "postgresql-doc/html/") # (find-udfile "postgresql-doc/html/" "libpq") # (find-udw3m "postgresql-doc/html/libpq.html") # (find-udw3m "postgresql-doc/html/libpq-example.html") # (find-udfile "postgresql-doc/libpq3/libpq/examples/") # (find-udfile "postgresql-doc/libpq3/libpq/examples/Makefile") # (find-udfile "postgresql-doc/libpq3/libpq/examples/testlibpq.c") # (find-udfile "postgresql-doc/libpq3/libpq/examples/testlibpq2.c") # (find-udfile "postgresql-doc/libpq3/libpq/examples/testlibpq2.sql") # (find-udfile "postgresql-doc/libpq3/libpq/examples/testlibpq3.c") # (find-udfile "postgresql-doc/libpq3/libpq/examples/testlibpq3.sql") # (find-udfile "postgresql-doc/libpq3/libpq/examples/testlibpq4.c") # (find-udfile "postgresql-doc/libpq3/libpq/examples/testlo.c") # (find-udfile "postgresql-doc/libpq3/libpq/examples/Makefile") # (find-udfile "postgresql-doc/") #* # Functions used in the examples: cd /usr/share/doc/postgresql-doc/libpq3/libpq/examples/ cat *.c | lua50 -e ' string.gsub(io.read("*a"), "([A-Za-z0-9_]+)", print) ' |& sort | uniq | tee /tmp/o grep '^P[GQ]' /tmp/o | tee /tmp/o2 # (find-fline "/tmp/o") # (find-fline "/tmp/o2") #* ##### # # libpq-examples: compiling and running from upstream # 2006jun26 # ##### # «libpq-upstream» (to ".libpq-upstream") # «postgres-upstream» (to ".postgres-upstream") # http://www.postgresql.org/ftp/source/v7.4.13/ # (code-c-d "pg" "~/usrc/postgresql-7.4.13/") # (code-c-d "pgex" "~/usrc/postgresql-7.4.13/src/test/examples/") #* rm -Rv ~/usrc/postgresql-7.4.13/ tar -C ~/usrc/ -xvzf ~/tmp/postgresql-7.4.13.tar.gz cd ~/usrc/postgresql-7.4.13/ find * -type f | sort > .files find * -type f -name '*.[ch]' | sort > .files.ch etags $(cat .files.ch) ./configure |& tee oc make |& tee om #* cd ~/usrc/postgresql-7.4.13/ cd ~/usrc/postgresql-7.4.13/src/test/examples/ make |& tee om #* cd ~/usrc/postgresql-7.4.13/doc/ mkdir html/ tar -C html/ -xvzf postgres.tar.gz #* # (find-pgfile "doc/html/") # (find-anggfile "usrc/postgresql-7.4.13/doc/") # (find-pgtag "PQexec") # (find-pgfile "") # (find-pgfile ".files") # (find-pgfile "src/backend/libpq/") # (find-pgexfile "") # (find-pgexfile "testlibpq.c") # (find-pgexfile "testlibpq2.c" "Start this program, then from psql") # (find-pgexfile "testlibpq2.sql") # (find-pgexfile "testlibpq3.c") # (find-pgfile "src/test/examples/") # (find-pgfile "src/test/examples/om") # (find-fline "~/tmp/") # (find-pgfile "GNUmakefile") # (find-pgfile "om") # (find-pgfile "") # «testlibpq» (to ".testlibpq") #* * (eepitch-shell) cd ~/usrc/postgresql-7.4.13/src/test/examples/ ./testlibpq dbname=template1 ./testlibpq dbname=edrxdb ./testlibpq ./testlibpq2 #* ##### # # running psql through gdb # 2006jul10 # ##### # «gdb-ing-psql» (to ".gdb-ing-psql") # (find-es "ruby" "mident-error-gdb-psql") # (find-pgfile "om" "-o psql") # (find-psqlfile "") # (find-psqlfile "Makefile") # (find-psqlfile "om") # (find-psqlfile "om-g") # (find-psqlfile "../../../src/Makefile.global") # Ppostgres compiles by default without -g, recompile psql # Here's a more standard way (I haven't tried it yet): # <AndrewSN> edrx: ./configure --enable-debug --enable-cassert if you # plan on debugging the backend # <edrx> hmm, thanks... I was just trying to recompile only psql using # CFLAGS=-g... # <AndrewSN> edrx: oh, probably don't need --enable-cassert then; but # you'll want libpq compiled with -g in that case too, not # just psql # <AndrewSN> edrx: --enable-debug is the way to get -g set though # <edrx> hmm, true #* cd ~/usrc/postgresql-7.4.13/ cd ~/usrc/postgresql-7.4.13/src/bin/psql/ make clean |& tee omc make |& tee om make clean make CFLAGS=-g |& tee om-g #* # (ee-once (eeb-psqlgdb-start "psql")) set args edrxdb br main run #* # I kind of aborted doing this, see the next block... ##### # # psql uses unix sockets by default, at /var/run/postgresql/ on Debian # 2006jul10 # ##### # «psql-prefers-socket:log» (to ".psql-prefers-socket:log") # <AndrewSN> edrx: note that "localhost" is not the same thing as not # specifying a hostname at all # <edrx> hmm, can you say more about that? # <AndrewSN> edrx: psql by default (and all libpq clients if no # hostname, not even localhost, is specified) will use the # unix-domain socket # <AndrewSN> edrx: access via the local socket is controlled by "local" # lines in pg_hba.conf # <edrx> how do I check if I have the unix-domain socket? # <edrx> is it a file - like a fifo? # <AndrewSN> edrx: however, if you explicitly specify "localhost" as the # host to connect to, then psql or libpq will connect via tcp # to 127.0.0.1 # <AndrewSN> edrx: it's an object in the filesystem, yes # <edrx> I don't have it at /tmp # <AndrewSN> edrx: some packaging systems put it in /var/run, but either # way note that the name starts with a . # <edrx> hmm, lemme try to ask psql to connect to localhost... # <edrx> my "ls" shows all files by default # <AndrewSN> edrx: the name is usually .s.PGSQL.5432 # <edrx> gaaah, silly me, it's there, at /var/run/postgresql/ # <AndrewSN> edrx: though the number changes if you use a non-default # port number # <edrx> (I'm using debian) # <AndrewSN> yeah, debian is one of those where the packager has imposed # his own philosophy where it conflicts with pg's own # <edrx> and I was so sure that psql was using tcp, just because the # socket wasn't at /tmp... # <edrx> I was just going to try to strace psql, but there's no need # anymore # <AndrewSN> using /var/run makes it harder to run multiple clusters # under different users # <edrx> thanks a lot 8-\ # (find-fline "/var/run/postgresql/") conn = PostgresPR::Connection.new('edrxdb', 'edrx', nil, 'unix:/var/run/postgresql/.s.PGSQL.5432') ##### # # allowing tcp access # 2006jul25 # ##### # «allow-tcp-access» (to ".allow-tcp-access") # (find-es "ruby" "postgres-pr-test") # (find-debpkg-links "postgresql") # (find-vldifile "postgresql.conffiles") # (find-fline "$ASROOT/etc/postgresql/pg_ident.conf") # (find-fline "$ASROOT/etc/postgresql/pg_hba.conf") # (find-fline "$ASROOT/etc/postgresql/pg_hba.conf" "# Trust localhost and Bernardo") # All IPv4 connections from localhost #host all all 127.0.0.1 255.255.255.255 ident sameuser # Trust localhost and Bernardo host all all 127.0.0.1 255.255.255.255 trust host all all 10.126.50.129 255.255.255.255 trust sudo /etc/init.d/postgresql restart ##### # # allowing plpgsql # 2006aug?? # ##### # «plpgsql» (to ".plpgsql") # (find-pgdocfile "") # (find-pgdocw3m "plpgsql.html") # (find-zsh "acse sql | sort") # (find-zsh "dmissing pgsql") # (find-es "postgres" "postgres-upstream") # (find-pgfile ".files" "src/pl/plpgsql/") # (find-pgfile "src/pl/plpgsql/src/INSTALL") # (find-pgfile "src/pl/plpgsql/src/INSTALL" "createlang plpgsql DBNAME") # (find-man "1 createlang") # (find-man "1 droplang") createlang -l edrxdb sudo -u postgres createlang plpgsql edrxdb createlang -l edrxdb ##### # # luapsql # 2011jan16 # ##### # «luapsql» (to ".luapsql") # http://code.google.com/p/luapsql/ # http://code.google.com/p/luapsql/downloads/list # http://luapsql.googlecode.com/files/luapsql-0.1-1.rockspec # (find-luarocks-links "luapsql" "{ver}" "{s}") # Install (from the internet): * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/usrc/luarocks/bin/ luarocks install $S/http/luapsql.googlecode.com/files/luapsql-0.1-1.rockspec \ |& tee oli-luapsql # Error: Could not find expected file libpq-fe.h for LIBPQ -- you may # have to install LIBPQ in your system and/or set the LIBPQ_DIR # variable # (find-zsh "availabledebs | sort | egrep 'postgres|pg' | grep dev") # (find-zsh "dmissing libpq-fe.h") # (find-status "libpq-dev") # (find-vldifile "libpq-dev.list") # (find-udfile "libpq-dev/") # (find-zsh "grep-available -i postgres") ##### # # PostgreSQL on Squeeze # 2011nov25 # ##### # «squeeze» (to ".squeeze") apti postgresql postgresql-client postgresql-doc # (find-status "postgresql") # (find-vldifile "postgresql.list") # (find-udfile "postgresql/") # (find-status "postgresql-8.4") # (find-vldifile "postgresql-8.4.list") # (find-udfile "postgresql-8.4/") # (find-status "postgresql-client") # (find-vldifile "postgresql-client.list") # (find-udfile "postgresql-client/") # (find-status "postgresql-client-8.4") # (find-vldifile "postgresql-client-8.4.list") # (find-udfile "postgresql-client-8.4/") # (find-status "postgresql-client-common") # (find-vldifile "postgresql-client-common.list") # (find-udfile "postgresql-client-common/") # (find-status "postgresql-common") # (find-vldifile "postgresql-common.list") # (find-udfile "postgresql-common/") # (find-status "postgresql-doc") # (find-vldifile "postgresql-doc.list") # (find-udfile "postgresql-doc/") # (find-status "postgresql-doc-8.4") # (find-vldifile "postgresql-doc-8.4.list") # (find-udfile "postgresql-doc-8.4/") https://news.ycombinator.com/item?id=33236780 Postgres 15 Merge Command with Examples (crunchydata.com) https://github.com/anse1/emacs-libpq An Emacs 25 module for accessing PostgreSQL via the libpq client library. https://news.ycombinator.com/item?id=34689143 The Design of Postgres (1986) [pdf] (dsf.berkeley.edu) https://dsf.berkeley.edu/papers/ERL-M85-95.pdf THE DESIGN OF POSTGRES - Michael Stonebraker and Lawrence A. Rowe https://www.se-radio.net/2013/12/episode-199-michael-stonebraker/ on current development in databases ##### # # emacs-libpq # 2024feb10 # ##### # «emacs-libpq» (to ".emacs-libpq") # https://github.com/anse1/emacs-libpq # https://github.com/anse1/emacs-libpq/blob/master/Makefile # (find-git-links "https://github.com/anse1/emacs-libpq" "emacslibpq") # (find-gitk "~/usrc/emacs-libpq/") # (code-c-d "emacslibpq" "~/usrc/emacs-libpq/") # (find-emacslibpqfile "") # (find-emacslibpqfile "README.org") # (find-emacslibpqfile "Makefile") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -Rfv ~/usrc/emacs-libpq/ cd ~/usrc/ git clone https://github.com/anse1/emacs-libpq cd ~/usrc/emacs-libpq/ THISEMACSDIR=$HOME/bigsrc/emacs30/src make -f Makefile \ EMACS=$THISEMACSDIR/emacs \ EMACS_SRC_DIR=$THISEMACSDIR \ EMACS_INCLUDE_DIR=$THISEMACSDIR \ all |& tee oma make -f Makefile \ EMACS=$THISEMACSDIR/emacs \ EMACS_SRC_DIR=$THISEMACSDIR \ EMACS_INCLUDE_DIR=$THISEMACSDIR \ check |& tee omc * (add-to-list 'load-path "~/usrc/emacs-libpq/") ** (find-elinks-elisp (mapcar 'ee-S load-path)) ** (find-evardescr 'load-path) * (require 'pq) ##### # # Installing emacs-libpq with package-vc-install (unreliable) # 2024feb10 # ##### # «emacs-libpq-vc-inst» (to ".emacs-libpq-vc-inst") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) sudo apt-get install libpq-dev * (package-vc-install "https://github.com/anse1/emacs-libpq") * (code-c-d "emacslibpq" "~/.emacs.d/elpa/emacs-libpq/") ** (find-emacslibpqfile "") # (find-epackage-links 'emacs-libpq) # (find-epackage-links 'emacs-libpq "emacslibpq" t) # (package-delete (ee-package-desc 'emacs-libpq)) # Low-level way: # (code-c-d "emacslibpq" "~/usrc/emacs-libpq/") # (find-emacslibpqfile "") # (find-emacslibpqfile "Makefile") # (find-emacslibpqfile "README.org") help: @echo EMACS_VERSION := $(EMACS_VERSION) @echo EMACS_MAJOR_VERSION := $(EMACS_MAJOR_VERSION) @echo EMACS_INCLUDE_DIR := $(EMACS_INCLUDE_DIR) @echo EMACS_SRC_DIR := $(EMACS_SRC_DIR) # See: (find-eepitch-intro "3.3. `eepitch-preprocess-line'") # (setq eepitch-preprocess-regexp "^") # (setq eepitch-preprocess-regexp "^#T ?") # #T * (eepitch-shell) #T * (eepitch-kill) #T * (eepitch-shell) #T make -f Makefile \ #T EMACS=$HOME/bigsrc/emacs30/src/emacs \ #T EMACS_INCLUDE_DIR=$HOME/bigsrc/emacs30/src \ #T EMACS_SRC_DIR=$HOME/bigsrc/emacs30/src \ #T check #T all #T help #T make -f Makefile help #T make -f Makefile TARGET # Local Variables: # coding: utf-8-unix # modes: (fundamental-mode emacs-lisp-mode) # End: