What’s with these pointless empty log files? And why does the csvlog mode create plaintext ones too?

I’ve been fighting for days now just to get god damn logging set up. I’ve had to write a ton of code manually because PG doesn’t provide any automated mechanism to do this, for some reason, nor even tells you anything, beyond this: https://www.postgresql.org/docs/12/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-CSVLOG

I have:

  1. Set up the postgres_log table exactly like it says on that page.
  2. Set up my postgresql.conf like this (also as it says on the page, except it only describes it vaguely and lets me find out everything on my own):
log_destination = 'csvlog' logging_collector = on log_directory = 'C:\pglogs' # Yes, I requires double \ chars or else it removes them entirely... log_filename = 'PG_%Y-%m-%d_%H;%M;%S' log_rotation_age = 1min log_rotation_size = 0 log_truncate_on_rotation = on 
  1. Coded my own mechanism to constantly go through C:\pglogs for any .csv file, skipping any ones that PG reports are already in use with pg_current_logfile, feed them into PG’s table and then delete the file. This took me a huge amount of time and effort and not a word about it was mentioned in that "manual".


  1. PostgreSQL creates both PG_2020-09-20_00;56;19.csv (in CSV format) and PG_2020-09-20_00;56;19 (in plaintext format) files. I obviously don’t want the extensionless files. Why are they created?
  2. Every minute (as specified) PG creates new log files, even if there’s nothing new to log. This results in an endless stream of empty log files (which my custom script goes through, "imports" and then deletes). How do I tell PG to stop doing that? It seems like pointless wear & tear on my disk to make empty files which are just deleted seconds later by my ever-running script.
  3. Why isn’t all of this automated? Why do I have to spend so much time to manually cobble together a solution to import the CSV files back into PG? In fact, why are they dumped to CSV files in the first place? Why doesn’t PG have the ability to directly log into that database table? It seems like a pointless exercise to dump CSV files which are only going to be COPYied back into the database and then deleted.

What’s the extent of things that a charmed creature would do for you under the effects of the *awakened* spell?

Unlike other charms, with awaken you can literally transform a beast or plant into higher-intelligence form of life. For example, an awakened tree gets to have intelligence like humans, limbs, ways to communicate and so on. It gives them freedom they never had.

Do they see the caster as their creator or something? If the caster asks the awakened tree to help in combat, or fight monsters as an ally, would they do it?

What’s the difference between Row Polymorphism and Structural Typing?

The definitions I’ve stumbled across seem to indicate they express the same idea. That’s that the relationship between record types is determined by their fields (or properties) rather than their names. Their Wikipedia pages also seem to indicate the same idea:

A structural type system (or property-based type system) is a major class of type system in which type compatibility and equivalence are determined by the type’s actual structure or definition and not by other characteristics such as its name or place of declaration.

In programming language type theory, row polymorphism is a kind of polymorphism that allows one to write programs that are polymorphic on record field types (also known as rows, hence row polymorphism).

Are there any differences between them?

What’s the difference between a jelly, a pudding, and other oozes?

Several types of named oozes exist in 5th edition, but the naming conventions are strange. Black puddings and ochre jellies exist, alongside simple grey oozes. Do these names signify anything? Obviously the color portion signifies the color of the ooze, but the second halves of the names are more ambiguous.

Since my searches within 5th edition have turned up nothing, previous editions’ lore is welcome.

What’s the internal language of the opposite of a Cartesian closed category?

I have heard the simply typed lambda calculus is the internal language of Cartesian closed categories.

What’s the internal language of the opposite type of category?

I have the intuition the opposite category would correspond to continuation passing style or pattern matching but the opposite typing rules seem very strange and hard to figure out.

What’s the security risk in password recovery attempts

Last days I’ve received multiple password recovery attempts for a WordPress user. The user didn’t initiate these attempts.

I’m blocking the IP’s on the server, but I don’t see what the goal of the attacker is. I checked the mails the user receives, and they contain a valid password reset link (so no phishing attempt).

So I don’t really understand what the attacker is trying to achieve with these password recovery requests. Or are they just checking for vulnerabilities on that page?